:?: Сравнение слов

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: :?: Сравнение слов

Hup » 19 сен 2004, 05:33

AiK. я тут немного покапался в Инете и нашел :)
Блин, вот за это я и уважаю этот форум!!! Всегда дельные советы

AiK » 19 сен 2004, 02:54

Hup, во многих языках программирования (даже в SQL :) ), есть аналоги функции soundex которая возвращает один и тот же ключ для одинаково звучащих, но по-разному записываемых слов. Т.е. Питроф и Петров должны давать один и тот же ключ. Старики бают, что алгоритм этой функции описан в трёхтомнике Кнута.

З.Ы: soundex('Knuth') == soundex('Kant') :)

Hup » 19 сен 2004, 02:41

LanDyx, в принципе дельный совет. Я пожалуй так и поступлю, СПАСИБО.
severin, неа не пойдет...
1. Программа не может знать правильного слова
2. С вероятностью в 50% далеко не уедешь.
... Это такой прикол есть, когда читаешь книгу заменяй все запятые на слово боком, а точки раком. Также и с твоим алгоритмом, получится буквенная каша

severin » 17 сен 2004, 20:50

А еще можно задать созвучные буквы как знаки соответствующие на 50% - Б- П, В - Ф, Е - И... ИМХО, задача простенькая как раз тот случай, когда лучше быть писателем, чем читателем.

LanDyx » 17 сен 2004, 20:30

Сравнивай какой-то процент слова. Например:
Петров и Питроф совпадают на 5/7 ~ 74%

Для фамилий:
Создай список фамилий, и сравнивай данную так со всеми в списке. При совпадении на 100% понятно.
Если один вариант больше 70% то это она.
Если несколько примерно похожих по проценту, то можно спосить у пользователя. Если совпадения меньше 40% процентов то предложи удостовериться в правильности и после этого добавь в базу.
(Цифры процентов и варианты поведения взяты от балды, их можно поподбирать)

:?: Сравнение слов

Hup » 17 сен 2004, 13:09

Я так понимаю проблема должна быть распостраненной.
Нужно сравнить два слова... Т.е. два созвучных слова(в моем случае это Фамилии)
Например...
:arrow: Пертов и Питроф - они одинаковы, но написаны с грубыми ошибками

Вернуться к началу