Система рекомендаций на основе НЛП

Вступление

Каждый веб-сайт электронной коммерции работает с системой рекомендаций, чтобы предоставить клиенту лучшие рекомендации о том, что они могут быть готовы купить. В этой статье рассказывается, как с помощью Natural Language Processing можно рекомендовать продукты для клиентов. Модели протестированы на предмет модной продукции. Проект также представлен как завершение курса CO102 в Делийском технологическом университете.

Обработка естественного языка (NLP) -

Это ветвь искусственного интеллекта, которая помогает компьютерам понимать, интерпретировать человеческий язык и манипулировать им. НЛП опирается на многие дисциплины, включая информатику и компьютерную лингвистику, в своем стремлении заполнить пробел между человеческим общением и компьютерным пониманием.

Знание набора данных

Набор данных содержит более 180 тысяч модных товаров женщин, которые были извлечены с помощью API продуктов Amazon с помощью AppliedAI. Таким образом, данные находятся в открытом доступе на этом веб-сайте. Таким образом, данные обрабатываются и используются для применения моделей НЛП. Данные изначально имеют 19 характеристик. из этих 19 функций мы будем использовать только 6 на этом семинаре. 1. asin (стандартный идентификационный номер Amazon) 2. марка (марка, которой принадлежит продукт) 3. цвет (информация о цвете одежды, она может содержать много цветов в качестве значения, например: красные и черные полосы) 4. product_type_name (type аппликации, например: РУБАШКА / ФУТБОЛКА) 5. medium_image_url (url изображения) 6. title (название продукта.) 7. formatted_price (цена продукта)

Также удаляются записи данных с размером заголовка менее 4, чтобы в заголовке было много слов для обработки естественного языка.

Дедупликация данных

У 180 тыс. Записей данных есть заголовки с похожими заголовками. Поскольку покупатели не хотят, чтобы одни и те же товары показывались как рекомендуемые при просмотре одного из них. Таким образом, процесс исключения дубликатов завершен. В этом процессе, если количество слов, в которых различаются обе строки, составляет ›2, мы рассматриваем это как разные предметы одежды. Если количество слов, в которых различаются обе строки, равно ‹2, мы считаем, что эти две одежды одинаковы, поэтому мы их игнорируем.

Аналогичный алгоритм, но с сохранением запаса 3, также может быть реализован для лучших результатов, но не выполняется, потому что алгоритм имеет временную сложность O (n²) и требует много ресурсов для исключения дублирования.

После дедупликации остается 151 тыс. Записей данных с сохранением поля 2 в заголовках. Затем данные берутся для дальнейшей предварительной обработки.

Предварительная обработка данных

Для предварительной обработки данных данные очищаются путем удаления стоп-слов.

Стоп-слова удаляются при первой загрузке списка из NLTK или Natural language Toolkit. Многие данные, которые вы могли бы анализировать, являются неструктурированными данными и содержат читаемый человеком текст. Прежде чем вы сможете программно анализировать эти данные, вам сначала нужно их обработать.

Очищенные данные сохраняются в виде файла pickle для повторного использования в моделях в дальнейшей части этого проекта.

Текстовое сходство продуктов

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

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

Теперь для текстовой системы рекомендаций определены три разные модели.

  1. Мешок слов.
  2. Частота термина - обратная частота документа
  3. Частота обратного документа

Мешок слов

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

Евклидово расстояние вычисляется между записями данных, которые ранее были преобразованы в векторизатор счета.

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

Исходя из названия продукта, принимается во внимание евклидово расстояние, и ниже рекомендуются 3 продукта. Если внимательно присмотреться к изображениям, можно увидеть, что товары похожи.

Для более лучших результатов используется модель TF-IDF.

Частота термина - обратная частота документа

TF-IDF означает «Частота термина - обратная частота документа». Это метод количественной оценки слова в документах, мы обычно вычисляем вес для каждого слова, который означает важность слова в документе и корпусе. Этот метод широко используется в поиске информации и интеллектуальном анализе текста.

Для отображения рекомендованных продуктов в качестве основного используется тот же продукт, который использовался в BoW.

Рекомендации этого продукта показаны на рисунке ниже. Видно, что эти рекомендации более уместны по сравнению с предыдущими.

Частота обратного документа

Проще говоря, это мера редкости термина. Концептуально мы начинаем с измерения частоты документов. Поскольку векторизация IDF занимает много времени, я удалил записи, в которых отсутствовала информация о цвете, бренде и цене. После этого также выполняется дедупликация с полем 3 для лучших результатов. Эти более обработанные данные состоят из 28 тыс. Записей и могут использоваться в рекомендациях на основе семантики текста, которые будут обсуждаться в следующей части.

По мере того, как данные обрабатываются, в качестве базового продукта устанавливается другой продукт, как показано на рисунке ниже.

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

Сходство продукта на основе семантики текста

Ниже приведены служебные функции для определения сходства продуктов на основе семантики текста.

В этом разделе применяются две модели - Среднее Word2Vec и Word2Vec в зависимости от марки и цвета.

Среднее Word2Vec

Встраивание слов - одно из самых популярных представлений словаря документов. Он способен улавливать контекст слова в документе, семантическое и синтаксическое сходство, связь с другими словами и т. Д.

Модель word2vec, используемая в этом проекте, уже указана в папке данных, так как для создания нашей собственной модели требуется много данных.

Продукт, используемый в качестве базового продукта в модели IDF, также используется здесь для создания рекомендаций.

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

Word2Vec на основе бренда и цвета

Как мы знаем, в бизнес-модели продукты одного бренда не даются в качестве рекомендаций, а другие продукты отображаются. Эта модель дает веса названиям и брендам / цветам, которые устанавливаются на 10 и 5 для получения результатов.

Базовый продукт выбирается так же, как в IDF и средней модели Word2Vec.

Рекомендации более уместны и, следовательно, подходят для правильной бизнес-модели.

Заключение и дальнейшая работа

Таким образом, наблюдается, что с точки зрения бизнеса модель Word2vec, основанная на бренде и цветах, более полезна для предоставления рекомендаций на веб-сайте электронной коммерции.

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

Библиография

  1. Данные - https://drive.google.com/drive/folders/1K_BSjfQjZdHhy9qtQdGi032egY8sPJD5?usp=sharing
  2. Блокнот Colab - https://colab.research.google.com/drive/15fGpnn-Ke2Ip5udQBjSQvlbCxWe7fh9l?usp=sharing
  3. Github - https://github.com/sakshamchecker/AmazonProductRecommendation
  4. Https://www.sas.com/en_us/insights/analytics/what-is-natural-language-processing-nlp.html
  5. Https://realpython.com/nltk-nlp-python/
  6. Https://en.wikipedia.org/wiki/Bag-of-words_model
  7. Https://towardsdatascience.com/tf-idf-for-document-ranking-from-scratch-in-python-on-real-world-dataset-796d339a4089
  8. Https://towardsdatascience.com/introduction-to-word-embedding-and-word2vec-652d0c2060fa