Алгоритм для классификации списка продуктов? Взять 2 - PullRequest
14 голосов
/ 13 апреля 2009

Я задал вопрос, похожий на этот вопрос пару недель назад, но я не правильно задал вопрос. Поэтому я переспрашиваю здесь вопрос с более подробной информацией, и я хотел бы получить более ориентированный на ИИ ответ.

У меня есть список товаров, которые более или менее совпадают. Например, в приведенном ниже списке это все жесткие диски Seagate.

  1. Жесткий диск Seagate 500Go
  2. Жесткий диск Seagate 120Go для ноутбука
  3. Seagate Barracuda 7200.12 ST3500418AS 500 ГБ, 7200 об / мин, жесткий диск SATA 3,0 Гбит / с
  4. Новый жесткий диск 500Go от Seagate
  5. Seagate Barracuda 7200.12
  6. Внешний жесткий диск Seagate FreeAgent, 500 ГБ, внешний жесткий диск, серебристый, 7200 об. / Мин, USB2.0, розничная торговля
  7. GE Spacemaker Laudry
  8. Mazda3 2010
  9. Mazda3 2009 2.3L

Для человека жесткие диски 3 и 5 одинаковы. Мы могли бы пойти немного дальше и предположить, что продукты 1, 3, 4 и 5 одинаковы и поместить в другие категории продукт 2 и 6.

В моем предыдущем вопросе кто-то предложил мне использовать функцию извлечения. Это работает очень хорошо, когда у нас есть небольшой набор данных с предопределенными описаниями (все жесткие диски), но как насчет других видов описания? Я не хочу начинать писать экстракторы функций на основе регулярных выражений для всех описаний, с которыми может столкнуться мое приложение, оно не масштабируется. Есть ли какой-нибудь алгоритм машинного обучения, который мог бы помочь мне достичь этого? Диапазон описания, который я могу получить, очень широк, в строке 1 это может быть холодильник, а затем на следующей строке жесткий диск. Должен ли я пойти по нейронной сети? Какими должны быть мои данные?

Спасибо за помощь!

Ответы [ 2 ]

9 голосов
/ 13 апреля 2009

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

8 голосов
/ 13 апреля 2009

Я бы посмотрел на некоторые методы байесовской классификации . Это будет включать в себя обучение классификатора распознаванию определенных слов, указывающих на вероятность того, что товар принадлежит одному из ваших классов. Например, пройдя обучение, он может признать, что если в описании продукта есть «Seagate», то вероятность того, что это жесткий диск с вероятностью 99%, составляет 97%, а у автомобиля - 97%. Слово «новый», вероятно, в конечном итоге не внесет большой вклад в какую-либо классификацию, и именно так вы хотите, чтобы оно работало.

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

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

...