推荐系统实践(项亮)— 第1章 好的推荐系统
1.1 什么是推荐系统
(1)解决信息过载的三种方式:
- 分类目录(雅虎)
- 搜索引擎(谷歌):满足用户有明确目的时的主动查找请求;
- 推荐系统:用户没有明确目的时帮助他们发现感兴趣的内容。
(2)推荐系统可以更好的发掘商品的长尾
传统2/8理论受到挑战。互联网条件下,由于货架成本极端低廉,电子商务网站往往能出售比传统零售店更多种类的商品。与传统零售业相比,电商的长尾商品数量极其庞大,这些长尾的总销售额甚至能超过热门商品。
推荐系统通过发掘用户的行为,找到用户的个性化需求,从而将长尾商品准确地推荐给需要它的用户,帮助用户发现那些他们感兴趣但很难发现的商品。
推荐算法的本质是通过一定的方式将用户和物品联系起来,不同的推荐系统利用了不同的方式。
1.2 个性化推荐系统的应用
(1)推荐系统由前台展示页面、后台的日志系统以及推荐算法3部分构成 。
- 电子商务
- 主要应用有:
- 个性化商品推荐列表:基于物品,基于好友;
- 相关商品推荐列表(cross selling):使用了不同用户行为计算物品的相关性;
- 打包销售:推荐一套商品,打包购买打折;
- 主要应用有:
- 电影和视频网站:基于物品的推荐,推荐用户喜欢的相似的电影。
-
个性化音乐网络电台
-
个性化推荐成功应用的两个因素
- 存在信息过载
- 用户大部分时候没有明确需求
个性化网络电台非常符合上诉两项
- 设计上不允许点歌,而是给用户一定形式的反馈(喜欢、不喜欢、跳过),经过用户一定时间的反馈,电台就可以从用户的历史行为中习得用户的兴趣模型,从而使用户的播放列表越来越符合用户对歌曲的兴趣。
- Pandora 根据专家标注的音乐基因来计算歌曲相似度;Last.fm给用户推荐和他有相似听歌爱好的其他用户喜欢的歌曲,利用用户行为。
- 音乐推荐的特点:物品空间大/种类多/不需全神贯注消费 / 物品重用率高 / 上下文相关(包括用户当时的心情,比如沮丧的时候喜欢听励志的歌曲,和所处情境比如睡觉前喜欢听轻音乐) / 次序比较重要 / 高度社会化 (分享自己喜欢的音乐)
-
- 社交网络
- 主要应用:
- 利用用户的社交网络信息对用户进行个性化的物品推荐
- 信息流的会话推荐(推荐评论、好友状态等):尽量看到熟悉好友的最新会话
- 给用户推荐好友
- 主要应用:
- 个性化阅读
个性化阅读同样符合前面提出的需要个性化推荐的两个因素:用户面临信息过载的问题;用户很多时候并没有必须看某篇具体文章的需求,只是想了解该领域。
新闻类的阅读要有很强的时效性。
-
-
用户关注自己兴趣的人,然后看关注用户看的文章;
- 收集用户对文章的偏好,根据反馈数据不断更新用户个性化列表;
- 根据用户之间兴趣相似度,给用户推荐和他兴趣相似的用户喜欢的文章;
-
- 基于位置的服务:上下文信息,位置和社交网络的结合。
- 个性化邮件:优先级收件箱,先浏览重要的,再浏览其他。
- 个性化广告
- 个性化广告投放技术:
- 上下文广告:通过分析用户正在浏览的网页内容,投放和网页内容相关的广告。代表系统是谷歌的Adsense。
- 搜索广告:通过分析用户在当前会话中的搜索记录,判断用户的搜索目的,投放和用户目的相关的广告。
- 个性化展示广告:根据用户的兴趣标签,对不同用户投放不同的展示广告。
- 个性化广告投放技术:
1.3 推荐系统评测
一个完整的推荐系统一般存在3个参与方:用户、网站、内容提供方。要考虑三方面的利益。好的推荐系统准测用户的行为,且扩展用户的视野,帮助用户发现他们感兴趣且不容易发现的东西;帮助商家将埋没在长尾中的好商品推荐给可能对他感兴趣的用户;推荐系统本身收集反馈,完善推荐质量,增加交互,提高收入。
- 推荐系统实验方法:
- 离线实验
- 用户调查
- 在线 A/B test
- 评测指标:
- 用户满意度
可以以问卷的形式;一般情况下用点击率、用户停留时间和转化率等指标度量用户的满意度。 - 预测准确率:在训练集上建立用户的行为和兴趣模型预测用户在测试集上的行为,并计算预测行为和测试集上实际行为的重合度作为预测准确率。
- 评分预测: RMSE / MAE
- TopN 推荐:准确率 、召回率, 准确率、召回率曲线。
- 推荐目的是找到用户最有可能感兴趣的电影,而不是预测用户看了电影后会给怎样的分数(就是有的电影用户感兴趣,但看了之后给的评分会低,这个也要推荐)。
- 覆盖率
- 描述一个推荐系统对物品长尾的发掘能力。覆盖率有不同的定义方法,最简单的定义为推荐系统能够推荐出来的物品占总物品集合的比例。
- 覆盖率是一个内容提供商会关心的指标,推荐系统不仅有较高的用户满意度,还有较高覆盖率。
- 覆盖率的其它定义: P27
- 推荐系统的马太效应:推荐系统的初衷是希望消除马太效应,使得各种物品都能被展示给对它们感兴趣的某一类人群。可以使用基尼系数来判断是否有明显的马太效应。
- 多样性
为了满足用户广泛的兴趣,推荐列表需要能够覆盖用户不同的兴趣领域。多样性描述了推荐列表中物品两两之间的不相似性。 - 新颖性:希望在不牺牲准确率的前提下提高多样性和新颖性。
- 惊喜度:与历史兴趣不相似,但用户满意
- 信任度
提高推荐系统信任度的方式有增加推荐系统的透明度(提供推荐的解释);考虑用户的社交网络信息,利用好友信息给用户做推荐,并且用好友进行推荐解释。 - 实时性:新闻,微博等。
- 健壮性
- 反作弊
- 商业指标:给公司带来盈利。
- 总结
指标总结
- 用户满意度
- 评测维度
在推荐系统评测报告中包含不同维度下的系统评测指标,能帮我们全面地了解推荐系统性能。- 用户维度:主要包括用户的人口统计学信息、活跃度以及是不是新用户等。
- 物品维度:包括物品的属性信息、流行度、平均分以及是不是新加入的物品等。
- 时间维度:包括季节,是工作日还是周末,是白天还是晚上等。