推荐引擎:如何解决新用户“冷启动”
作者:Paolo Massa, Paolo Avesani
期刊:Lecture Notes in Computer Science, 2004, Vol. 3290, pp. 492‐508.
下载:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.59.5213&rep=rep1&type=pdf
本文动机
推荐系统旨在帮助人们解决信息过载的问题,然而基于用户相似度的协同过滤推荐系统不仅存在冷启动的问题,而且需要根据用户的消费(浏览)行为去度量每一对用户的相似性,以期寻找能更好地提高预测准确度的相似邻居。然而在实际应用中由于存在太多的用户以及太多的产品,这种方案需要极大的计算量——不仅需要查询用户的消费行为,还要据此计算用户之间的相似程度。再者,由于产品的种类繁多,用户(尤其是新用户)之间选择产品的交集就相对较少,基于此进行推荐的话,往往会把目标锁定在更小的区域,也更容易受到“超大度用户”的干扰。
简单来说呢,本文针对传统协同过滤的“冷启动问题”、“计算量大”和“能预测评分的覆盖面小”这三个问题,提出了基于用户社交信任关系模型,假设并验证用户会选择或者喜欢他们信任的人所选择的产品。
模型建立及对比
在epinion.org系统中,用户不仅可以在线购买多种商品,还允许对其他用户进行打分。于是系统中就有了可用的信任关系网络。
对用户打分和对商品打分一样,分值从1分到5分不等,分别表示从不信任到信任的程度(在本文中,评分都被作者映射到区间[0,1]上)。右图中实线表示信任关系,边的权重表示信任程度,虚线则表示没有直接的信任关系,但这个关系可以通过信任传递来确定。然而在本文的模型中,并没有用到信任权重,即每一条信任关系的权重都为1。
有了这么一个信任关系,要怎么应用呢?与传统的协同过滤方法有什么不同呢?请看下图。有背景色的为“方法模块”,无背景色的为“输入/输出”的数据。
从上图中就可以比较清晰的看到,“基于信任关系”的模型与“基于用户相似度的协同过滤”模型的区别仅在于“寻找推荐参考用户”的方法不同。
那么本文中,采用pearson相关系数来度量用户之间的相似性,主要是基于用户共同选择的产品及其评分相似性的衡量来确定用户的相关程度。这个系数在之前的报告中已做说明,在此不再赘述。
用户之间的信任关系,在本文看来信任的强度都为1,并假设用户之间的信任是可传递的。这个传递性就可分为两种方法:基于全局的传递和基于局部的传递。基于全局的传递可以采用PageRank的方法衡量,而基于局部的传递则只需要考虑k阶邻居的信任传递。本文仅拿局部的传递方案与传统的协同过滤方案进行对比。传递的规则如下:
给定源节点u,该节点对其他节点v的信任程度与他们之间的最短路径直接相关。确切来讲,如果我们仅考虑d阶最短路径之内的节点(也就是说,对于源点u来说,与其最短距离超过d步的节点将不予考虑),那么与源点u之间最短路径为n的用户被u信任的程度为:
(d-n+1)/d
如此一来,就可以在较小的范围内挑选目标用户最信任的参照用户了。有了参照用户,就可以同协同过滤方案一起使用“预测评分方法”对未评分商品进行评分预测。
实验结果
本文采用了四种评价指标,分别对两种模型的表现进行对比,结果对比如表格所示。
最上面的一行{ALL 2 3 4},其对应的元素表示其对应的那一列数据,作为实验结果,分别对应了:对所有的用户进行评分预测、对评过两个产品的用户进行评分预测、对评过三个产品的用户进行评分预测、对评过四个产品的用户进行评分预测。选取测试集的方法为Leave-one-out的方案,即每次抽取一个评分作为待预测项,并基于剩余评分信息对待预测项进行评分。对于每种预测方案,每个目标用户集合中的评分只能被选择一次。
第二个块中的“# Users”表示用户的数量,可见“新用户”的数目还是比较多的,而且他们的平均朋友数目也比较少(如σ friends所示)。所以为了照顾这些新用户,作者最多考虑了4步以内的朋友,从而增加可用信息。
接下来就是两个模型的对比了。解释一下两个Coverage:假设考虑1个用户u有100个评分,还有100个用户但每个用户只有1个评分,又假如某推荐系统能预测出u的所有100个评分,其他100个用户的却无法预测,那么这个推荐系统的Coverage on Rating就是100/200=50%;Coverage on Users则是1/101。当然覆盖度越高,说明推荐系统的功能越强大。整体来看,基于用户信任关系的方法比传统的协同过滤方法更优,尤其是对新用户的预测上,传统的协同过滤方法几乎是无能为力,但基于信任关系的模型却有一个较大的覆盖面,而且当考虑更远的信任关系时,能够预测的范围更大。
不仅如此,从预测评分的精度来讲,基于信任关系的模型预测出的评分与真实评分的误差更小。注:MAUE是类比于MAE的方法定义的,意为Mean Absolute User Error。
总结:
本方法对于解决“新用户冷启动”问题有非常显著的帮助,而且从计算的复杂度方面来讲,基于信任关系的方法仅需要考虑用户的信任关系网,而不需要对比用户对商品的评分情况即可找出“参照用户”从而进行更有效的预测。然而,国内的电商鲜有这样的服务(淘宝有淘江湖),方法虽好,但巧妇难为无米之炊,从哪里取米呢?
微博有庞大的用户群体,如果能引导用户使用或者关联微博账号登陆,若发布“购买信息”,则可能引导朋友链过去看看;若不发布“购买信息”,我们至少也能得到用户的购买记录。在电商联盟中,这个信息量就更为客观了。