个性化购买力分析及在搜索排序上应用
作者:元涵 (一淘及搜索事业部-搜索技术-算法技术-主搜索与商城)
前言
随着网络的流行和互联网信息的爆炸性增长,如何从海量的信息中准确找到自己需要的信息成为了互联网发展面临的一大难题。传统的搜索引擎由于其通用性,对于相同的查询,所有用户得到的都是同样的结果,显然不能满足不同背景、不同目的和不同时期用户的个性化需求。在这个讲究个性和以人为本的时代,人性化的搜索引擎已经成为了时代的需求。
在淘宝的环境下,用户主要的目的就是购物。不同的用户个体在购物上更是天然就存在着很大的差异,这种差异可以反映在很多方面,有价格偏好、类目偏好、地域偏好、品质偏好等等。而我们要做的就是挖掘,理解用户的差异和不同需求,做出个性化的搜索体验,最终能够帮组用户在淘宝上购物。
个性化购买力
2.1 为什么需要个性化购买力
前面提到了,每个用户在很多方面都是有自己独特的偏好,而购买力就是最明显的一个方面。高帅富和屌丝对商品的价格和品质有完全不同的需求。同样是搜索“T恤”,高帅富需要的是面料材质好的品牌货;而屌丝需要的是100元3件还包邮的大路货。这种需要的差异就是我们需要做个性化购买力的原因。
2.2 购买力计算
我们将用户的购买力划分到5个档位上,低,中低,中高,高,超高。
我们会计算用户在多个不同粒度的购买力,从最细的用户+query粒度到最粗的用户组粒度,粒度越细,数据越准确,但也越稀疏。
2.2.1 用户+Query,用户+Query簇
根据用户在某一个特定query下的行为,计算用户在单个query下的购买力。由于是单个query,所以数据会非常稀疏,而且能覆盖的query很也少。将query聚类,计算用户在Query簇下的购买力会稍微缓解一下数据稀疏的问题。但这样的话又引入了一下新的问题:query聚类,相似query聚类本身就是一个不小的工作。而且虽然可以通过query聚类能部分提升数据量,但还是不足以达到丰富的程度。而且也没有必要细化到query粒度,用户在同一类目的不同query下的购买力还是会比较相似的。
2.2.2 用户+类目,用户
在类目粒度上计算用户的购买力,这个类目粒度是从后台叶子类目到后台一级类目,都会计算。由于用户在不同的类目会表现出来不同的购买力(比如IT码农,手持身穿便宜的T恤),所以我们会计算用户在多个类目下购买力。用户+类目粒度的数据相对用户+query要丰富很多了,一些大的一级类目下一个用户90天平均有3-5笔左右的成交,已经具备了一定的统计意义。
结合用户在各类目维度维度的购买力,我们还是再计算一个用户整体的购买力。这个数据相对来说就更丰富一些,一个人90天平均有20笔左右的成交。
2.2.3 用户组+类目,用户组
对于那些自身行为很少的用户,我们通过将用户聚合成用户组的方式来预测他们的购买力。用户组的聚合可以主要是从两个维度:
用户的基本物理信息:
a) 地域,性别,年龄
b) 用户星级
相识行为: