应该使用哪种模型/技术来比较超市产品名称

我有一个包含超市产品项目的数据库(包括名称、描述、价格、库存等)。

我想在这些超市之间进行价格比较,但为此我需要知道超市A和B是否指的是同一个产品。

例如,我发现超市A有一个名为Leche Evaporada GLORIA Azul Paquete 6un Lata 400g的产品,而超市B有一个名为Leche Evaporada Gloria Azul Pack 6 Unid x 400 g的产品,这些指的是同一个产品。

我指出我将需要对这些情况进行语义比较。我对这类问题是新手,所以我真的不知道什么是最好的解决方案,以免低估问题或过度处理它。

我目前正在做的事情效果不是很好:

  1. 我只使用产品名称。
  2. 从这些产品名称中删除停用词。
  3. 将句子转换为单词数组。
  4. 获取每个单词的频率。
  5. 如果一个单词的频率<=1,则删除它。
  6. 用这些单词创建一个字典(词袋),我将用它来将一个单词数组(转换的句子)映射到一个特征向量上。
  7. 然后我用所有特征向量“训练”一个TFIDF模型。
  8. 进行比较(结果不佳)。

我使用Python作为编程语言,并使用gensim来创建模型、字典(词袋)和进行比较。

编辑:其他例子:

Leche Fresca UHT GLORIA Entera Bolsa 946ml == Leche Entera UHT Gloria Bolsa 946 mlYogurt Griego Gloria con Miel y Granola Vaso 115 g == Yogurt Griego GLORIA Batido con Miel Vaso 115gLeche sin Lactosa GLORIA Mocaccino Botella 330ml == Shake Mocaccino UHT Gloria Frasco 330 ml.

回答:

我认为解决这个问题的有效方法是根据相似度分数来比较产品。例如,我会使用Jaro-Winkler距离来比较两个产品描述,如果描述匹配到定义的阈值,我会比较价格。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注