产品识别的字符串匹配算法

String matching algorithm for product recognition

真的不知道从哪里开始寻找合适的算法。

我正在构建一个 Web 应用程序,用于从 Amazon、Shopify 等不同的网上商店收集 schema.org 数据。它每 6 小时收集一次数据,并显示当前价格和最低价格。用于监控商品,以最低价格购买。

我的目标是将不同商店的产品识别为同一产品。每个商店对同一产品都有自己的标题。

示例:

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

问题:

  1. 没有很多数据(只有用户选择的产品)
  2. 需要支持应用程序没有数据历史记录的每个新产品

可能不是最好的解决方案,但也许您可以尝试推荐系统?更具体地说,您可以尝试 Item-Item Content-based 推荐系统。这个想法是从项目本身中提取特征(在你的案例中,项目意味着产品描述)。建立项目配置文件,它是项目的特征,可能是 tf-idf 重量或只是频率加权方案。在为每个项目构建这些功能后,您希望找到与给定项目最相似的项目。这可以使用一些相似性度量来完成,例如 cosine-distance 或 jaccard 距离。返回具有最高相似度分数的项目将意味着最相似的项目。最上面的可能是与给定输入产品相同的产品。

在尝试上述方法之前,只需为所有 item-item 对使用 cosine distance,方法是提供两个产品标题作为参数。阅读 this answer