第四章利用用户标签数据
介绍UGC(user generated content)的使用。
做推荐,一种是通过相似的用户给当前用户推荐物品;一种方法是通过与用户喜欢的物品相似的物品来推荐物品;本章讲的是第三种方法,即用过一些特征(联系用户和物品)来为用户推荐物品。这个特征可以表现为物品属性的集合,也可以表现为隐语义向量,也可以是标签。
4.1 UGC标签系统的代表应用
列举了一些应用,delicious、citeulike、Last.fm、豆瓣、hulu等。
4.2 标签系统中的推荐问题
主要有两个:
1. 如何利用标签为用户推荐物品?
2. 当用户给物品打标签的时候,如何推荐合适的标签?
4.2.1 用户为什么进行标注
4.2.2 用户如何打标签
标签的频率和排名符合长尾分布。
4.2.3 用户打什么样的标签
4.3 基于标签的推荐系统
简单的算法:
P(u, i) = sum_b ( N(u, b) * N (b, i))
其中u表示user,i表示item,b表示标签(难道是biaoqian的拼音首字母?)。N(u, b)表示用户打标签b的次数,N (b, i)表示物品i被打上标签b的次数。分数乘积、排序,取top n物品推荐给用户。
个人觉得,N(u, b)和N (b, i)是不是做个归一化比较好啊?!
改进的算法:
仿照tf-idf的思想改进的。一方面对热门标签进行惩罚(利用了“标签b被多少个不同的用户使用过”)、另一方面也对热门物品进行惩罚(利用了“物品i被多少个不同用户打过标签”)。个人觉得,还可以进一步利用信息,“标签b在当前用户打过所有标签的总次数的比例”,等信息。
数据稀疏性:主要是谈标签扩展,如何计算标签之间的相似度,利用了一种改进的余弦相似度。
标签清理:去停用词、合并同词根的标签等
基于图的推荐算法:
转化成图的形式来表示用户、物品、标签之间的关系。用图模型来解释上面4.3中的算法。
4.4 给用户推荐标签
几种策略:
1. 给用户推荐物品i上最热门的标签
2. 给用户推荐自己经常使用的标签
3. 1和2的线性组合