协同过滤算法:在线推荐系统如何工作?

来源:互联网 发布:淘宝小果澳洲代购 编辑:程序博客网 时间:2024/05/20 04:46

随着互联网的发展,人们正处于一个信息爆炸的时代。相比于过去的信息匮乏,面对现阶段海量的信息数据,对信息的筛选和过滤成为了衡量一个系统好坏的重要指标。来自GigaOM的记者Derrick Harris撰文介绍了在线推荐系统是如何进行工作的,CSDN编译如下:

对于一双未经训练的眼睛来说,所有在线推荐貌似都是“千篇一律”,毕竟“你可能会喜欢”,“你的朋友喜欢”或者“购买此商品的顾客也同时购买”并没有什么很大的不同,真的是这样吗?其实不然,如果如果拥有一个强大的推荐系统,业务就可能会有一个新的突破。2013年1月6日, 在CTO俱乐部举办的第91期线下活动中,来自当当网的高级开发总监傅强介绍了当当网的个性化推荐&精准营销系统,当时他给出了一组数据:仅一支几十人的技术团队,推荐产品日均对销售贡献,甚至抵得上一些事业部销售贡献50%;在2012年下半年,个性化推荐&精准营销系统对当当网销售贡献占比提高了50%。

其实对于企业来说,他们必须知道自己的受众是谁,他们能够收集何种类型的数据,如何更好地利用这些数据发现用户真正需要的是什么,想要做好这一点,还需要理解数据科学。

亚马逊的协同过滤推荐算法

亚马逊是一个很好的例子,这家电商巨头,过去使用层次模型为消费者推荐新的商品,比如说,如果顾客购买了一个相机,那么系统就会给他推荐一些电池产品。然而随着商品种类的增加,而且亚马逊的数据分析能力也不断在增强,新的推荐模型还可以推荐购买过该产品的用户还同时购买的其他商品。

现在,亚马逊能够提出更准确的建议,因为它使用更真实的购买数据,代替了那些静态的指标(只能猜测用户可能会购买什么商品)。提示“购买此商品的顾客也同时购买”不仅仅是一种新的销售方式,而且还为消费者提供了一些搭配商品的建议——如果,这些智慧的群体是可信的——就可以“随波逐流”了。

当然,亚马逊使用的算法称之为“协同过滤算法”,这种算法不仅仅基于那些用户经常购买的商品,而且还参考了用户之间购买历史以及用户兴趣行为的相似度,亚马逊在推荐系统的FAQ页面上是这么描述的:


我们通过检查您已经购买的商品、您已经评分的商品还有那些您所喜欢的商品来判断您的兴趣,接下来我们会比较您与其他顾客的购买行为,通过对比分析相似度,然后为您推荐可能喜欢的产品。


其实协同过滤技术的出发点是任何人的兴趣都不是孤立的,应处于某个群体所关心的兴趣当中,如果某些用户对一些项目的评分比较相似,则他们对其他项目的评分也比较相似。该推荐方法实现的基本思想是采用某种技术找到目标用户的若干最近邻居(与目标用户有相似兴趣的用户),然后根据最近邻居对目标项目的评分产生推荐,把预测评分值最高的多项商品作为该用户的推荐列表。

亚马逊和 Netflix 都曾公开表示过他们使用的是Item-Item关联算法的变种,但对细节都绝口不提。

延伸阅读:

  • 亚马逊的Greg Linden、Brent Smith和Jeremy York曾撰写论文《 Amazon.com Recommendations:Item-to-Item Collaborative Filtering》(PDF),对协同过滤推荐算法有更深层次的阐述。
  • 在开源中国社区中,Breath_L发表博客《 推荐系统中协同过滤算法实现分析》,其中详细介绍了协同过滤推荐算法。其中基于用户的推荐算法,如下图所示:

 

基于用户的推荐算法

个性化推荐,每个公司做的都不一样

其实,每个互联网公司都有自己独一无二的推荐方式,就像Facebook,依靠的是用户的社交图谱来做推荐,也就是说基于朋友所喜欢的项目来做推荐,该平台就是靠朋友之间的联系所建立,所以它 认为用户在乎的是朋友所喜欢或者关注的内容。

而Netflix则是完全不同的一种方式,它围绕内容进行推荐, 该算法只是计算内容之间的相似度,比如参考流派、演员以及收视率等因素,这种情况就是一种个性化推荐。Netflix知道用户所喜欢的内容(至少用户看过),并据此为用户推荐新的内容。

 

Netflix推荐系统 

在线活动管理公司Eventbrite也建立了所谓的“隐式社交图谱”,这和Facebook的社交图谱有所不同,因为在此图谱中的人不一定是用户的朋友,二是那些经常出席同一会议的人群。

 

Eventbrite推荐系统 

个性化,毕竟是证明自身价值的一种方式。Netflix表示75%的流量来源于推荐系统,而来自Eventbrite的数据工程的负责人Sharma则表示:“我们不是一种可以订阅的产品,但是如果大家喜欢这款产品,会留在这里的。”(文/王鹏,审校/仲浩)

0 0