构建基于用户的检索和推荐
检索和推荐在电子商务运营中有着比较重要的地位,通过检索用户可以方便找到想要的商品,通过推荐,可以主动提供用户可能想要的商品,检索和推荐的应用,都增加了用户的购买和未来购买的可能性。
基于用户的检索,不是和其他常见的检索一样,只要检索条件相同,都会出现同样的结果。每个用户都有各自的特性和偏好,在一个阶段内都有不同的动向,基于用户的检索平台,通过对用户行为数据的分析,得出用户的特性和偏好,甚至近期的动向,在检索中根据用户身份标识,展现给用户基于自己的结果。
举个例子,比如一个用户在以往购买的商品或经常浏览的商品中,偏好蓝色,大尺码,而且价格一般比较高,那么检索平台提供给此用户的商品结果中,蓝色、大尺码、价格高些的商品排序靠前一些,假如此用户近期经常看手机,但是又没有购买,那么手机商品可以展现在更靠前些,因为用户的动向表明了用户未来的购买愿望,对于产生购买行为的可能性更大些。
在基于用户的检索和推荐系统平台中,有三个系统:用户网站行为信息采集系统、分布式存储和分析系统、通用检索平台。
用户网站行为信息采集系统,需要记录用户在网站上的行为,比如基本的链接点击、停留时间、检索关键词、商品属性选择等等 。这些数据是分析用户特性和行为的基础。
分布式存储和分析系统,存储了用户网站行为信息的原始记录,也会根据需要存储其他数据,比如数据库中用户购买商品的记录等等。通过这些原始用户数据,分析出用户的特性和近期动向,并提供给其他系统服务查询功能。
通用检索平台,主要存储商品信息,严格上来讲和以上两个系统完全隔离,没有什么直接关系。
通过调用分析系统的服务,获取用户特性,然后构建查询,调整权重,从而从通用检索平台检索出基于此用户特性的数据。
分布式存储和分析系统,个人偏向采用Hadoop(http://hadoop.apache.org/)及其一系列开源框架,借助于MapReduce对海量的用户数据进行分析。
通用检索平台,我还是采用Solr (http://lucene.apache.org/solr/)。我觉得Solr在功能和性能上完全可以满足大多数电子商务的检索应用。
和其他推荐系统不同的是,基于用户的推荐,数据来源还是通用检索平台。