Как стать автором
Обновить
132
0
Никита Сметанин @ntz

Пользователь

Отправить сообщение
Сложно сказать. Нужно проводить тестирование, сравнение, и, опять же, без участия человека сложно выяснить, насколько точным является результат. По примерам также нельзя объективно оценить качество.

Кроме того, меньше слов с одинаковым кодом — еще не значит лучше, так как в результат могут не попасть действительно похожие слова.

Одно ясно точно — будь NYSIIS наилучшим вариантом, не стали бы изобретать новые алгоритмы.
Если я не ошибаюсь, специализированных алгоритмов для этого нет. Однако, можно попытаться приспособить уже существующие алгоритмы к подсчету количества преобразований, необходимых для приведения одного слова ко второму, правда я не очень хорошо себе представляю, как это возможно за оптимальное время сделать.
Daitch-Mokotoff Soundex может сопоставлять одному слову несколько кодов, если возможно альтернативное произношение (такие альтернативы приведены в описании).
Вы немного путаете области — метод n-грамм (если говорить о подстроках фиксированной длины n) относится к нечеткому поиску, который обычно не затрагивает фонетических аспектов, и больше основывается на понятиях метрик (Левенштейна, например).

Кроме того, все представленные алгоритмы позволяют проводить индексирование по значению кода как по обычным словам, а индексирование в методе n-грамм — совершенной иной процесс.
В логике этих алгоритмов нет ничего сложного, и они легко реализуются в виде хранимых подпрограмм (или каких-либо других расширений) для большинства СУБД.

Вообще, не совсем понятно, почему во многих системах используется именно Soundex, ведь он по многим параметрам уступает остальным алгоритмом, тому же Metaphone, например. Да, его реализация немного проще, но это — ничто по сравнению с качеством результатов.

Информация

В рейтинге
Не участвует
Откуда
Екатеринбург, Свердловская обл., Россия
Дата рождения
Зарегистрирован
Активность