如何更好的将商城产品1:1匹配分享
说到商城产品匹配,现在已经有多家比价网站上线,一淘专门做淘宝产品的搜索比价,还有采集来自各个商城产品信息的[9abc]http://9abc.com,盒子比价网等一系列的产品比价网站,但是他们所完成的相关产品比价紧紧做到了根据产品名称搜索相关性比较高的产品,进行价格对比,显示产品近期的价格曲线,使得用户可以更直接的了解到此款商品的价格走势,挑选到最低价为的商家,来购买,省钱。再补充一个google购物,做的也挺好。
虽然比价已经慢慢走到了人们的生活购物当中,为老百姓省钱的目的开始逐渐实现。但是这也并不能满足全部的用户需求,比如有些企业利用它做一系列的价格分析,采销部门做一系列的价格分析、销售策略、等等...但是由于数据来自各个不同的网上商城,如:京东、苏宁易购、国美网上商城、库巴、新蛋…… ,数据的统一性不是很好,名字的参差不齐,由于各商场产品录入员的粗心,导致型号乱填,等多种原因,直接影响到了产品的精准匹配,这类产品还是很常见的。
综合上述原因之下,如果我们想做到产品1:1精确匹配,必须要有足够的条件吻合作为依据来查找到同款产品。恰恰由于数据的参差不齐导致查询条件不能更好的符合因该搜索到的那一款产品。(如:海尔 krc-43d/s滚筒洗衣机 与 海尔krc-43d洗衣机 ) .各自分词后为(一、海尔|krc|43|d|s|滚筒|洗衣机 二、海尔|krc|43|d|洗衣机 。这里我做了符号过滤处理,并且通过lucene索引两款产品。
此时只有(海尔 krc 43 d 洗衣机)是重复词,而第一个产品多出来了s、滚筒俩词,这样通过第一个产品去索引中使用AND关系搜索第二个产品的时候就会查找不到该款产品,因为第一个产品的条件要比第二个产品的条件多两个词,进而导致产品二不会显示。如果想查询到第二个产品的时候,必须要提取两个产品共有的一些条件来用AND关系查找。如:海尔 krc 43 d 洗衣机。从而告诉了我们,条件的不统一不是商家的错,而是必须得我们通过自己的手段,来完善我们自己的分词词库,或者通过特殊的手段,来将我们分词后的条件相统一。这个时候就不怕找不到我们想要的相关数据了。不过整理词库和规范条件是一个值得研究和探讨的学问,会涉及到很多相关的统计学、数据方面的相关知识。
上面讨论的是通过提取条件来达到产品精确匹配的一个目的。接下来我不得不否认一个思路。
在和同事的讨论中谈到了相关度查询,就好比一个贴吧不能发表相关度高于X%的帖子,而这是通过判断标题,和内容的字符相似度来判定的。商品也可以这么做吗?
我严重怀疑提出此方案的同事对于索引查询的不信任和对商城产品数据的不了解,虽然可以判断两款商品的相似度,但是前提是要通过lucene索引搜索出来之后在进行过滤,这一步是可行的,但是到了最后的1:N的关系的时候,你对多个产品进行了字符相似度的计算,得出一个结论最高的来显示? 让我更怀疑你对商城产品数据的不了解,为什么呢? 上面提到了,每个商城的内容录入员有可能将同款产品的名称定义的乱七八糟,有的标题中不含品牌,有的标题中没有分类词,有的标题中将型号标的乱七八糟,如苏宁(海尔KRF-43DS洗衣机)和京东(海尔KRF-43D/s洗衣机),大致相似,可是一个可以分出来5个词,而另一个分出来6个词。如果计算相似度的话的确是因该排在前面,可是如果京东又有一款产品叫(海尔KQF-43D/S洗衣机)呢?他们俩的相似度你如何分个高下? 你是要精确匹配哪一个?这样的数据非常之多,所以通过相似度来判断一个产品是不是属于同款产品是不可以的。
最好的办法就是来提取各个商城产品数据的必要条件,通过完整的获得到产品的必要条件之后,通过必要条件来匹配,我认为这是产品匹配的最好思路,至少不会匹配到一些不相关的产品,接下来一步一步的完善词库,来将匹配实现的更精准化。
今天的个人见解就分享到这里。本人文采一般,理解一般,如果有高手看到此文请参与讨论,并给与指点。
我的QQ:527889527
个人站:知民网http://www.jbzhimin.com