fonetyka kolońska
Klasa | Algorytm fonetyczny |
---|---|
Wydajność w najgorszym przypadku | NA) |
Najlepsza wydajność | NA) |
Średnia wydajność | NA) |
Złożoność przestrzeni w najgorszym przypadku | NA) |
Fonetyka kolońska (także Kölner Phonetik, proces koloński) to algorytm fonetyczny , który przypisuje wyrazom ciąg cyfr, kod fonetyczny. Celem tej procedury jest to, aby identycznie brzmiące słowa miały przypisany ten sam kod. Algorytm można wykorzystać do wyszukiwania podobieństw między słowami. Na przykład na liście nazw można znaleźć wpisy takie jak „Meier” pod inną pisownią, na przykład „Maier”, „Mayer” lub „Mayr”. Fonetyka kolońska jest powiązana z dobrze znanym Soundex , ale jest zoptymalizowana pod kątem języka niemieckiego. Algorytm został opublikowany w 1969 roku przez Hansa Joachima Postela.
metoda
Fonetyka kolońska dopasowuje każdą literę słowa do cyfry między „0” a „8”. Aby wybrać odpowiednią cyfrę, jako kontekst używana jest co najwyżej jedna sąsiednia litera. Niektóre zasady odnoszą się konkretnie do inicjałów słów. W ten sposób podobne dźwięki mają mieć przypisany ten sam kod. Na przykład litery „W” i „V” są zakodowane z liczbą „3”. Kod fonetyczny Wikipedii to „3412” (W=3, K=4, P=1 i D=2). W przeciwieństwie do kodu Soundex, długość kodów z metody fonetyki kolońskiej nie jest ograniczona.
Procedura
List | Kontekst | Kod |
---|---|---|
A, E, I, J, O, U, Y | 0 | |
H | - | |
B | 1 | |
P | nie przed H | |
D, T | nie przed C, S, Z | 2 |
F, V, W | 3 | |
P | przed H | |
G, K, Q | 4 | |
C | w dźwięku początkowym przed A, H, K, L, O, Q, R, U, X | |
przed A, H, K, O, Q, U, X oprócz S, Z | ||
X | nie po C, K, Q | 48 |
Ł | 5 | |
M, N | 6 | |
R | 7 | |
S, Z | 8 | |
C | po S, Z | |
w pozycji początkowej oprócz A, H, K, L, O, Q, R, U, X | ||
nie przed A, H, K, O, Q, U, X | ||
D, T | przed C, S, Z | |
X | po C, K, Q |
To, że dla litery „C” reguła „SC” ma pierwszeństwo przed regułą „CH”, zostało wzięte pod uwagę poprzez dodanie „oprócz S, Z” w wierszu 10 tabeli. Nie jest to wyraźnie wspomniane w oryginalnej publikacji, ale można to wywnioskować z podanych tam przykładów, np. dla „Breschnew” podany jest kod „17863”.
Małe litery są odpowiednio kodowane; wszystkie inne znaki (takie jak łączniki) są ignorowane. Dla umlautów Ę, Ö, Ü, a także ß, które nie są brane pod uwagę w tabeli przeliczeniowej, sama proponuje dopasować je do samogłosek (kod „0”) odpowiadających grupie S, Z (kod „ 8").
Przetwarzanie słowa odbywa się w trzech krokach:
- Koduj litera po literze od lewej do prawej zgodnie z tabelą konwersji.
- Usuń wszystkie cyfry występujące obok siebie więcej niż jeden raz.
- Usuń cały kod „0” z wyjątkiem początku.
Przykład
Nazwa Müller-Lüdenscheidt zostanie zakodowana w następujący sposób:
- Zakoduj każdą literę: 60550750206880022
- Zwiń wszystkie wielokrotne kolejne cyfry kodu: 6050750206802
- Usuń wszystkie cyfry „0”: 65752682
Literatura
Hans Joachim Postel: Die Kölner Phonetik. Ein Verfahren zur Identifizierung von Personennamen auf der Grundlage der Gestaltanalyse. w: IBM-Nachrichten, 19. Jahrgang, 1969, S. 925-931.
Zobacz też
Linki zewnętrzne
- Martin Wilz: Aspekte der Kodierung phonetischer Ęhnlichkeiten in deutschen Eigennamen (PDF-Datei; 502 kB). Magisterarbeit an der Philosophischen Fakultät der Universität zu Köln, 2005; enthält eine Implementierung in der Programmiersprache Perl.
- Maroš Kollár: Perl-Implementierung der Kölner Phonetik und ähnlicher Verfahren als free Software im CPAN (Comprehensive Perl Archive Network)
- Andy Theiler: PHP i Oracle PL/SQL-Implementierung der Kölner Phonetik
- Nicolas Zimmer: PHP-Implementation der Kölner Phonetik in einem Komentarz zum Eintrag soundex w PHP-Manual, 2008.