Показать сообщение отдельно
Старый 14.10.2010, 00:13   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,875 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Нечеткое сравнение строк
Здравствуйте.

Кто-нибудь делал функцию нечеткого сравнения строк ?

Суть проблемы : есть ряд записей в справочнике, у которых отличаются наименования перестановкой слов, пропуском знаков препинания и кавычек, пропуском некоторых слов и т.п. Хотелось бы поиметь некую строковую функцию, которая позволила бы определить что формально разные названия суть одно и то же.
Ну то есть понимала бы что строки
"ООО "Рога и копыта""
"Рога и копыта ООО"
"Рога и копыта, inc"
"Рога и копыта"
""Рога и копыта""
""Рога и копыта, ООО""

-реально одно и то же. Ну или могла бы дать какую-то меру близости двух строк друг к другу, чтобы мы могли понять что две строки это почти одно и то же или наоборот что они совсем разные и не могут соответствовать одному и тому же контрагенту.

Задача возникла при внедрении аксапты в филиале компании. Т.е. справочники контрагентов и номенклатур у нас похожи, но кодировка разная. При закачке справочников в аксапту появились дубликаты. Выверка по ИНН и артикулам не дает нужного результата, так как в справочниках предоставленных филиалом было много ошибок, неточностей и т.п. При любой спорной ситуации только человек по названию может определить являются ли 2 записи дублем или это разные сущности. Хотелось бы как-то облегчить людям труд по выверке справочников и сгруппировать записи которые с большой долей вероятности могут быть дублями одной и той же сущности.