推荐系统实践---第四章:利用用户标签数据

下面简单介绍书中提到的问题以及有哪些解决办法,方便大家对正本书有个整体的把握,同时我也会上传这本书的高清PDF版,本来想不用积分下载,但是系统最少2个,要是哪位没有积分,可以私信我。下载链接如下:

http://download.csdn.net/download/wtt561111/10163609

其他章节内容

推荐系统实践---第一章:好的推荐系统

推荐系统实践---第二章:利用用户行为数据

推荐系统实践---第三章:推荐系统冷启动问题

推荐系统实践---第四章:利用用户标签数据

推荐系统实践---第五章:利用上下文信息

推荐系统实践---第六章:利用社交网络数据

推荐系统实践--第七章:推荐系统实例 第八章:评分预测问题


前面介绍的CF算法,利用的是用户的行为数据,就是用户对商品的动作,为了区别本章内容,称之为用户动作行为数据。

在介绍商品冷启动时,提到了利用商品的内容信息计算商品间的相似度。

本章介绍另外一种数据:用户标签行为数据。就是人为的添加的标签,比如用户对看的一部电影打标签,写博客时作者给博客打的标签。标签分两种:一种是作者或者专家给商品打标签,一种是普通用户对商品打标签。后者被称为UGC。

商品的内容信息和标签信息,都是特征。基于CF的推荐算法不用特征,只用用户行为。

4.1    UGC标签系统的代表应用

使用UGC标签系统的代表网站:UGC标签系统的鼻祖Delicious,论文书签网站CiteULike,音乐网站Last.fm,视频网站Hulu,书和电影评分网站豆瓣等。

4.2    利用用户注册信息

用户为什么进行标注: Morgan Ames研究图片分享网站中用户标注的动机问题,并从社会维度和功能维度进行分析。社会维度:有些标签是为上传者能够更好的组织自己得信息,有些标签是为了其他广大用户找到想要的信息;功能维度:有些标注是为了更好的组织内容,方便用户将来的查找,有些标签是为了传达某些信息,比如照片拍摄的时间和地点。

用户如何打标签:作者基于Delicious数据集做实验。横坐标表示标签的流行度x,纵坐标表示该流行度的所有商品的数量f(x),服从长尾分布。

用户打什么样的标签:我们希望用户为物品打的标签能够准确的描述物品内容属性,但用户往往不会按照我们预期的想法操作,而是会给物品打上各种奇奇怪怪的标签。Scott A.Golder总结了Delicious上的标签(说到这些有模有样的内容,必须得引经据典,这样才有说服力),分为以下几类:表面物品是什么,表明物品的种类,表明谁拥有该物品,表示用户的观点(搞笑),用户相关的标签(我的最爱),用户的任务(找工作)。

4.3    基于标签的推荐系统

一个标签是用户对物品的一个描述,比如关键词“搞笑”。但是在进行推荐时,用户标签行为数据不仅包括(user_id,item_id,tags)。还包括用户的内容信息和商品的内容信息。(基于CF的推荐,不需要用户和商品的内容信息)

实验设置:实验数据是Delicious数据集和CiteULIke数据集;将数据分为10份,9份用来训练,1份用来测试;评价指标是准确率,召回率,多样性;

最简单的推荐算法:对于一个用户,统计他最常用的标签,然后把具有这些标签的最热物品推荐给该用户。基于此算法,定义用户u对商品i的兴趣公式: P(u,i)=Nub*Nbi 求和。其中Nub表示用户u为所有商品打该标签的次数,Nbi表示该商品被所有用户打该标签的次数。

借鉴TF-IDF对热门标签和热门商品做出惩罚:在上面公式的基础上,除以一个分母:log(1+Nb(u)) *log(1+Ni(u))。其中Nb(u)表示标签b被多少不同用户打过标签,Ni(b)表示商品i被多少不同用户打过标签。

利用标签扩展解决数据稀疏问题:在基于用户标签行为的商品推荐算法中,主要是通过B(u) & B(i)完成。用户u对商品i必须在标签上有交集:用户u打了标签b,并且商品i也被人打了b标签。如果用户u很少打标签,或者商品i很少被人打标签,就会导致该用户u对该商品i的分数为0,无法对其进行推荐。为了避免这种情况,需要对用户和商品进行标签的扩展。最常用的标签扩展方法是通过话题模型,书中介绍比较简单的基于领域的扩展方法。如果两个标签经常同时出现在物品的标签集合中,就认为这两个标签具有很大的相似度。

标签的清理:用户经常为电影打“动作片”标签,说明该用户喜欢“动作片”类型的电影。但是如果用户经常打“不喜欢”标签,我们不能为他推荐“不喜欢”相关的内容;“推荐系统”和“推荐引擎”是一个意思,只保留一个就行了;我们需要用某个标签作为推荐结果的解释,所以需要清理质量不高的标签。一般的标签清理方法:去除词频很高的停止词;去除因词根不同造成同义词,比如“搞笑的”和“搞笑”;去除分隔符在成的同义词,比如“推荐-系统”和“推荐_系统”。

如何保证标签的质量:很多网站采用让用户进行反馈的思想,让用户告诉系统某个标签是否合适。

基于图的推荐算法:基于用户动作行为的数据,可以将用户行为表示在图上,通过随机游走获取概率值,从而进行推荐。现在是基于用户标签行为的数据,由原来的二元组(user,item)变为三元组(user,item,tag)。有两种方法:第一种是对每一个(user,item,tag),添加三条无向边user_item,user_tag,item_tag。第二种方法是将节点分为三列,分别为用户标签商品,每次添加两条有向边user->tag以及tag->item。在图上表示了用户标签数据后,利用随机游走算法获得概率值,然后进行推荐。

基于标签的推荐具备较好的多样性:用户的兴趣在长时间内是很广泛的,但在某一天却很具体。豆瓣通过标签云,展示了用户所有的兴趣,然后让用户自己根据今天的兴趣选择一个标签,系统通过该标签对其进行推荐。

基于标签的推荐具备较好的解释性:用户首先会觉得标签云是合理的,点击一个标签后,发现根据该标签的推荐也是合理的。

4.4    给用户推荐标签

为什么要给用户推荐标签:方便用户输入;T提高标签质量;

如何给用户推荐标签:给用户推荐系统里最热门的标签;给用户推荐该用户最常用的标签;给用户推荐该物品最长被打的标签;将前面两个的推荐结果相性加权;

基于图的标签推荐算法:根据用户的标签行为生成图,还是利用随机游走确定推荐结果。但是这次不是推荐商品,而是推荐标签,所以启动概率稍微有些不同。
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值