首页 > 技术文章 > 推荐系统实践(项亮)— 第1章 好的推荐系统

eilearn 2018-10-24 21:34 原文

1.1 什么是推荐系统

 (1)解决信息过载的三种方式:

  1. 分类目录(雅虎)
  2. 搜索引擎(谷歌):满足用户有明确目的时的主动查找请求;
  3. 推荐系统:用户没有明确目的时帮助他们发现感兴趣的内容。

(2)推荐系统可以更好的发掘商品的长尾

  传统2/8理论受到挑战。互联网条件下,由于货架成本极端低廉,电子商务网站往往能出售比传统零售店更多种类的商品。与传统零售业相比,电商的长尾商品数量极其庞大,这些长尾的总销售额甚至能超过热门商品。

  推荐系统通过发掘用户的行为,找到用户的个性化需求,从而将长尾商品准确地推荐给需要它的用户,帮助用户发现那些他们感兴趣但很难发现的商品。

  推荐算法的本质是通过一定的方式将用户和物品联系起来,不同的推荐系统利用了不同的方式。

1.2 个性化推荐系统的应用

(1)推荐系统由前台展示页面、后台的日志系统以及推荐算法3部分构成 。

  • 电子商务
    • 主要应用有:
      1. 个性化商品推荐列表:基于物品,基于好友;
      2. 相关商品推荐列表(cross selling):使用了不同用户行为计算物品的相关性;
      3. 打包销售:推荐一套商品,打包购买打折;
  • 电影和视频网站:基于物品的推荐,推荐用户喜欢的相似的电影。
  • 个性化音乐网络电台

    • 个性化推荐成功应用的两个因素

      1. 存在信息过载
      2. 用户大部分时候没有明确需求

      个性化网络电台非常符合上诉两项

    • 设计上不允许点歌,而是给用户一定形式的反馈(喜欢、不喜欢、跳过),经过用户一定时间的反馈,电台就可以从用户的历史行为中习得用户的兴趣模型,从而使用户的播放列表越来越符合用户对歌曲的兴趣。
    • Pandora 根据专家标注音乐基因计算歌曲相似度;Last.fm给用户推荐和他有相似听歌爱好的其他用户喜欢的歌曲,利用用户行为。
    • 音乐推荐的特点:物品空间大/种类多/不需全神贯注消费 / 物品重用率高 / 上下文相关(包括用户当时的心情,比如沮丧的时候喜欢听励志的歌曲,和所处情境比如睡觉前喜欢听轻音乐) / 次序比较重要 / 高度社会化 (分享自己喜欢的音乐)
  • 社交网络
    • 主要应用:
      1. 利用用户的社交网络信息对用户进行个性化的物品推荐
      2. 信息流的会话推荐(推荐评论、好友状态等):尽量看到熟悉好友的最新会话
      3. 给用户推荐好友
  • 个性化阅读

  个性化阅读同样符合前面提出的需要个性化推荐的两个因素:用户面临信息过载的问题;用户很多时候并没有必须看某篇具体文章的需求,只是想了解该领域。

  新闻类的阅读要有很强的时效性。

    • 用户关注自己兴趣的人,然后看关注用户看的文章;

    • 收集用户对文章的偏好,根据反馈数据不断更新用户个性化列表;
    • 根据用户之间兴趣相似度,给用户推荐和他兴趣相似的用户喜欢的文章;
  • 基于位置的服务:上下文信息,位置和社交网络的结合。
  • 个性化邮件:优先级收件箱,先浏览重要的,再浏览其他。
  • 个性化广告
    • 个性化广告投放技术:
      1. 上下文广告:通过分析用户正在浏览的网页内容,投放和网页内容相关的广告。代表系统是谷歌的Adsense。
      2. 搜索广告:通过分析用户在当前会话中的搜索记录,判断用户的搜索目的,投放和用户目的相关的广告。
      3. 个性化展示广告:根据用户的兴趣标签,对不同用户投放不同的展示广告。

 1.3 推荐系统评测

  一个完整的推荐系统一般存在3个参与方:用户、网站、内容提供方。要考虑三方面的利益。好的推荐系统准测用户的行为,且扩展用户的视野,帮助用户发现他们感兴趣且不容易发现的东西;帮助商家将埋没在长尾中的好商品推荐给可能对他感兴趣的用户;推荐系统本身收集反馈,完善推荐质量,增加交互,提高收入。

    • 推荐系统实验方法:
      1. 离线实验
      2. 用户调查
      3. 在线 A/B test
    • 评测指标:
      1. 用户满意度
          可以以问卷的形式;一般情况下用点击率、用户停留时间和转化率等指标度量用户的满意度。
      2. 预测准确率:在训练集上建立用户的行为和兴趣模型预测用户在测试集上的行为,并计算预测行为和测试集上实际行为的重合度作为预测准确率。
        • 评分预测: RMSE / MAE
        • TopN 推荐:准确率 、召回率, 准确率、召回率曲线。
        • 推荐目的是找到用户最有可能感兴趣的电影,而不是预测用户看了电影后会给怎样的分数(就是有的电影用户感兴趣,但看了之后给的评分会低,这个也要推荐)。
      3. 覆盖率
          • 描述一个推荐系统对物品长尾的发掘能力。覆盖率有不同的定义方法,最简单的定义为推荐系统能够推荐出来的物品占总物品集合的比例。
          • 覆盖率是一个内容提供商会关心的指标,推荐系统不仅有较高的用户满意度,还有较高覆盖率。
          • 覆盖率的其它定义: P27 
        • 推荐系统的马太效应:推荐系统的初衷是希望消除马太效应,使得各种物品都能被展示给对它们感兴趣的某一类人群。可以使用基尼系数来判断是否有明显的马太效应。
      4. 多样性
          为了满足用户广泛的兴趣,推荐列表需要能够覆盖用户不同的兴趣领域。多样性描述了推荐列表中物品两两之间的不相似性。
      5. 新颖性:希望在不牺牲准确率的前提下提高多样性和新颖性。
      6. 惊喜度:与历史兴趣不相似,但用户满意
      7. 信任度
          提高推荐系统信任度的方式有增加推荐系统的透明度(提供推荐的解释);考虑用户的社交网络信息,利用好友信息给用户做推荐,并且用好友进行推荐解释。
      8. 实时性:新闻,微博等。
      9. 健壮性
        • 反作弊
      10. 商业指标:给公司带来盈利。
      11. 总结

        • 指标总结
    • 评测维度
        在推荐系统评测报告中包含不同维度下的系统评测指标,能帮我们全面地了解推荐系统性能。
      • 用户维度:主要包括用户的人口统计学信息、活跃度以及是不是新用户等。
      • 物品维度:包括物品的属性信息、流行度、平均分以及是不是新加入的物品等。
      • 时间维度:包括季节,是工作日还是周末,是白天还是晚上等。

 

推荐阅读