Frage

Ich versuche, ein Laut Erkenner zu modellieren, zu isolieren Instanzen von Wörtern (Strings von Telefonen) hat aus einem langen Strom von Telefonen, die keine Lücken zwischen den einzelnen Wörtern hat. Der Strom von Handys haben kann schlecht erkannt worden ist, mit dem Buchstaben Substitutionen / Einfügungen / Löschungen, so werde ich ungefähres String-Matching zu tun hat.

Allerdings möchte ich die passende klanglich-motiviert werden, z.B. „M“ und „n“ ist klanglich ähnlich, so dass die Kosten für die Substitution „m“ für „n“ sollten klein sein, im Vergleich zu sagen, „m“ und „k“. Also, wenn ich bin auf der Suche nach [mein] „main“, würde es die Buchstabenfolge übereinstimmen [meim] „verstümmeln“ mit, sagen wir, Kosten 0,1, während sie die Buchstabenfolge entsprechen würde [meik] „make“ mit, sagen wir kostete 0,7. Ebenso gibt es unterschiedlich Kosten für das Einfügen oder jeden Buchstaben zu löschen. Ich kann eine Konfusionsmatrix liefern, daß für jedes Buchstabenpaar (x, y) gibt die Kosten x mit y substituieren, wobei x und y einem beliebigen Buchstaben oder die leere Zeichenkette.

Ich weiß, dass es Werkzeuge zur Verfügung, das ungefähre Matching tun wie agrep, aber soweit ich das sagen kann, sie keine Verwirrung Matrix als Eingabe. Das heißt, die Kosten von jedem Einfügen / Substitution / Löschen = 1. Meine Frage ist, gibt es Open-Source-Tools bereits zur Verfügung, die ungefähren Übereinstimmungen mit Verwirrung Matrizen zu tun, und wenn nicht, was ist ein guter Algorithmus, dass ich dies zu erreichen, umsetzen kann?

EDIT: nur klar zu sein, ich versuche zu isolieren ungefähre Vorkommen eines Wortes wie [meine] von einer längeren Zeichenkette, zum Beispiel [Aiammeinlimeiking ...]. Idealerweise sollte der Algorithmus / Werkzeug-Instanzen wie [meine] berichtet, mit Kosten 0.0 (genaue Übereinstimmung), [meik] mit Kosten von 0,7 (in der Nähe von Spiel), usw., für all ungefähren Zeichenfolge Matches mit einem Preis unter einem bestimmten Schwellenwert liegt.

Keine korrekte Lösung

Andere Tipps

Ich bin nicht bekannt, dass Laut Erkenner, dass die Verwendung Verwirrung Matrizen. Ich weiß von Soundex und Spielbewertung .

Ich denke, dass der K-Nächster-Nachbar-Algorithmus für die Art nützlich sein könnte von Annäherungen sind Sie interessiert.

Peter Kleiweg Teppich / L04 (für Computational Dialektologie) enthält eine Implementierung von Levenshtein-Distanz, die Sie angeben, nicht einheitliche Einführung ermöglicht, Deletion und Substitution Kosten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top