Ich denke, die detailliertesten Antworten finden sich in Mehryar Mohris umfangreicher Arbeit zu diesem Thema. Hier ist ein Link zu einer seiner Vortragsfolien zum Thema: http://www.cims.nyu.edu/~mohri/amls/lecture_3.pdf
Das Problem der Spracherkennung ist, dass die menschliche Sprache (Wörter) eine Struktur hat. Im Englischen folgt der Buchstabe "u" zum Beispiel sehr häufig dem Buchstaben "q", während dies im transliterierten Arabisch nicht der Fall ist. n-Gramme erfassen diese Struktur. Daher sind bestimmte Buchstabenkombinationen in einigen Sprachen wahrscheinlicher als in anderen. Dies ist die Grundlage der n-Gramm-Klassifikation.
Bag-of-Words hingegen hängen davon ab, ob Sie ein großes Wörterbuch durchsuchen und im Wesentlichen Vorlagen abgleichen. Hier gibt es zwei Hauptnachteile: 1) Jede Sprache müsste über ein umfangreiches Wörterbuch verfügen, dessen Durchsuchung relativ lange dauern würde, und 2) Wortsäcke schlagen fehl, wenn keines der Wörter in der Datei enthalten ist Das Trainingsset ist im Test-Set enthalten.
Angenommen, Sie verwenden Bigramme (n = 2) und Ihr Alphabet enthält 26 Buchstaben, dann gibt es nur 26 ^ 2 = 676 mögliche Bigramme für dieses Alphabet, von denen viele niemals vorkommen werden. Daher benötigt das "Profil" (um die Wörter des Sprachdetektors zu verwenden) für jede Sprache eine sehr kleine Datenbank. Ein Wortsack-Klassifikator hingegen würde ein vollständiges Wörterbuch für JEDE Sprache benötigen, um zu gewährleisten, dass eine Sprache anhand des angegebenen Satzes erkannt werden kann.
Kurz gesagt: Jedes Sprachprofil kann mit einem relativ kleinen Funktionsbereich schnell erstellt werden. Interessanterweise funktionieren n-Gramm nur, weil Buchstaben nicht in einer Sprache gezeichnet werden - dies ist ausdrücklich eine Hebelwirkung.
Hinweis: Die allgemeine Gleichung für die Anzahl der n-Gramme für Wörter lautet l ^ n, wobei l die Anzahl der Buchstaben im Alphabet ist.
Buchstaben-N-Gramme werden aus mehreren Gründen anstelle von Wörtern verwendet:
1) Die Liste der Wörter, die für eine bestimmte Sprache benötigt werden, ist ziemlich groß, vielleicht 100.000, wenn Sie schnell, schneller, schneller, schneller, schneller, schneller, schneller, ... als alle verschiedenen Wörter betrachten. Für 80 Sprachen benötigen Sie etwa das 80-fache an Wörtern, was viel Platz einnimmt - über 50 Megabyte.
2) Die Anzahl der Buchstaben-Trigramme für ein Alphabet mit 26 Buchstaben beträgt 26 ** 3 oder ungefähr 17.000 und für Quadgramme (N = 4) ungefähr 450.000, die ALLE Sprachen abdecken, die dieses Alphabet verwenden. Ähnliche, aber etwas größere Zahlen für N-Gramme in größeren Buchstaben von 30-100 Zeichen. Für die CJK-Sprachen mit mehr als 4000 Buchstaben im Han-Skript sind Unigramme (N = 1) ausreichend. Für einige Unicode-Skripte gibt es nur eine Sprache pro Skript (Griechisch, Armenisch), sodass keine Buchstabenkombinationen erforderlich sind (sogenannte Null-Gramm-Werte N = 0).
3) Bei Wörtern haben Sie überhaupt keine Informationen, wenn Sie ein Wort außerhalb des Wörterbuchs eingeben, während Sie bei Buchstaben-N-Gramm häufig mindestens einige nützliche Buchstabenkombinationen innerhalb dieses Wortes haben.
CLD2 verwendet Quadgramme für die meisten Unicode-Skripte (Alphabete), einschließlich Latein, Kyrillisch und Arabisch, Unigramme für die CJK-Skripte, Nullgramme für andere Skripte und enthält außerdem eine begrenzte Anzahl von ziemlich unterscheidbaren und ziemlich häufigen vollständigen Wörtern und Wortpaaren zur Unterscheidung in schwierigen Gruppen statistisch ähnlicher Sprachen wie Indonesisch und Malaiisch. Buchstabenbigramme und Trigramme sind möglicherweise hilfreich, um zwischen einer kleinen Anzahl von Sprachen zu unterscheiden (ungefähr acht, siehe https://docs.google.com/document/d/1NtErs467Ub4yklEfK0C9AYef06G_1_9NHL5dPuKIH7k/edit), sind aber für die Unterscheidung von Dutzenden von Sprachen unbrauchbar. Daher verwendet CLD2 Quadgramme und ordnet jeder Buchstabenkombination die drei wahrscheinlichsten Sprachen zu, die diese Kombination verwenden. Auf diese Weise können 80 Sprachen mit ca. 1,5 MB Tabellen und 160 Sprachen mit ca. 5 MB Tabellen ausführlicher behandelt werden.
quelle