Нечёткий классификатор товаров

Drakon

Новичок
На сайте есть каталог товаров в основном из области одежды, обуви, аксессуаров, украшений, парфимерии. Все товары привязаны к внутреннему рубрикатору (около 1000 категорий, 5 уровней вложенности) - сейчас это сделано вручную. Товары приходят с других сайтов по различным схемам (типа парсеров, YML, менеджеры присылают в Excel).
Необходимо сделать автоматическую привязку товаров к более-менее подходящей категории и привязку к возрастному признаку (для мужчин, для женщин, для детей).
Какие вообще есть подходы для решения такой задачи?
 

Moisha

специалист по муравьям
Если есть теги, и категории - то можно по ним примерно. + По описанию обучить определятся. Муж и Жен - вполне не сложно определить по описанию - там это обычно есть всегда.
Возрастной признак тоже можно изловчится.

Но автоматический подход - в любом случае не является 100% методом. Скорее автоматика + ручной контроль.
 

Gas

может по одной?
хе-хе, мне бы тоже интересно было послушать как такое сделать.

Какие вообще есть подходы для решения такой задачи?
один из самых эффективных и дешёвых в реализации вы уже используете - "сейчас это сделано вручную"
 

Moisha

специалист по муравьям
Да совсем забыл ещё один простой метод - это парсинг этих же товаров на сайтах где указаны нужные параметры.
Правда не оч ясно - зачем это, если уже кто-то парсил ДО ВАС.
 

tz-lom

Продвинутый новичок
Наивный байесовский классификатор обучи
 

Drakon

Новичок
А вот в яндекс.маркет товары приходят совершенно в произвольной привязке к внутреннему рубрикатору сайта откуда товары... И в итоге это всё как-то привязывает автоматом к рубрикатору яндекс.маркета... Какие они алгоритмы используюТ?
 

Redjik

Джедай-мастер
в далеких мечтах, нейронная сеть + драйвер под пхп =)
 

Drakon

Новичок
Ну это слишком обще... В практике использования нейронных сетей есть много нюансов.
Вообще алгоритмов классификации очень много: http://www.dissercat.com/content/metody-i-algoritmy-adaptivnoi-nechetkoi-klassifikatsii-slozhnykh-obektov
1.2. Классификация методов распознавания.
1.2.1. Детерминистские методы.
1.2.2. Статистические методы.
1.2.3. Лингвистические методы.
1.2.4. Нейросетевые методы.
1.2.5. Методы с использованием теории нечетких множеств.
1.2.6. Другие методы распознавания.

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

PsiBG

Новичок
Задача еще актуальна? Я на днях для одного своего проектика сделал реализацию байесовского классификатора на PHP, можно попробовать использовать для товаров.
Самому любопытно, сработает ли. :)
 

Redjik

Джедай-мастер
Задача еще актуальна? Я на днях для одного своего проектика сделал реализацию байесовского классификатора на PHP, можно попробовать использовать для товаров.
Самому любопытно, сработает ли. :)
А можно как то посмотреть? =)
 

PsiBG

Новичок
https://github.com/bel-gleb/datamining/tree/master/_bayes
Пример использования в example.php - там он учится отличать "спам" от "хороших сообщений".
Еще пример - в auto_tour.php, там учится отличать новости про автомобили от новостей про туризм.

Сам алгоритм взят из этой книги.
Вкратце, как работает.
Классификатор оперирует документами (в виде наборов признаков) и категориями. Набор признаков - это массив данных, который характеризует документ. Например, для текста это может быть совокупность его слов (в идеале приведенных к основной форме и очищенных от мусора). Для товаров - название, производитель, описание (опять же разбитое на слова), прочие характеристики.
2 основных метода классификатора - train (обучение) и classify (классификация).
train() принимает массив с признаками документа и название категории, к которой, как нам известно, относится документ.
classify() принимает массив признаков и возвращает категорию, к которой классификатор отнёс документ.

Соответственно, создаем классификатор, тренируем на тестовом наборе данных, после чего пробуем классифицировать документы.

Классификаторов там два: наивный и по методу Фишера. Можно попробовать оба и сравнить, какой даст результаты лучше.
Для тонкой настройки можно рулить пороговыми значениями вероятностей, но начать можно и с дефолтными настройками.

Что стоит учитывать, по опыту:
- Важен хороший выбор признаков. Чем точнее они характеризуют конкретный документ, тем лучше.
- Лучше, если в разных категориях количество документов (и количество ключевых признаков, как мне кажется, но подробно не исследовал) будут как можно ближе друг к другу. Особенно для наивного классификатора.
 

Redjik

Джедай-мастер
Мне нравится, только я бы вынес драйвер бд, и у Classifier имплементил бы Интерфейс драйвера.
Бегло посмотрел - внимательнее дома гляну, может погоняю на тестовых магазиньчиках.
 

Shurik

Новичок
есть ли кроме приведенного решения (кстати рабочего) варианты?

очень нужен классификатор (рубрикатор) для большого количества категорий и товаров
 
Сверху