Функция Русский MetaPhone для 1С:Предприятия любой платформы и конфигурации

0. Поручик 4420 27.09.09 10:41 Сейчас в теме
Функция полезна для организации поиска информации в базе данных по нечёткому совпадению.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Арчибальд 2711 27.09.09 10:41 Сейчас в теме
2. JohnyDeath 297 28.09.09 09:57 Сейчас в теме
3. Поручик 4420 28.09.09 11:08 Сейчас в теме
(2) если вы про это http://infostart.ru/public/15765/, но я никогда не был любителем ВК.
4. JohnyDeath 297 28.09.09 11:32 Сейчас в теме
(3) я про ВК. по ссылке выше она используется. Также она используется не только мной. Все очень довольны. Если же нет желания использовать ВК, тогда ДА
5. Поручик 4420 28.09.09 11:38 Сейчас в теме
(4)
>>> Также она используется не только мной.
Знавал её ещё с клюшечных времён, так как тоже один или пару раз воспользовался, но потом по каким-то причинам отказался и забыл напрочь.
6. Sk0rp 114 21.10.09 11:36 Сейчас в теме
StrMatch использует алгоритмы MetaPhone
7. Поручик 4420 11.05.10 21:07 Сейчас в теме
К сожалению, ссылка http://www.kankowski.narod.ru/dev/metaphoneru.htm и сам сайт благополучно скончались. А жаль. Многие материалы там до сих пор были актуальными.
Есть мысль реанимировать статью «Как ваша фамилия», или Русский MetaPhone, сохранилась на диске. Стоит ли?
8. mikeA 1 13.05.10 14:11 Сейчас в теме
(7) Выкладывай, интересно будет прочитать.
Может быть есть ещё что-то на тему нечёткого поиска для ФИО?
9. Поручик 4420 13.05.10 14:16 Сейчас в теме
(8) Ну вот один отозвался. Хорошо, сегодня вывалю на своём сайте, да простит меня автор статьи.
11. Поручик 4420 14.05.10 00:39 Сейчас в теме
(8)
Ещё одна прикольная штука на тему нечёткого поиска. :D
Soundex на 1С: Предприятии

Сразу предупреждаю, тесты показали неожиданные результаты.
10. Поручик 4420 13.05.10 15:20 Сейчас в теме
12. mikeA 1 14.05.10 14:42 Сейчас в теме
Вот тогда до кучи функция для вычисления расстояния Левенштейна.
Взято отсюда.
Вроде бы больше похоже на правду - для Иванов и Иваноф метафон даёт разницу в два последних символа, расстояние Левенштейна единица.
Теперь осталось проверить как будет работать СписокПолнотекстовогоПоиска :)
Прикрепленные файлы:
levenshtein.txt
Поручик; +1 Ответить
13. Поручик 4420 14.05.10 17:47 Сейчас в теме
(12) Молодец!
О расстоянии Левенштейна думал раньше, руки не дошли.
Можно опубликую у себя? Только английские термины заменю на русские. Так гламурнее будет.

Кстати, ещё есть similar_text
http://ru2.php.net/manual/en/function.similar-text.php
Где бы найти описание алгоритма Оливера? Перетряхнул гугл, ничего внятного.
17. mikeA 1 18.05.10 14:52 Сейчас в теме
(13)
> Можно опубликую у себя?
Да без проблем.

Вот ещё материал: Sam's String Metrics - библиотека java, больше десятка подобных функций, с описанием.
19. Поручик 4420 18.05.10 16:54 Сейчас в теме
(17)
Кстати, твоё творчество здесь разместил.
14. Поручик 4420 14.05.10 18:18 Сейчас в теме
>>> Иванов и Иваноф, Васильев и Васильефф

Я бы сказал, логично что метафон в реализации Каньковского даёт различия, всё-таки окончание -оф, -еф для русских фамилий нехарактерно, скорее так напишут за бугром, причём с двумя -фф.
Хотя можно попробовать подправить алгоритм

[FIND]
Если (Врем = "ОВ") ИЛИ (Врем = "ЕВ") Тогда

[REPLACE WITH]

Если (Врем = "ОВ") ИЛИ (Врем = "ЕВ") ИЛИ (Врем = "ОФ")  ИЛИ (Врем = "ЕФ") Тогда
15. artbear 1186 15.05.10 07:19 Сейчас в теме
Данную задачу было бы интересно покрыть тестами для разных вариантов фамилий и звуковых сочетаний.
ИМХО это совсем несложно

Кстати, для имен, не фамилий, алгоритмы нормально работают?
16. Поручик 4420 15.05.10 16:00 Сейчас в теме
(15)
Были у меня подобные тесты в 2006 г, когда сливал данные из базы бухгалтерии и ИНЭК-Страховщика в одну на 1С Страхование или что-то в этом роде. Базы были примерно тысяч по 10 записей физлиц. Насколько помню, процент попадания для разных вариантов составил 90-95.
18. Поручик 4420 18.05.10 16:50 Сейчас в теме
Спасибо за ссылку, хотя цветовая гамма там аж глаза режет.
Это всё хорошо (библиотека), но вот формализованное или авторское описание алгоритма Оливера покоя не даёт :)))) Сырцы php смотрел, но в сях не особо силён.
20. KAV2 26.12.17 07:04 Сейчас в теме
По хорошему такое бы надо на уровне СУБД писать ((
Оставьте свое сообщение
Вопросы с вознаграждением