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

来源:互联网 发布:淘宝商家服务社区 编辑:程序博客网 时间:2024/05/21 20:58

下面简单介绍书中提到的问题以及有哪些解决办法,方便大家对正本书有个整体的把握,同时我也会上传这本书的高清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提高标签质量;

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

基于图的标签推荐算法:根据用户的标签行为生成图,还是利用随机游走确定推荐结果。但是这次不是推荐商品,而是推荐标签,所以启动概率稍微有些不同。
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机卡在开机界面 今晚3d开什么号 电脑开机打不开任何软件 电脑开机显示屏没反应 电脑开机一直显示正在启动 电脑开机屏幕没反应 电脑开机显示屏显示无信号 电脑开机后黑屏 电脑开机后不显示桌面 电脑开机后黑屏不显示桌面 电脑开机后打不开任何软件 电脑开机后一直显示正在启动 电视开机后屏幕不亮 电脑开机后蓝屏 电脑开机后显示屏没反应 电脑开机后显示屏显示无信号 海信电视开机后黑屏 开机后黑屏 开机后显示器没反应 笔记本电脑开机后黑屏 电脑待机后怎么开机 笔记本开机后黑屏只有鼠标 笔记本电脑开机后不显示桌面 电脑蓝屏后开机屏幕不亮 电脑开机后桌面没有任何图标 电脑开机后屏幕没反应 电脑关机后自动开机 开机后 ntldrismissing后如何开机 开松棉 松滋开 纤维开松机 开松机价格 开松梳理一体机 开松机报价 开松机 开松机厂家 棉花开松机 羽绒棉开松机 羊毛开松机 无纺布开松机