> soundex | foniczny | fuzzy <
// Soundex – algorytm foniczny do indeksowania nazwisk według brzmienia
Oparte na brzmieniu
Koduje nazwiska na podstawie wymowy, a nie pisowni.
Dopasowanie rozmyte
Odnajduje nazwiska o podobnym brzmieniu mimo różnic w zapisie.
Genealogia
Niezbędne narzędzie do badań genealogicznych i archiwów historycznych.
>> informacje techniczne
Jak działa Soundex:
Soundex zachowuje pierwszą literę i zastępuje spółgłoski cyframi według grup fonicznych. Spółgłoski o podobnym brzmieniu mają ten sam numer, samogłoski są ignorowane, a wynik jest dopełniany lub skracany do 4 znaków (American) lub ma zmienną długość (Refined).
Reguły kodowania:
1 = B,F,P,V 2 = C,G,J,K,Q,S,X,Z 3 = D,T 4 = L 5 = M,N 6 = R Robert → R163 Rupert → R163 Rubin → R150
Dlaczego warto używać Soundex?:
- >Usuwanie duplikatów w bazach danych
- >Badania genealogiczne
- >Analiza danych spisów ludności
- >Dopasowywanie klientów/rekordów
- >Korekta pisowni
>> najczęstsze pytania
Czym jest Soundex?
Soundex to foniczny algorytm opracowany w 1918 roku do indeksowania nazwisk według ich brzmienia. Został stworzony na potrzeby spisu ludności w USA, aby łatwiej znajdować nazwiska o podobnej wymowie mimo różnej pisowni.
American vs Refined Soundex?
American Soundex generuje kody złożone z 4 znaków (litera + 3 cyfry). Refined Soundex (np. w SQL Server) używa bardziej szczegółowych mapowań i kodów o zmiennej długości, dzięki czemu dopasowanie jest dokładniejsze.
Dlaczego różne pisownie mają ten sam kod?
Taki jest cel Soundex. Algorytm grupuje nazwiska, które brzmią podobnie – np. Smith i Schmidt – aby łatwiej było znaleźć warianty tego samego nazwiska w bazie danych.
Jakie są ograniczenia Soundex?
Soundex najlepiej sprawdza się dla nazw angielskich. Dla innych języków jakość może być niższa, a znacznie różniące się zapisy tego samego nazwiska mogą dawać odmienne kody.
// Krótka ściąga
| Digit | Letters |
|---|---|
| 1 | B F P V |
| 2 | C G J K Q S X Z |
| 3 | D T |
| 4 | L |
| 5 | M N |
| 6 | R |
| — | A E I O U Y H W (skipped) |
// Przykłady kodu
1. Keep the first letter. 2. Replace the other letters with digits (table above). 3. Drop vowels and Y; H and W are skipped (letters on both sides of H/W with the same code collapse into one digit). 4. Collapse adjacent identical digits. 5. Pad with 0 or truncate to letter + 3 digits. Robert -> R163 Rupert -> R163 Rubin -> R150 Ashcraft -> A261 Tymczak -> T522 Pfister -> P236
>> Więcej pytań
P: Dlaczego Robert i Rupert mają ten sam kod Soundex?
O: Oba zaczynają się na R i są kodowane grupami spółgłosek: B/P → 1, R → 6, T → 3 daje R163. Soundex grupuje podobnie brzmiące spółgłoski, więc warianty zapisu tego samego imienia często się zgadzają.
P: Jak Soundex traktuje H i W?
O: H i W są pomijane i nie rozdzielają: jeśli spółgłoski po obu stronach mają ten sam kod, liczą się jako jeden dźwięk. Dlatego Ashcraft daje A261, nie A226. Samogłoski rozdzielają.
P: Jakie są ograniczenia Soundex?
O: Zaprojektowano go dla nazwisk angielskich (patenty Russella i Odella z 1918/1922) i ignoruje brzmienie po pierwszej literze. Imiona z inną pierwszą literą, np. Catherine i Katherine, nie pasują.