Xpoint
   [напомнить пароль]

Неточный поиск, сравнение строк

Метки: [без меток]
2008-01-25 08:51:18 [обр] Nuclon(0/22)[досье]

Задача: нужно написать программу для сравнения прайс-листов нескольких фирм. Показывать позицию товара и цены на эту позицию от разных фирм.

Проблема: одна и та же позиция в прайс-листах раных фирм может быть написана несколько по-разному.

Вопрос: Какой вы модуль/алгоритм можете посоветовать для неточного сравнения? Вероятно, результат сравнения двух строк должен быть или в процентах совпадения или еще как-то.

Сейчас приглядываюсь на String::Trigram, но, может быть, есть лучшие, проверенные решения для такой задачи?

спустя 2 часа 12 минут [обр] Thirteensmay(0/157)[досье]

CPU INTEL C2D E6750
и
ПРОЦЕССОР INTEL Core 2 Duo S-775 (E6750) 2666MHz <OEM> (1333MHz/4MB, Dual-Core, Conroe, 65nm, EM64T, VT)
- Одно и тоже но совпадение 9%.

ЖЕСТКИЙ ДИСК WD SATA-II 120.0GB (7200rpm, 8Mb)
и
ЖЕСТКИЙ ДИСК WD SATA-II 320.0GB (7200rpm, 8Mb)
- Разные вещи но совпадение 98%

?

спустя 15 минут [обр] Nuclon(0/22)[досье]

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

кроме того - специфика прайс-листов - компакт-диски с фильмами. там настолько ярких примеров, как вы привели, не будет, я думаю :)

спустя 43 минуты [обр] Thirteensmay(0/157)[досье]
Тогда все просто. Приводим кодировки, регистр, обрезаем мусорные символы, дальше находим процент совпадения, проценты понятно как посчитать, а вот само совпадение, ну вот например: Алгоритм поиска совпадающих групп ;)
Powered by POEM™ Engine Copyright © 2002-2005