> soundex | фонетика | fuzzy‑поиск <
// Soundex – фонетический алгоритм индексирования имён по звучанию
Основано на звучании
Кодирует имена по произношению, а не по написанию.
Нечёткое сопоставление
Находит похожие по звучанию имена даже при разной орфографии.
Генеалогия
Важный инструмент для генеалогических исследований и исторических архивов.
>> техническая информация
Как работает Soundex:
Soundex сохраняет первую букву и заменяет согласные цифрами в соответствии с фонетическими группами. Сходные по звучанию согласные получают одинаковый код, гласные игнорируются, а результат дополняется или обрезается до 4 символов (American) либо имеет переменную длину (Refined).
Правила кодирования:
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
Зачем использовать Soundex?:
- >Поиск и удаление дубликатов в БД
- >Генеалогические исследования
- >Анализ данных переписей
- >Сопоставление записей о клиентах
- >Исправление орфографических ошибок
>> Частые вопросы
Что такое Soundex?
Soundex — это фонетический алгоритм, запатентованный в 1918 году для индексирования имён по их звучанию. Он был разработан для переписи населения США, чтобы упростить поиск фамилий с похожей произношением при разном написании.
Чем отличается American от Refined Soundex?
American Soundex создаёт коды из четырёх символов (буква + 3 цифры). Refined Soundex (например, в SQL Server) использует более детальные соответствия и коды переменной длины, повышая точность сопоставления.
Почему разные написания могут иметь один и тот же код?
В этом и есть идея Soundex. Алгоритм группирует имена с похожим звучанием — например, Smith и Schmidt — чтобы проще находить вариации одного и того же имени в базе данных.
Каковы ограничения Soundex?
Soundex лучше всего работает с английскими именами. Для других языков точность может снижаться, а сильно отличающиеся написания одного и того же имени иногда получают разные коды.