Soundex

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Soundex-Algorithmus

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).

Grundregeln[Bearbeiten]

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[Bearbeiten]

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 außer 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).

Bei der praktischen Anwendung des Soundex-Verfahrens werden hauptsächlich zwei Punkte kritisiert: Zum einen ist es sehr auf die englische Sprache ausgerichtet, zum anderen bietet es nur eine 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 für die Datenbank Oracle bereits sehr früh ein entsprechender PL/SQL-Standardbefehl implementiert wurde.

Es wurden später verschiedene Varianten speziell für andere Sprachen entwickelt. So ist beispielsweise unter SAP neben dem Standard-soundex-Verfahren auch das sogenannte „Kölner Verfahren“ (oder auch „Kölner Phonetik“) für deutsche Belange implementiert.

In letzter Zeit hat sich das folgende Beispiel als Demonstration der sehr groben Analyse 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

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]