Алгоритм сопоставления строк для распознавания продуктов - PullRequest
0 голосов
/ 12 мая 2019

На самом деле не знаю, с чего начать поиск правильного алгоритма.

Я создаю веб-приложение, которое собирает schema.org данные из различных интернет-магазинов, таких как Amazon, Shopify и т. Д. Оно собирает данные каждые 6 часов и показывает текущую и минимальную цену. Он используется для мониторинга продуктов и покупки по самой низкой цене.

Моя цель - распознавать товары из разных магазинов как один и тот же товар. Каждый магазин имеет собственное название для одного и того же товара.

Пример:

Google Pixel 2 64GB Clearly White (Unlocked) Smartphone 
Google Pixel 2 GSM/CDMA Google Unlocked (Clearly White, 64GB, US warranty) 

Проблемы:

  1. не много данных (только продукты, выбранные пользователем)
  2. необходимо поддерживать каждый новый продукт, для которого приложение не имеет истории данных

1 Ответ

0 голосов
/ 13 мая 2019

Возможно, это не лучшее решение, но, возможно, вы можете попробовать рекомендующую систему? Более конкретно, вы можете попробовать Item-Item Content-based систему рекомендаций. Идея состоит в том, чтобы извлечь элементы из самих элементов (элементы в вашем случае означают описание продукта). Создаются профили элементов, которые представляют собой элементы для элемента, которые могут быть весом tf-idf или просто схемой взвешивания по частоте. После создания этих функций для каждого элемента вы хотите найти наиболее похожие элементы для данного элемента. Это может быть сделано с использованием некоторой меры сходства, такой как косинусное расстояние или расстояние по Джакарде. Предметы, возвращенные с наивысшим показателем сходства, будут означать большинство похожих предметов. Вероятно, верхний будет того же продукта, что и данный продукт ввода.

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

...