论文读书笔记-google news personalization: scalable online collaborative filtering


 

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

 

下面是一些要点:

1、处理google news的一些难点

-scalability:google news访客较多,新闻数据也较多

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

 

2、google news的一些假设

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

 

3、问题表述

对于N个用户,u={u1,u2,...uN}M个物品(文章)S={s1,s2...sm},给定一个用户的浏览记录集合Cu{s1,s2...si|cu|},推荐K个用户感兴趣的文章。

同时要求服务器的响应时间要短,服务器要做的事情如下:对新闻聚类;针对HTTP请求返回HTML内容;推荐系统产生推荐列表。比较下来

 

4、基于内存的算法

该算法根据用户过去的评价进行推荐,为此需要计算用户之间的相关性,w(ui,uj)矩阵衡量的就是任意两个用户的联系性,对于一个用户ua,他对于文章sk的评分如下:


 

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

 

5、基于模型的算法

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

 

6、本文提出的算法

本文提出了的方法是对基于内存和基于模型的方法的结合,首先可以假设用户对于文章的评分正比于下面两个因素:


 

其中w(ua,ci)代表用户ua属于类别ci的程度。

 

6-1Minhash

衡量两个用户之间的相似度可以用他们的交集来表示,也被称为Jaccard 相似度


 

用户uj看过的新闻对于用户ui来说有s(ui,uj)的吸引力。

在计算的时候,可以使用LSH来缩减数据规模,其中LSH的思想就是相近的数据在哈希过程中更有可能产生冲突,具体查看这篇文章:

http://my.oschina.net/sulliy/blog/78777

hash时可以使用phash连结函数,于是用户之间的相关性为s^p,这样保证类别更多同时保证同一个类别中用户的相似度更高。为了提高recall值,可以并发处理,让用户映射到q个类别,针对每个类别用phash连结函数。

同时,在Minhash中也可以使用mapreduce的思想,在计算p*q minhash值的时候进行分布式计算,最终得到的是每一个类别id,其中包含属于该类别的用户id

 

6-2PLSI

PLSI把用户和物品看成随机变量对其建立模型,对用户和物品的联合分布建立混合分布模型,引入一个隐藏值Z来表示这种关系。混合模型如下:


 

具体查看这篇文章:

http://www.52nlp.cn/%E6%A6%82%E7%8E%87%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B%E5%8F%8A%E5%85%B6%E5%8F%98%E5%BD%A2%E7%B3%BB%E5%88%971-plsa%E5%8F%8Aem%E7%AE%97%E6%B3%95

 

7、计算新闻的推荐度

在计算一个新闻的推荐度时,首先获取用户所在的类别,查看属于该类别的用户组点击该新闻的次数(考虑时间效应),然后把这些次数加起来计算推荐评分。推荐值需要标准化,介于01之间。

 

8、Covisitation

Covisitation定义为同一个用户在一个时间段内点击两篇文章的事件。这样就可以在sjsk之间建立联系,不过为了时效性,可以把用户的点击行为限定在几个小时或几天内。

 

9、系统架构

系统架构由三个部分组成:离线部分用于根据用户的浏览记录对用户进行定期聚类;一系列在线的服务器执行在用户点击时更新用户和文章统计信息,给用户返回推荐信息;两种类型的数据表-UT(以用户ID作为索引存放用户点击历史和聚类信息)ST(以文章ID作为索引存储文章直接的点击情况和文章类别信息)。结构图如下:

 

对于UT,需要存储两种信息:

cluster info:一个列表,存储着用户属于类别IDPLSIMinhash

Click history:用户点击过的新闻id

对于ST,也需要存储两种信息:

Cluster statistics每个类别的用户点击了该文章的次数

Covisitation statistics:文章s和文章s’之间的covisit次数

 

上图的NPS计算推荐值时依据的是基于MinHashPLSI的文章类别值,加上文章直接covisitation值。也就是三个推荐值的叠加。

 

 

### 回答1: ms-settings:personalization-background是Windows 10操作系统中的一个设置选项,用于更改桌面背景图片。用户可以通过该选项选择自己喜欢的图片或幻灯片作为桌面背景,也可以设置背景图片的填充方式、颜色等。 ### 回答2: ms-settings:personalization-background是Windows 10的设置功能之一,它允许用户自定义桌面背景图像。通过这个设置,用户可以选择一张图片作为桌面背景,或者设置幻灯片来自动轮换多张图片。 这个设置功能非常简便易用,用户只需点击桌面上任意一处空白区域,然后选择“个性化”选项,就可以进入ms-settings:personalization-background页面。在该页面上,用户可以从本地计算机上选择图片作为桌面背景,或者从Microsoft Store下载背景图片。用户还可以选择“幻灯片”选项,将多张图片作为背景并设置轮换时间。此外,用户还可以选择背景显示方式,包括平铺、居中、填充等。 ms-settings:personalization-background不仅方便了用户自定义桌面背景,同时也让桌面背景更加个性化。用户可以根据自己的喜好选择各种美丽独特的背景图片,或者选择自己喜欢的图片拼贴成幻灯片进行轮播。无论是工作还是休闲,这个设置功能都可以让用户的计算机桌面更加舒适、个性化、温馨。 ### 回答3: ms-settings:personalization-background是Windows 10中的一个设置页面,用于更改桌面背景。Windows 10允许用户选择不同的背景图片或幻灯片作为桌面背景,以及对背景色进行自定义。此外,用户还可以选择是否在锁定屏幕上显示相同的桌面背景。 通过这个设置页面,用户可以轻松地上传自己的图片作为桌面背景,并应用到所有的设备上。此外,用户可以通过“背景选项”中的下拉框选择不同的背景设置,包括桌面背景、开始菜单和任务栏、锁定屏幕,以及高对比度设置等,以适应不同的使用习惯和视力。 此外,Windows 10还提供了“Dynamic Theme”和“Slideshow”两种背景设置,让用户可以轻松地更改背景图片,实现更加个性化的桌面。用户可以设置图片轮播时间间隔,以及图片来源。此外,用户还可以通过“浏览”按钮来添加自己喜爱的图片文件夹,使得Windows随机选择其中的图片作为桌面背景。 总的来说,ms-settings:personalization-background是Windows 10中一个非常有用的设置页面,可以让用户轻松自定义自己的桌面背景,实现更加个性化的用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值