产品识别的字符串匹配算法
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)
问题:
- 没有很多数据(只有用户选择的产品)
- 需要支持应用程序没有数据历史记录的每个新产品
可能不是最好的解决方案,但也许您可以尝试推荐系统?更具体地说,您可以尝试 Item-Item Content-based 推荐系统。这个想法是从项目本身中提取特征(在你的案例中,项目意味着产品描述)。建立项目配置文件,它是项目的特征,可能是 tf-idf 重量或只是频率加权方案。在为每个项目构建这些功能后,您希望找到与给定项目最相似的项目。这可以使用一些相似性度量来完成,例如 cosine-distance 或 jaccard 距离。返回具有最高相似度分数的项目将意味着最相似的项目。最上面的可能是与给定输入产品相同的产品。
在尝试上述方法之前,只需为所有 item-item 对使用 cosine distance
,方法是提供两个产品标题作为参数。阅读 this answer
真的不知道从哪里开始寻找合适的算法。
我正在构建一个 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)
问题:
- 没有很多数据(只有用户选择的产品)
- 需要支持应用程序没有数据历史记录的每个新产品
可能不是最好的解决方案,但也许您可以尝试推荐系统?更具体地说,您可以尝试 Item-Item Content-based 推荐系统。这个想法是从项目本身中提取特征(在你的案例中,项目意味着产品描述)。建立项目配置文件,它是项目的特征,可能是 tf-idf 重量或只是频率加权方案。在为每个项目构建这些功能后,您希望找到与给定项目最相似的项目。这可以使用一些相似性度量来完成,例如 cosine-distance 或 jaccard 距离。返回具有最高相似度分数的项目将意味着最相似的项目。最上面的可能是与给定输入产品相同的产品。
在尝试上述方法之前,只需为所有 item-item 对使用 cosine distance
,方法是提供两个产品标题作为参数。阅读 this answer