Kölns fonetik
Klass | Fonetisk algoritm |
---|---|
Prestanda i värsta fall | PÅ) |
Bästa möjliga prestanda | PÅ) |
Genomsnittlig prestanda | PÅ) |
Värsta tänkbara rymdkomplexitet | PÅ) |
Kölns fonetik (även Kölner Phonetik, Kölnprocessen) är en fonetisk algoritm som tilldelar ord en sekvens av siffror, den fonetiska koden. Syftet med denna procedur är att identiskt klingande ord har samma kod tilldelad. Algoritmen kan användas för att utföra en likhetssökning mellan ord. Till exempel är det möjligt i en namnlista att hitta poster som "Meier" under olika stavningar som "Maier", "Mayer" eller "Mayr". Kölns fonetik är relaterad till den välkända Soundex fonetiska algoritmen men är optimerad för att matcha det tyska språket. Algoritmen publicerades 1969 av Hans Joachim Postel.
Metod
Kölns fonetik matchar varje bokstav i ett ord med en siffra mellan "0" och "8". För att välja rätt siffra används högst en intilliggande bokstav som sammanhang. Vissa regler gäller specifikt för initialerna på ord. På detta sätt är det meningen att liknande ljud ska tilldelas samma kod. Bokstäverna "W" och "V" till exempel, är båda kodade med siffran "3". Den fonetiska koden för "Wikipedia" är "3412" (W=3, K=4, P=1 och D=2). Till skillnad från Soundex-koden är längden på koderna från Kölns fonetikmetoden inte begränsad.
Procedur
Brev | Sammanhang | Koda |
---|---|---|
A, E, I, J, O, U, Y | 0 | |
H | - | |
B | 1 | |
P | inte före H | |
D, T | inte före C, S, Z | 2 |
F, V, W | 3 | |
P | före H | |
G, K, Q | 4 | |
C | i initialljudet före A, H, K, L, O, Q, R, U, X | |
före A, H, K, O, Q, U, X förutom efter S, Z | ||
X | inte efter C, K, Q | 48 |
L | 5 | |
M, N | 6 | |
R | 7 | |
S, Z | 8 | |
C | efter S, Z | |
i utgångsläge utom före A, H, K, L, O, Q, R, U, X | ||
inte före A, H, K, O, Q, U, X | ||
D, T | före C, S, Z | |
X | efter C, K, Q |
Att för bokstaven "C" har regeln "SC" prioritet framför regeln "CH" togs hänsyn till genom tillägget av " förutom efter S, Z" på rad 10 i tabellen. Detta nämns inte uttryckligen i den ursprungliga publikationen men kan härledas från exemplen som listas där, t.ex. för "Breschnew" anges koden "17863".
Små bokstäver kodas därefter; alla andra tecken (som bindestreck) ignoreras. För omljuden Ä, Ö, Ü, såväl som ß, som inte tas med i omvandlingstabellen, föreslår den sig själv att matcha dem med vokalerna (kod "0") respektive gruppen S, Z (kod " 8").
Bearbetning av ett ord sker i tre steg:
- Koda bokstav för bokstav från vänster till höger enligt omvandlingstabellen.
- Ta bort alla siffror som förekommer mer än en gång bredvid varandra.
- Ta bort all kod "0" utom i början.
Exempel
Namnet Müller-Lüdenscheidt kommer att kodas enligt följande:
- Koda varje bokstav: 60550750206880022
- Komprimering av alla flera på varandra följande kodsiffror: 6050750206802
- Ta bort alla "0"-siffror: 65752682
Litteratur
Hans Joachim Postel: Die Kölner Phonetik. Ein Verfahren zur Identifizierung von Personennamen auf der Grundlage der Gestaltanalyse. i: IBM-Nachrichten, 19. Jahrgang, 1969, S. 925-931.
Se även
externa länkar
- 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; innehåller en Implementierung in der Programmiersprache Perl.
- Maroš Kollár: Perl-Implementierung der Kölner Phonetik och ähnlicher Verfahren as freeie Software im CPAN (Comprehensive Perl Archive Network)
- Andy Theiler: PHP och Oracle PL/SQL-implementering av Kölner Phonetik
- Nicolas Zimmer: PHP-Implementation der Kölner Phonetik in en kommentar till Eintrag soundex im PHP-Manual, 2008.