项亮《推荐系统实践》阅读笔记-第一章 好的推荐系统

1.1什么是推荐系统

到2026年,推荐系统已经是个广为人知的概念了,这一章节略读即可

1.2个性化推荐系统的应用

同上,略读
有几个算法,这是干嘛的?怎么实现的?

  • 基于物品的推荐算法(item-based method)
  • facebook edgerank算法

1.3推荐系统评测

什么样的推荐系统才算好?如果预测的东西都实现了,那不算好,比如预测用户明天会吃东西,那肯定是会实现的,这简直就是浪费算力

可以从以下角度衡量

  • 用户满意度
  • 预测准确度
    • 评分预测
    • TopN推荐
    • 覆盖率coverage(通过信息熵、基尼系数geni index衡量)
  • 多样性:关于推荐系统多样性最好达到什么程度,可以通过一个简单的例子说明。假设用户喜欢动作片和动画片,且用户80%的时间在看动作片,20%的时间在看动画片。那么,可以提供4种不同的推荐列表:A列表中有10部动作片,没有动画片;B列表中有10部动画片,没有动作片;C列表中有8部动作片和2部动画片;D列表有5部动作片和5部动画片。在这个例子中,一般认为C列表是最好的,因为它具有一定的多样性,但又考虑到了用户的主要兴趣。A满足了用户的主要兴趣,但缺少多样性,D列表过于多样,没有考虑到用户的主要兴趣。B列表即没有考虑用户的主要兴趣,也没有多样性,因此是最差的。
  • 新颖性:新颖的推荐是指给用户推荐那些他们以前没有听说过的物品。在一个网站中实现新颖性的最简单办法是,把那些用户之前在网站中对其有过行为的物品从推荐列表中过滤掉。比如在一个视频网站中,新颖的推荐不应该给用户推荐那些他们已经看过、打过分或者浏览过的视频。但是,有些视频可能是用户在别的网站看过,或者是在电视上看过,因此仅仅过滤掉本网站中用户有过行为的物品还不能完全实现新颖性。O’scar Celma在博士论文“Music Recommendation and Discovery in the Long Tail”中研究了新颖度的评测。评测新颖度的最简单方法是利用推荐结果的平均流行度,因为越不热门的物品越可能让用户觉得新颖。因此,如果推荐结果中物品的平均热门程度较低,那么推荐结果就可能有比较高的新颖性。
  • 惊喜度:惊喜度(serendipity)是最近这几年推荐系统领域最热门的话题。但什么是惊喜度,惊喜度与新颖性有什么区别是首先需要弄清楚的问题。注意,这里讨论的是惊喜度和新颖度作为推荐指标在意义上的区别,而不是这两个词在中文里的含义区别(因为这两个词是英文词翻译过来的,所以它们在中文里的含义区别和英文词的含义区别并不相同),所以我们首先要摒弃大脑中关于这两个词在中文中的基本含义。可以举一个例子说明这两种指标的区别。假设一名用户喜欢周星驰的电影,然后我们给他推荐了一部叫做《临歧》的电影(该电影是1983年由刘德华、周星驰、梁朝伟合作演出的,很少有人知道这部有周星驰出演的电影),而该用户不知道这部电影,那么可以说这个推荐具有新颖性。但是,这个推荐并没有惊喜度,因为该用户一旦了解了这个电影的演员,就不会觉得特别奇怪。但如果我们给用户推荐张艺谋导演的《红高粱》,假设这名用户没有看过这部电影,那么他看完这部电影后可能会觉得很奇怪,因为这部电影和他的兴趣一点关系也没有,但如果用户看完电影后觉得这部电影很不错,那么就可以说这个推荐是让用户惊喜的。这个例子的原始版本来自于Guy Shani的论文,他的基本意思就是,如果推荐结果和用户的历史兴趣不相似,但却让用户觉得满意,那么就可以说推荐结果的惊喜度很高,而推荐的新颖性仅仅取决于用户是否听说过这个推荐结果。
  • 信任度:如果你有两个朋友,一个人你很信任,一个人经常满嘴跑火车,那么如果你信任的朋友推荐你去某个地方旅游,你很有可能听从他的推荐,但如果是那位满嘴跑火车的朋友推荐你去同样的地方旅游,你很有可能不去。这两个人可以看做两个推荐系统,尽管他们的推荐结果相同,但用户却可能产生不同的反应,这就是因为用户对他们有不同的信任度。
  • 实时性:很多网站中,因为物品(新闻、微博等)具有很强的时效性,所以需要在物品还具有时效性时就将它们推荐给用户。比如,给用户推荐昨天的新闻显然不如给用户推荐今天的新闻。因此,在这些网站中,推荐系统的实时性就显得至关重要。
  • 健壮性:任何一个能带来利益的算法系统都会被人攻击,这方面最典型的例子就是搜索引擎。搜索引擎的作弊和反作弊斗争异常激烈,这是因为如果能让自己的商品成为热门搜索词的第一个搜索结果,会带来极大的商业利益。推荐系统目前也遇到了同样的作弊问题,而健壮性(即robust,鲁棒性)指标衡量了一个推荐系统抗击作弊的能力。

怎么做测评

  • 离线实验(offline experiment)
  • 用户调查(user study)
  • 在线实验(online experiment),即AB test