实在不知道该从哪里开始寻找合适的算法。
我正在开发一个网络应用程序,它从不同的网店(如亚马逊、Shopify等)收集schema.org数据。每6小时收集一次数据,并显示当前和最低价格。这用于监控产品并在最低价时购买。
我的目标是识别不同商店中的同一个产品。每个商店对同一产品都有自己的标题。
示例:
Google Pixel 2 64GB Clearly White (Unlocked) Smartphone Google Pixel 2 GSM/CDMA Google Unlocked (Clearly White, 64GB, US warranty)
问题:
- 数据量不多(只有用户选择的产品)
- 需要支持应用程序没有数据历史的新产品
回答:
这可能不是最佳解决方案,但你可以尝试使用推荐系统?更具体地说,你可以尝试基于项目的内容推荐系统。这个想法是从项目本身提取特征(在你的案例中,项目指的是产品描述)。建立项目档案,这些档案是项目的特征,可能是tf-idf权重或简单的频率加权方案。在为每个项目建立这些特征后,你想要找到与给定项目最相似的项目。这可以通过使用一些相似性度量方法来完成,比如余弦距离或杰卡德距离。返回最高相似度得分的项目意味着最相似的项目。可能排名第一的将是与给定输入产品相同的产品。
在尝试上述方法之前,只需简单地对所有项目对使用余弦距离
,通过提供两个产品标题作为参数。阅读这个答案