Google News Personalization:Scalable Online Collaborative Filtering

谷歌新闻个性化:大规模在线协同过滤
这篇论文探讨了谷歌新闻推荐系统的设计,面对大量用户和新闻数据的挑战,提出了利用MapReduce、Bigtable等技术优化算法,以及结合内存和模型算法的混合模型。文章详细介绍了MinHash、PLSI模型及其分布式EM算法的训练,旨在实现实时更新和高效推荐,以应对新闻的快速变化和用户兴趣的个性化需求。

Abstract

这篇论文介绍了google news推荐系统的实现。在用户量很大的前提下,原有的推荐算法适用性较差,需要对其进行改进,例如使用mapreduce,bigtable等技术提高运算速度,综合考虑多种推荐算法等等。

google news的特点

处理google news的一些难点

  • scalability:google news访客较多,新闻数据也较多
  • item churn:物品(新闻)会动态变化,模型需要不断重建,这是一个非常费时的任务,对于google news来说,每分钟都会产生很多新闻,模型超过一段时间后效果会变差

google news的一些假设

这里假设用户点击某一条新闻即表示对该新闻感兴趣,之所以可以这样假设,因为google news前端页面已经显示了文章的摘要,用户能够了解这篇文章的大概信息,如果点击该新闻即可证明对此新闻感兴趣。

问题表述

对于N个用户,u={u1,u2,...uN}和M个物品(文章)S={s1,s2...sm},给定一个用户的浏览记录集合Cu,{s1,s2...si|cu|},推荐K个用户感兴趣的文章。 同时要求服务器的响应时间要短,服务器要做的事情如下:对新闻聚类;针对HTTP请求返回HTML内容;推荐系统产生推荐列表

相关工作

基于内存的算法

根据用户过去的评价进行推荐,为此需要计算用户之间的相关性,w(ui,uj)矩阵衡量的就是任意两个用户的联系性,对于一个用户u_a,他对于文章s_k的评分如下: $r_{u_a,s_k} = \sum_{i\neqa} I_{(u_i, s_k)}w(u_a, u_i)$

I(ui,sk)为1表明用户u_i点击过s_k。当计算得到的评分超过一定阈值后就可以假定用户u_a喜欢文章s_k。但是这个方法最大的问题就是可拓展性较差,由于所有数据要放入内存,当数据量较大值无法使用此方法。

基于模型的算法

此方法依据用户之前的评分为该用户建立模型,使用模型预测那些未被评价过的物品(协同过滤就是这种方法)。这种方法的缺陷是把每一个用户划分到一个指定的类别中,实际情况是用户对于不同的主题可能有不同的喜好,无法划分到一个指定的类别。

模型

本文中涉及的模型是一个混合模型,将上述两种模型进行线性加权结合。 I(u_i,s_k) is 1 if the user u_i clicked on the story s_k and 0 otherwise.话说将来可以使用SVM算法学习不同algorithm之间的比重。

MinHash

PLSI

PLSI was introduced in [3], where Hofmann developed probabilistic latent semantic models for performing collaborative filtering.The relationship between users and items is learned by modeling the joint dis

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值