- Soundex
-
Soundex ist ein phonetischer Algorithmus zur Indizierung von Wörtern und Phrasen nach ihrem Klang in der englischen Sprache. Gleichklingende Wörter sollen dabei zu einer identischen Zeichenfolge kodiert werden.
Der Soundex-Algorithmus erbringt aber häufig auch für die Deutsche Sprache gute Ergebnisse.
Soundex wurde von Robert Russell und Margaret Odell für die Indizierung der Familiennamen der Volkszählung (Census) in den USA entwickelt und 1918 patentiert (US-Patent 1,261,167). Der Soundex-Code für ein Wort besteht aus seinem ersten Buchstaben, gefolgt von drei Ziffern, die die nach dem Anfangsbuchstaben folgenden Konsonanten des Wortes repräsentieren. Ähnliche Laute besitzen den gleichen Code (B, F, P und V werden z. B. alle mit der Ziffer „1“ codiert).
Inhaltsverzeichnis
Grundregeln
Jeder Soundex-Code besteht aus einem Buchstaben gefolgt von drei Ziffern, z. B. W-213 für Wikipedia. Hat das zu codierende Wort so viele Buchstaben, dass man mehr Ziffern erzeugen könnte, bricht man nach der dritten Ziffer ab. Hat das Wort zu wenige Buchstaben, füllt man die letzten Ziffern mit Nullen auf. Der asiatische Name Lee wird also als L-000 codiert.
Buchstabencodes
Ziffer Repräsentierte Buchstaben 1 B, F, P, V 2 C, G, J, K, Q, S, X, Z 3 D, T 4 L 5 M, N 6 R Die Vokale A, E, I, O und U und die Konsonanten H, W und Y sind ausser beim ersten Zeichen zu ignorieren. Erweiternd für die deutsche Sprache kann definiert werden: Die Umlaute Ä, Ö und Ü sind zu ignorieren, das „scharfe S“ ß wird wie das einfache S codiert.
Haben mehrere im originalen String aufeinanderfolgende Buchstaben den gleichen Soundex-Code, erscheint dieser im Ergebnis nur einmal, aus abfx wird also etwa A120 (a bleibt, weil erster Buchstabe, b und f ergeben beide den gleichen code 1, x ergibt 2, am Ende wird eine Null angehängt, um vier Zeichen zu erhalten).
Siehe auch: Metaphone, Miracode und Porter-Stemmer-Algorithmus
Kritik an dem Verfahren
Die Kritik bei der praktischen Anwendung des Soundex-Verfahrens konzentriert sich insbesondere auf zwei Punkte: Einerseits die Englischlastigkeit des Verfahrens, andererseits die sehr grobe Analyse.
Dennoch ist festzuhalten, dass es sich bei dem dargestellten Algorithmus wohl um den am häufigsten angewendeten zur phonetischen Suche handelt. Mit dazu beigetragen hat sicherlich, dass unter der Datenbank ORACLE bereits sehr früh ein entsprechender PL/SQL-Standardbefehl implementiert wurde.
Hinsichtlich der Problematik, dass sich das Verfahren sehr an der englischen Aussprache orientiert, wurden verschiedene Varianten, speziell auf andere Sprachen abgestimmt, entwickelt. So ist beispielsweise unter SAP neben dem Standard-soundex-Verfahren auch eine Variante als sogenanntes „Kölner Verfahren“ (oder auch „Kölner Phonetik“) für deutsche Belange implementiert.
Hinsichtlich des zweiten Kritikpunktes, der nur groben Analyse, hat sich in letzter Zeit das folgende Beispiel etabliert: Gemäß dem „soundex“-Verfahren sind die Begriffe „Britney Spears“ und „bewährten Superzicke“ phonetisch identisch:
Britney → BRTN → B635 bewährten → BRTN → B635 Spears → SPRS → S162 Superzicke → SPRZCK → S16222 → S162 Weblinks
- Understanding Classic SoundEx Algorithms, inkl. Online-Berechnung (englisch)
- Erklärung, Beispiele und Online-Berechnung für Daitch-Mokotoff- und DARA-Verfahren (englisch)
Wikimedia Foundation.