Soundex-Algorithmus: das Verfahren (aus Wikipedia)


Soundex ist ein phonetischer Algorithmus zur Indexierung von Wörtern und Phrasen nach ihrem Klang in der englischen Sprache. Gleichklingende Wörter sollen dabei zu einer identischen Zeichenfolge codiert werden.

Der Soundex-Algorithmus bringt aber häufig auch für die Deutsche Sprache gute Ergebnisse.

Soundex wurde von Russell 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

Jeder Soundex-Code besteht aus einem Buchstaben gefolgt von drei Ziffern, z.B. W-213 für Wikipedia. Hat das zu codierende Wort soviele Buchstaben, daß 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 0-en auf. Der asiatische Name Lee wird also als L-000 codiert.

Ziffer
Repräsentatierte 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, als auch die Konsonanten H, W und Y sind zu ignorieren, allerdings nicht an erster Stelle als führender Buchstabe. Erweiternd für die deutsche Sprache definiert man: Die Umlaute Ä, Ö und Ü sind zu ignorieren, das "scharfe S" ß wird wie das einfache S als 2 codiert.

Doppelte Buchstaben

Doppelte Buchstaben, wie in Kallbach sind wie ein einzelner Buchstabe zu betrachten.

• Kallbach wird daher zu K-412 (K -> K, A wird verworfen, L -> 4, 2. L wird verworfen, B -> 1, 2. A wird verworfen, C -> 2, Abbruch weil wir bereits 3 Ziffern haben).

Aufeinanderfolgende Buchstaben mit gleichem Soundex-Code

Werden wie gleiche Buchstaben behandelt.

• Hackelmeier wird daher zu H-245 (H -> H, A wird verworfen, C -> 2, K wird verworfen weil auch = 2, E wird verworfen, L -> 4, M -> 5, Abbruch weil wir bereits 3 Ziffern haben.

Namenszusätze

Namenszusätze können ignoriert werden, oder normal mitkodiert werden. Bei der Suche ist dies entsprechend zu berücksichtigen, d.h. es sind ggf. zwei Suchen durchzuführen.

• von Neumann wird einmal zu V-555 oder zu N-550 (beachte auch die folgende Regel)

Konsonantentrennung

Werden zwei Konsonanten mit dem gleichen Soundex-Code durch ein Vokal (oder Y) getrennt, so wird der rechte Konsonant NICHT verworfen. Ist allerdings ein H oder ein W das Trennzeichen, so wird der rechte Konsonant wie bei der Aufeinanderfolgende Buchstaben-Regel verworfen.