Вопрос

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

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

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

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

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top