2016-08-12 1 views
-1

Es gibt viele populäre Algorithmen, um englische Wörter zu einer Zeichenkette entsprechend ihrer Aussprache zu kodieren. Beispielsweise sind Soundex-Codes Vier-Zeichen-Strings, die aus einem einzelnen Buchstaben bestehen, gefolgt von drei Zahlen.Wie wird der Ähnlichkeitswert zwischen englischen Wörtern entsprechend ihrer Aussprache berechnet?

Gibt es eine effiziente Möglichkeit, einen Ähnlichkeitswert zwischen 0 und 1 zu berechnen?

+2

Beachten Sie, dass soundex _codes_ speziell für Namen, nicht zufällige Wörter gedacht sind. Durch das Speichern des ersten Buchstabens verlieren Sie eine Ähnlichkeitsgruppe. Wenn die Länge auf 4 festgelegt wird, werden kurze und lange Wörter künstlich identisch. Es basiert auch auf einem überholten Sprachverständnis. – MSalters

Antwort

4

Eine Möglichkeit wäre die Verwendung einiger Editierdistanzen, zum Beispiel die Levinshtein distance, aber nicht das tatsächliche Wort, aber seine Darstellung in soundex oder phonetic representation. Der Wert könnte entsprechend der Länge der Eingabe normalisiert werden.

1

Soundex kann Ihnen nur sagen, wenn zwei Wörter gleich ausgesprochen werden, aber die Ähnlichkeit zwischen zwei Wörtern nicht berechnen können.

Metaphone3 (die viel besser als Soundex führt) hat eine Result Ranking Algorithm. Quellcode für 40 US-Dollar erhältlich (zusätzlich zu den 240 US-Dollar/260 US-Dollar zahlen Sie den Metaphone-Quellcode selbst).

Obwohl Open-Source-Versionen von Metaphone3 may be found online sind, ist das Ergebnis-Ranking nur im Handel erhältlich.

Ich glaube nicht, dass Sie etwas besseres finden werden.

0

metaphone3 ist im Paket mit dem Ranking-Algorithmus für 260 € erhältlich. Die kostenlose Version von Metaphone3 in der Verbindung ist eine ältere Version von 2010. Die aktuelle Version kommerziell erhältlich ist von 2015

Verwandte Themen