Wie berechnet man die Ähnlichkeit der Buchstabenhäufigkeit?

8

Angesichts dieser Daten (relative Buchstabenhäufigkeit aus beiden Sprachen):

%Vor%

Und dann die Berechnung der Buchstabenhäufigkeit für die Zeichenfolge "das ist ein Test" gibt mir:

%Vor%

Also, was wäre ein guter Ansatz, um die angegebene Zeichenfolge Buchstabenhäufigkeit mit einer Sprache zu vergleichen (und versuchen, die Sprache zu erkennen)? Ich habe einige Beispiele mit levenshtein distance gesehen (und getestet) und es scheint gut zu funktionieren, bis Sie weitere Sprachen hinzufügen.

%Vor%     
Matías Insaurralde 29.03.2013, 19:38
quelle

3 Antworten

11

Haben Sie in Erwägung gezogen, die Kosinusähnlichkeit zu verwenden, um die Ähnlichkeit zwischen zwei Vektoren zu bestimmen?

Der erste Vektor wäre die aus der Testzeichenkette extrahierte Buchstabenhäufigkeit (zu klassifizieren), und der zweite Vektor wäre für eine bestimmte Sprache.

Sie extrahieren gerade einzelne Buchstabenfrequenzen (Unigramme). Ich würde vorschlagen, n-gramme zu extrahieren, wie zum Beispiel Bigramme oder Trigramme (und sogar größer, wenn Sie genug Training hatten Daten). Zum Beispiel würden Sie für Bigramme die Häufigkeiten von "aa", "ab", "ac" ... "zz" berechnen, was es Ihnen erlauben würde, mehr Informationen zu extrahieren, als wenn Sie nur einzelne Zeichenfrequenzen betrachten würden.

>

Sei aber vorsichtig, weil du mehr Trainingsdaten benötigst, wenn du N-Gramme höherer Ordnung benutzt, sonst hast du viele 0-Werte für Zeichenkombinationen, die du vorher noch nicht gesehen hast.

Darüber hinaus besteht eine zweite Möglichkeit darin, tf-idf (Terme-Frequenz-Inverse) zu verwenden -document-frequency) Gewichtungen anstelle von reinen Buchstaben (Term) Frequenzen.

Forschung

Hier ist eine gute Diashow auf Spracherkennung für (sehr) kurze Texte , die verwendet Machine Learning Classifiers (hat aber auch andere gute Informationen).

Hier ist ein kurzes Papier Ein Vergleich der Sprache Identifikationsansätze zu kurzen, abfrageartigen Texten , die Sie möglicherweise ebenfalls nützlich finden.

    
Wesley Baugh 29.03.2013, 20:57
quelle
1

Die Beispiele, die Sie gaben, bestanden jeweils aus einem kurzen Satz. Statistiken schreiben vor, dass, wenn Ihre Eingabe länger war (z. B. ein Absatz, die eindeutigen Häufigkeiten einfacher zu identifizieren sein sollten).

Wenn Sie sich nicht darauf verlassen können, dass der Benutzer eine längere Eingabe macht, suchen Sie vielleicht in der Sprache nach gebräuchlichen Wörtern (zB ist, wie, und, aber ...), wenn die Buchstabenhäufigkeiten übereinstimmen?

    
maditya 29.03.2013 19:49
quelle
1

n-Grafiken werden sicherlich mit kurzen Texten helfen und sehr hilfreich sein. Mit einem Text von angemessener Länge (ein Absatz?) Funktionieren einfache Buchstabenhäufigkeiten gut. Als Beispiel habe ich eine kurze Demo davon geschrieben, und Sie können die Quelle unter Ссылка

herunterladen

Es ist das letzte Beispiel auf der Seite.

    
George Flanagin 15.05.2013 17:54
quelle