Часть 1, Часть 2
В настоящее врея компьютеры содержат огромное количество данных. Однако извлечение текстовой информации затрудняется когда написано с ошибками или когда неточно известно.
Эта статья посвящена алгоритмам приблизительного сравнения строк текста. Она даёт упрощенное но ясное описание алгоритмов с примерами.
Во-первых, мы собираемся объяснить процедуры конструирующие фонетические коды для искомого текста, который звучит одинаково, но пишется по-разному. Во-вторых, мы объясним процедуры дающие разные типы метрика похожести текста, используемые в поиске позволяющем ошибки. В заключении, алгоритмы сравниваются, чтобы читатель смог выбрать наиболее подходящий. Смотрите также ресурсы в конце статьи.
Прошу посылать комментарии и вопросы по адресу: alexandre.rodichevski@chiappani.it.
Обсуждаемые здесь процедуры используются для облегчения поиска в базах данных, когда известно, как текст проиносится, но не как пишется. Для этого конструируются фонетические коды для искомого текста, в то время как база данных предварительно индексируется используя эти коды. Фамилии, которые звучит одинаково, но пишутся по-разному, как SMITH и SMYTH, имеют одинаковый код и могут помещаться рядом. Использование фонетических кодов уменьшает проблемы поиска из-за неправильного или разного написания.
Фонетическое кодирование очень полезно для объединения перечней личных имён или имён предприятий. Оно также используется для опознавания речи и в поисковыых системах баз данных таких как анти-террористических.
Саундэкс (Soundex) конструирует фонетические коды для личных имён. Результирующий код состоит из одной буквы и трёх цифр, каждая из которых соответствует 6 согласным звукам. Алгоритм впервые был применён в переписи США в 1880 году.
В 1985 году новый алгоритм Саундэкс Дэйча-Мокотоффа (Daitch-Mokotoff Soundex) было применён для фонетического кодирования фамилий славянских и идиш с похожим произношением но разным написанием. Наиболее важные улучшения по сравнению с Саундэкс: более длинный код - 6 символов; производятся два разных кода когда возможны два разных произношения; кодирование использует 10 цифр от 0 к 9.
Система идентификации и сведений штата Нью-Йорк (NYSIIS - New York State Identification and Intelligence System) была разработана в 1970 году посредством строгого эпирического анализа. В этом алгоритме конструируется фонетический код до 6 букв.
Алгоритм Метафон (Metaphone) фонетически кодирует слова путем уменьшения их до 16 согласных звуков: B, X, S, K, J, T, F, H, L, M, N, P, R, 0, W, Y. Ноль представляет звук "th"; X представляет "sh".
Двойной метафон (Double metaphone) - улучшенный вариант Метафона. Этот алгоритм фонетически кодирует слова путем уменьшения их до 12 согласных звуков. Оно возвращает два кода если слово имеет два возможных произношения.
Алгоритм фонетического сравнения Каверфон (Caverphone) был создан в рамках Кавершамского проекте в университете Отаго в Новой Зеландии в 2002 году. Алгоритм позволяет акценты присутствующие в изучаемой зоне (южная часть города Дунедин, Новой Зеландия).
Новая версия Каверфон 2.0 была предложена для более общего фонетического сравнения.
Алгоритмы приблизительного сравнения текста
Часть 1, Часть 2