Строковый анализ

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
hiworder
Сообщения: 25
Зарегистрирован: 2013.09.17, 09:52

Строковый анализ

Сообщение hiworder »

В общем тема такая.
Делаю парсинг товаров с разных сайтов.
Например есть товар, и нужно найти самый дешевый среди нескольких магазинов. Ноутбук может быть записан в виде
"Ноутбук Acer Aspire E1-531G-20204G50Mnks NX.M58ER.007 (Intel Pentium 2020M 2.4 GHz/4096Mb/500Gb/DVD-RW/nVidia GeForce GT 710M 1024Mb/Wi-Fi/Cam/15.6/1366x768/Linux)"
в другом
"Acer Aspire E1-531G-20204G50Mnks" и т.д.
Вопрос: возможно-ли как-то определить одну модель на нескольких сайтах.
p.s. все описания, названия уже есть в базе. Нужно только определить
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: Строковый анализ

Сообщение Nafania »

Все зависит от того, насколько разные везде названия.
Можно вырезать лишнее для начала, например частые слова, все что в скобках итд итп.
Далее можно использовать функции сравнения строк типа levenstein, similar_text
hiworder
Сообщения: 25
Зарегистрирован: 2013.09.17, 09:52

Re: Строковый анализ

Сообщение hiworder »

Спасибо, неплохая идейка. А то я все за регулярки уцепился и в другую сторону не смотрю.
Аватара пользователя
nizsheanez
Сообщения: 814
Зарегистрирован: 2011.04.29, 13:09
Откуда: Москва

Re: Строковый анализ

Сообщение nizsheanez »

Можно попробовать использовать полнотекстовые поисковики типа sphinx, возможно это будет самым дешевым для вас решением поиска на строках, потому как левенштейнами вашу задачу решить врядли получится.
Думаю лучшее решение в данной ситуации полуавтоматическое - вы ищите по базе подходящие совпадения, а дальше человек нажимает какие совпадения верные какие нет. Если совпадение одно, думаю можно автоматически утверждать.
Ответить