推荐系统实践(项亮)— 第4章 利用用户标签数据

  标签应用:一种是让作者或专家给物品打标签;另一种是让普通用户给物品打标签(UGC)。当一个用户对一个物品打上标签,这个标签一方面描述了用户的兴趣,另一方面则表示了物品的语义,从而将用户和物品联系了起来。标签,是一种重要的特征表现方式。

4.1 UGC标签系统的代表应用

  标签系统的最大优势:发挥群体智力,获得对物品内容信息比较准确的关键词描述,而准确的内容信息是提升个性化推荐系统性能的重要资源。

  • Delicious / CiteLike / 豆瓣 / Hulu

4.2 标签系统中的推荐问题
  主要问题有:1. 如何利用用户打标签的行为为其推荐物品(基于标签的推荐)

        2. 如何在用户给物品打标签时为其推荐适合该物品的标签(标签推荐)

  (1)用户为什么进行标注?

  两个维度:社会维度,便于其他人找到信息;功能维度,方便自己将来查找。

  (2)用户如何打标签?

  标签的流行度:用户在物品上打这个标签的次数。

  标签的流行度分布也呈现非常典型的长尾分布。

  (3)用户打什么样的标签?

  • 表明物品是什么
  • 表明物品的种类
  • 表明谁拥有物品
  • 表达用户的观点
  • 用户相关的标签
  • 用户的任务

4.3 基于标签的推荐系统

  (u,i,b)表示用户u给物品i打上标签b。一个简单的基于标签的推荐算法:

    1. 统计每个用户最常用的标签。
    2. 对于每个标签,统计被打过这个标签次数最多的物品。
    3. 对于一个用户,首先找到他常用的标签,然后找到具有这些标签的最热门物品推荐给这个用户。
      那么用户u对物品i的兴趣公式为:

  算法的改进:

  (1)对热门的惩罚

  上述的公式倾向于给热门标签对应的热门物品很大的权重,因此会造成推荐热门的物品给用户,从而降低推荐结果的新颖性。并且,给热门标签过大的权重,从而不能反应用户个性化的兴趣。书中借鉴了TF-IDF的思想,将公式改进为:

  适当惩罚热门标签和热门物品,在增进推荐结果个性化的同时,并不会降低推荐结果的离线精度。

  (2)数据稀疏性

  对于新用户或者新物品B(u)B(i)中的标签会很少,为了提高推荐的准确率,我们可能要对标签集合做扩展,比如若用户曾经用过“推荐系统”这个标签,我们可以将这个标签的相似标签也加入到用户标签集合中,比如“个性化”、“协同过滤”等标签。标签扩展的本质是对每个标签找到和它相似的标签,也就是计算标签之间的相似度

  (3)标签清理

  不是所有的标签都能反应用户的兴趣,要将这一部分标签清理掉。网站通过让用户对标签进行反馈,融合专家和广大用户的知识。

  (4)基于标签的推荐解释

  标签云:提高推荐结果多样性;提供解释功能。

4.4 给用户推荐标签

  (1)作用:方便用户输入标签;提高标签质量;

  (2)方法:

  • 推荐物品上最热门的标签;
  • 推荐用户常使用的标签;
  • 将前两项进行加权

 

posted @ 2018-10-30 12:23  深度机器学习  阅读(907)  评论(0编辑  收藏  举报