Soundex vs. Levenshtein


Tatsächlich sind diese Algorithmen keine Alternative. Soundex beschreibt das Verfahren, das ähnlich phonetische Wörter vergleicht, wogegen Levenshtein eine Distanz zwischen zwei Strings berechnet.

Die Anwendung von Soundex besteht aus 2 Schritten: der Verschlüsselung des Strings und dem genauen Match dieser Kodierung.

Dieses Verfahren teilt alle Strings in Äquivalenz-Klassen, d.h. in separate Mengen von Wörtern. Deshalb kann man jedes Wort finden, das sich in der derselben Klasse befindet, aber kein Wort, das in einer „ähnlichen“ Klasse ist, oder genauer: der Soundex hat kein Konzept von „Nähe“.

Dagegen lässt der Levenshtein-Algorithmus eine kontinuierliche Bewertung der Ähnlichkeit zweier Wörter zu. Natürlich kostet das erheblichen Rechenaufwand, während der Soundex eine extrem schnelle Suche ermöglicht, indem einfach eine Hashtabelle generiert wird.

Bisher gelang nur der Firma Exorbyte eine hochperformante Implementierung des Levenshtein Algorithmus. Mit Exorbytes Software kann die Levenshtein Distanz auch bei Millionen von Wörtern innerhalb von Millisekunden berechnet werden. Dies erlaubt sogar interaktive Suchanwendung basierend auf Ajax.