Система рекомендаций на основе НЛП
Вступление
Каждый веб-сайт электронной коммерции работает с системой рекомендаций, чтобы предоставить клиенту лучшие рекомендации о том, что они могут быть готовы купить. В этой статье рассказывается, как с помощью 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 для повторного использования в моделях в дальнейшей части этого проекта.
Текстовое сходство продуктов
Во-первых, определены несколько функций для отображения рекомендуемых продуктов в виде тепловых карт и графиков.
Данный блок кода рассказывает об используемых в нем служебных функциях.
Теперь для текстовой системы рекомендаций определены три разные модели.
- Мешок слов.
- Частота термина - обратная частота документа
- Частота обратного документа
Мешок слов
Модель набора слов - это упрощенное представление, используемое при обработке естественного языка и поиске информации (IR). В этой модели текст (например, предложение или документ) представлен как мешок (мультимножество) его слов без учета грамматики и даже порядка слов, но с сохранением множественности.
Евклидово расстояние вычисляется между записями данных, которые ранее были преобразованы в векторизатор счета.
Первоначально выбирается случайный продукт, как показано на рисунке ниже. В эту статью включены 3 рекомендации, которые можно легко объяснить здесь.
Исходя из названия продукта, принимается во внимание евклидово расстояние, и ниже рекомендуются 3 продукта. Если внимательно присмотреться к изображениям, можно увидеть, что товары похожи.
Для более лучших результатов используется модель TF-IDF.
Частота термина - обратная частота документа
TF-IDF означает «Частота термина - обратная частота документа». Это метод количественной оценки слова в документах, мы обычно вычисляем вес для каждого слова, который означает важность слова в документе и корпусе. Этот метод широко используется в поиске информации и интеллектуальном анализе текста.
Для отображения рекомендованных продуктов в качестве основного используется тот же продукт, который использовался в BoW.
Рекомендации этого продукта показаны на рисунке ниже. Видно, что эти рекомендации более уместны по сравнению с предыдущими.
Частота обратного документа
Проще говоря, это мера редкости термина. Концептуально мы начинаем с измерения частоты документов. Поскольку векторизация IDF занимает много времени, я удалил записи, в которых отсутствовала информация о цвете, бренде и цене. После этого также выполняется дедупликация с полем 3 для лучших результатов. Эти более обработанные данные состоят из 28 тыс. Записей и могут использоваться в рекомендациях на основе семантики текста, которые будут обсуждаться в следующей части.
По мере того, как данные обрабатываются, в качестве базового продукта устанавливается другой продукт, как показано на рисунке ниже.
Рекомендации, основанные на этой модели, приведены ниже. Хотя рекомендации не кажутся более подходящими, но вектор, сформированный в этой модели, будет в дальнейшем использоваться в семантике текста.
Сходство продукта на основе семантики текста
Ниже приведены служебные функции для определения сходства продуктов на основе семантики текста.
В этом разделе применяются две модели - Среднее Word2Vec и Word2Vec в зависимости от марки и цвета.
Среднее Word2Vec
Встраивание слов - одно из самых популярных представлений словаря документов. Он способен улавливать контекст слова в документе, семантическое и синтаксическое сходство, связь с другими словами и т. Д.
Модель word2vec, используемая в этом проекте, уже указана в папке данных, так как для создания нашей собственной модели требуется много данных.
Продукт, используемый в качестве базового продукта в модели IDF, также используется здесь для создания рекомендаций.
Можно заметить, что эти рекомендации более подходят по сравнению со всеми другими моделями.
Word2Vec на основе бренда и цвета
Как мы знаем, в бизнес-модели продукты одного бренда не даются в качестве рекомендаций, а другие продукты отображаются. Эта модель дает веса названиям и брендам / цветам, которые устанавливаются на 10 и 5 для получения результатов.
Базовый продукт выбирается так же, как в IDF и средней модели Word2Vec.
Рекомендации более уместны и, следовательно, подходят для правильной бизнес-модели.
Заключение и дальнейшая работа
Таким образом, наблюдается, что с точки зрения бизнеса модель Word2vec, основанная на бренде и цветах, более полезна для предоставления рекомендаций на веб-сайте электронной коммерции.
В будущем для продуктов смешанного типа можно будет использовать больше данных, а также можно будет использовать изображения и нейронные сети, чтобы давать рекомендации на основе изображений.
Библиография
- Данные - https://drive.google.com/drive/folders/1K_BSjfQjZdHhy9qtQdGi032egY8sPJD5?usp=sharing
- Блокнот Colab - https://colab.research.google.com/drive/15fGpnn-Ke2Ip5udQBjSQvlbCxWe7fh9l?usp=sharing
- Github - https://github.com/sakshamchecker/AmazonProductRecommendation
- Https://www.sas.com/en_us/insights/analytics/what-is-natural-language-processing-nlp.html
- Https://realpython.com/nltk-nlp-python/
- Https://en.wikipedia.org/wiki/Bag-of-words_model
- Https://towardsdatascience.com/tf-idf-for-document-ranking-from-scratch-in-python-on-real-world-dataset-796d339a4089
- Https://towardsdatascience.com/introduction-to-word-embedding-and-word2vec-652d0c2060fa