|
|
|
| Нужно отыскать товары на совпадение...если есть такой товар то заносить id-шки в таблицу, если не точное совпадение, но похожее выводить человеку для определения точности! Какими функция можно сделать точное и приближенное сравнение? | |
|
|
|
|
|
|
|
для: xpom
(26.03.2011 в 20:37)
| | А какой критерий сравнения (или его нужно выработать)? И как устроены таблицы товаров? | |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 20:40)
| | но таблица товаров одна, нужно выработать критерий...но предполагаю, что это будет наименование товара...но наименование может быть написано по разному...например Intel Core 2 Duo и Socket 775 Intel 2 Duo
в зависимости от того, как будет загружено в прайсе магазинов..а каждый магазин пишет по своему...и нужно найти одинокавые товары...
или может посоветуете другие критерии поиска сходства товара? | |
|
|
|
|
|
|
|
для: xpom
(26.03.2011 в 21:00)
| | Понятно, для начала вероятно лучше найти полностью совпадающие товары, для этого можно воспользоваться оператором =. Потом можно использовать LIKE, потом полнотекстовый поиск, потом создавать правила преобразования, потом переходить к словарю и пытаться вычислять группы товаров частотными методами...
PS Однако, всех лучше будет если вы эту работу со временем сможете переложить на магазины, чтобы они свои прайсы подгоняли под вас, а не вы подстраивались под них. Конечно, это возможно лишь в том случае, если вы станете суперпопулярны и прайс-листы в вашем проекте начнут приносить прибыль магазинам. | |
|
|
|
|
|
|
|
для: xpom
(26.03.2011 в 20:37)
| | попробуй через LIKE | |
|
|
|
|
|
|
|
для: dirol
(26.03.2011 в 20:43)
| | но LIKE же выполняет точное сравнение..а приближенное? | |
|
|
|
|
|
|
|
для: xpom
(26.03.2011 в 21:14)
| | У LIKE есть маска %, обозначающая произвольное количество символов, окружив этими масками слово Intel вы найдете практически всю продукцию Intel, окружив "Core 2 Duo" вы найдете изрядную группу процессоров этого класса. | |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 21:18)
| | но к сожалению я не смогу определенно, брать и какие то части окружать..например слово...потому что это данные с прайс листа парсятся...
а по другому никак? | |
|
|
|
|
|
|
|
для: xpom
(26.03.2011 в 21:38)
| | Полностью автоматизировать это процесс достаточно сложно, пока не создан полноценный искусственный интелект следует прибегать к естественному (только для этого нужно разработать удобные инструменты, чтобы люди могли быстро и удобно составлять правила). Собственно со спамом тоже не просто бороться, но формула Байеса + кнопка "Это спам" со временем делают чудеса. | |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 21:48)
| | а как формула Байеса применяется в рнр? | |
|
|
|
|
|
|
|
для: xpom
(26.03.2011 в 22:25)
| | По разному, например, для вычисления спам-сообщений и обычных в почте и на форумах (это самое известное приложение). | |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 23:41)
| | спам то спамом...а с наименованием товара как найти сходство? Можно таким методом это сделать? | |
|
|
|
|
|
|
|
для: xpom
(26.03.2011 в 23:57)
| | Примерно тоже самое, строится большая база данных по признакам и по вашим прайсам (это похоже на это, а это не похоже на это), которая позволяет потом с высокой долей вероятности классифицировать новый товар. Правда новый прайс-лист может здорово выбиваться из системы наименований тех магазинов, по которым база набивалась, но не думаю, что это будет очень часто - все-таки пресса и литература жаргон и наименования достаточно быстро устаканивают, да и магазины заинтересованы в том, чтобы покупатели понимали о чем идет речь. | |
|
|
|
|
|
|
|
для: cheops
(27.03.2011 в 00:07)
| | а где ж мы такую базу возьмем???
А например поиск по сайту, работает не по такому принципу, когда выводит только те материалы, где совпали только отдельные слова? | |
|
|
|
|
|
|
|
для: xpom
(27.03.2011 в 14:50)
| | >а где ж мы такую базу возьмем???
Нарабатывайте, все равно же проблему решать придется. Если ваш сервис будет работать хотя бы год и у вас будут заняты люди на постоянной сортировке и улучшении базы данных - она у вас будет.
>А например поиск по сайту, работает не по такому принципу, когда выводит только те материалы,
>где совпали только отдельные слова?
Тут, как правило, используется полнотекстовый поиск - его тоже можно сделать элементом парсера, почем нет. | |
|
|
|
|
|
|
|
для: cheops
(27.03.2011 в 15:10)
| | а пока нет базы, будут проблемы с таким методом, это можно будет в дальнейшем такое сделать..
>Тут, как правило, используется полнотекстовый поиск - его тоже можно сделать элементом парсера, почем нет.
У меня тоже такая мысль пришла...а как осуществляется полнотекстовый поиск?
Елемент парсера разбить на отдельные слова, а потом искать эти слова в базе через Like? Или есть лучший способ? | |
|
|
|
|
|
|
|
для: xpom
(27.03.2011 в 15:47)
| | MySQL имеет встроенный механизм полнотекстового поиска, для этого поля нужно проиндексировать FULLTEXT-индексом и искать при помощи конструкции MATCH ... AGAINST(). | |
|
|
|
|
|
|
|
для: cheops
(27.03.2011 в 15:54)
| | А я где то читал, что если таблица с FULLTEXT-индексом, то замедляется работа выборки из этой таблицы базы данных, если будут тысячи строк в таблице с товарами, не станет база? | |
|
|
|
|
|
|
|
для: xpom
(27.03.2011 в 16:25)
| | Индексы хранятся в отдельном файле, запросы, которые этот индекс замедляться не будут, а запросы обращающиеся к полнотекстовому поиску без этого индекса работать не будут.
[поправлено модератором: ветка про индексы выделена в отдельную тему] | |
|
|
|