如何匹配Amazon / CJ / Linkshare产品

时间:2013-07-05 11:23:28

标签: amazon-web-services matching string-matching levenshtein-distance jaro-winkler

我需要使用亚马逊创建数据库,佣金交汇处和链接共享API&数据馈送,然后匹配相同的产品,以创建产品信息的比较。 我的问题与匹配过程有关。 我首先通过SKU / UPC / ASIN匹配产品,但由于许多产品不包含此信息,因此效果不佳。 我做了一些研究,我找到的最流行的技术是:

- 通过TF-IDF测量余弦相似性

- 测量编辑距离/ levenshtein / Jaro-Winkler

在这项技术中,我使用了余弦相似度和Jaro-Winkler

我如何进行匹配:

第1步:预处理

将字符串转换为普通形式的预处理: 小写 过滤停用词(new,by,...) 剥去空白 用一个空格字符替换所有空格出现次数

第2步,建立索引:

将Solr核心中的亚马逊产品[核心A]和CJ / Linkshare [核心B]归入另一个核心。索引的目标是限制字符串比较的数量(通过TF-IDF和Jaro-Winkler)

第3步,匹配:

  1. 我首先从核心B检索产品标题,在核心A中使用此标题进行solr搜索并获得前30个结果。
  2. 我通过TF-IDF测量我想要匹配的产品(查询)和solr搜索检索到的30个结果之间的相似性。我保持产品的相似性> 80%
  3. 按字母顺序对每个产品的标记进行排序。然后将转换后的字符串与Jaro Winkler距离进行比较,并保持产品的相似性> 80%(==>这表示短语之间的Jaro Winkler相似性)
  4. 在这里,我将两个字符串标记(查询和产品匹配),并在标记之间进行比较。
  5. 但这种技术也表现不佳。示例: 产品1:橙色由Hugo Boss,3盎司淡香水喷雾 产品2:动态橙色由Hugo Boss淡香水喷雾3盎司

    产品1和2通过这种技术是相似的,但实际上它们是不同的。

    如何改进此算法?这是匹配产品的正确方法吗? 如果我使用令牌权重训练分类器(使用Jaro Winkler)(通过UPC从匹配产品中学习数据)并使用此分类器在最后一步中匹配产品?

    PS:我有不同类别的产品(健康,美容,电子产品,书籍,电影......),数据非常不结构化或不完整。

    任何建议都会有所帮助

    由于

    斯迈尔

0 个答案:

没有答案