Подтвердить что ты не робот

Левенштейн дистанционные методы Vs Soundex

В соответствии с этим комментарием в соответствующем потоке, я хотел бы знать, почему методы, основанные на расстоянии, основанные на методе Левенштейна, лучше, чем Soundex.

4b9b3361

Ответ 1

Soundex довольно примитивен - он изначально был разработан для вычисления руки. В результате получается ключ, который можно сравнить.

Soundex хорошо работает с западными именами, поскольку он был первоначально разработан для данных переписи США. Он предназначен для фонетического сравнения.

Расстояние Левенштейна оценивается двумя значениями и дает значение, основанное на их сходстве. Он ищет отсутствующие или замещенные буквы.

В основном Soundex лучше найти, что "Шмидт" и "Смит" могут быть одной и той же фамилией.

Расстояние Левенштейна лучше для определения того, что пользователь ошибся "Левнштейн"; -)

Ответ 2

Я бы предложил использовать Metaphone, а не Soundex. Как уже отмечалось, Soundex был разработан в XIX веке для американских имен. Метафон даст вам некоторые результаты при проверке работы бедных заклинателей, которые "озвучивают", и написание фонетически.

Расстояние редактирования хорошее в том, чтобы ловить опечатки, такие как повторяющиеся буквы, транспонированные буквы или попадание неправильной клавиши.

Рассмотрите приложение, чтобы решить, какие из них будут лучше всего подходят вашим пользователям или использовать их вместе, вместе с Metaphone, дополняющими предложения, созданные Levenshtein.

Что касается исходного вопроса, я использовал n-grams успешно в приложениях поиска информации.

Ответ 3

Я согласен с вами в Daitch-Mokotoff, Soundex предвзято, потому что оригинальные американские переписчики хотели "американизированных" имен.

Может быть, пример разницы поможет:

Soundex добавляет значение в начале слова - на самом деле он учитывает только первые 4 фонетические звуки. Поэтому, пока "Шмидт" и "Смит" будут соответствовать "Смит" и "Умит", не будут.

Алгоритм Левенштейна был бы лучше для поиска опечаток - одна или две отсутствующие или замененные буквы создают высокую корреляцию, в то время как фонетическое воздействие этих недостающих букв менее важно.

Я не думаю, что это лучше, и я бы рассмотрел как алгоритм расстояния, так и фонетический, чтобы помочь пользователям правильно вводить введенные данные.

Ответ 4

@Keith:

Как я писал по другому вопросу, Дайч-Мокотов лучше для нас, европейцев (и я бы поспорил США).

Я также читал Wiki на Левенштейне. Но я не понимаю, почему (в реальной жизни) это лучше для пользователя, чем Soundex.