基本信息
- 原书名:Recommender systems:An introduction
- 原出版社: Cambridge University Press
- 作者: (奥地利)Dietmar Jannach Markus Zanker Alexander Felfernig Gerhard Friedrich
- 译者: 蒋凡
- 丛书名: 图灵程序设计丛书
- 出版社:人民邮电出版社
- ISBN:9787115310699
- 上架时间:2013-6-7
- 出版日期:2013 年7月
- 开本:16开
- 页码:244
- 版次:1-1
- 所属分类:计算机 > 人工智能 > 综合
【插图】

编辑推荐
百度技术委员会主席 廖若雪 新浪微博数据挖掘技术专家 张俊林
人民搜索商务搜索部总监 常兴龙 百分点信息科技有限公司首席运营官 张韶峰
联袂推荐
推荐系统必读经典
内容简介
作译者
Markus Zanker,是奥地利克拉根福阿尔卑斯-亚德里大学(Alpen-Adria Universit?t Klagenfurt)应用信息学系助理教授及信息管理研究项目主任。他还是《人机交互研究国际杂志》的副主编和 ConfigWorks GmbH的共同创始人及执行总监。
Alexander Felfernig,奥地利格拉茨工业大学(Technische Universit?t Graz)教授。他在推荐及配置系统方面的研究成果荣获2009年度的Heinz Zemanek奖。他发表过130多篇科学论文,是《国际电子商务杂志》的评审委员会成员,ConfigWorks GmbH的共同创始人。
Gerhard Friedrich,奥地利克拉根福阿尔卑斯-亚德里大学客座教授,应用信息学院院长,智能系统和商业信息课题组组长。《人工智能通信》的编辑,《大规模定制国际杂志》的副主编。
将凡,毕业于中国科学技术大学计算机系。硕士研究方向为Web文本挖掘,2005年在微软亚洲研究院自然语言技术组参加机器翻译项目,2006年至今任职于百度公司,从事网页搜索引擎的研发。目前的兴趣主要包括:推荐系统、实体搜索和产品开发过程。
目录
第1章 引言 1
1.1 第一部分:基本概念 2
1.1.1 协同过滤推荐 2
1.1.2 基于内容的推荐 2
1.1.3 基于知识的推荐 3
1.1.4 混合推荐方法 4
1.1.5 推荐系统的解释 4
1.1.6 评估推荐系统 4
1.1.7 案例研究 5
1.2 第二部分:最新进展 5
第一部分 基本概念
第2章 协同过滤推荐 8
2.1 基于用户的最近邻推荐 8
2.1.1 第一个例子 8
2.1.2 更好的相似度和赋权体系 10
2.1.3 选择近邻 11
2.2 基于物品的最近邻推荐 11
2.2.1 余弦相似度度量 12
2.2.2 基于物品过滤的数据预处理 13
译者序
首先,这是一本全面介绍推荐系统概念、源流、算法的专业著作,体系完整,贴近实用,结合很多实例告诉你如何尽快地将推荐系统领域里的成熟算法运用起来构建应用。著名的推荐系统 MovieLens的创始人Joseph A. Konstan教授还特地为本书撰写了序。因此这本书非常适合刚刚进入推荐系统领域,希望了解一些成熟算法,解决实际问题的工程师学习使用。
其次,本书更有价值的第二部分介绍了推荐系统在防攻击、消费决策、社交网络和移动四个前沿领域的研究进展,收录了很多已经在实际商业产品中经过反复验证的套路和经验。本书取之有据,言之成理,非常适合希望能在国内各类推荐应用中少走弯路,尽快发挥推荐系统作用的产品负责人参考。
此外,本书在每章之后都给出了参考文献,但与我们常见的按照论文格式给出引用的方式不同,而是单辟一节注释参考书目,介绍你该去看哪些相关内容,这些资料的来龙去脉,当时是为了解决什么问题,解决得怎样等。非常适合不满足于已有结论,愿意梳爬文献资料,探究背后学理的科研人十将此作为推动推荐系统领域进步的新起点。
推荐系统已经发展了十几年,但仍然是一个需要持续创新的领域。我和我的同事、同行们也正在努力将这些研究成果与搜索引擎技术结合起来。本书总结出推荐系统的一些经验和规律已经开始融入到了我们的产品中,正在改变着广大互联网用户的体验。因此可以说,本书提供了一个窗口,非常适合希望洞悉互联网产品的未来发展脉络,把握技术和商业相结合的下一波浪潮的有志同学。
正是对本书这些价值的感悟,使得我能坚持5个月,利用工作之余的深夜和周末坚持翻译,经常是加班回家之后又打开电脑翻译几页。在此过程中,要感谢傅志红老师和李洁编辑在译稿、编辑阶段的帮助,感谢李松峰老师在回稿过程中细致严谨的工作,感谢谢工老师邀请我参加图灵公司的活动,感谢李盼向我介绍图灵的翻译计划,同样感谢陈黎教授、胡蓉博士和张谧老师不辞辛苦地审稿。最后要感谢的是我的妻子和父母,他们帮我承担了两个女儿的抚育责任,我挪用了本该属于他们的时间。
非常抱歉的是,由于能挤压出的时间有限以及本人在专业和翻译水平上的局限,大家最终看到的译稿肯定还会有很多疏漏之处。希望读者能持续关爱这本著作,通过新浪微博@蒋凡Baidu和邮箱jf@ustc.edu,不吝提出宝贵的意见和建议,一同改进。
蒋凡
2012年12月
前言
人们在决定该如何花钱,或者更宽泛地说,如何对未来做出决策时都会提出这样的问题,类似的例子还有很多。
传统上,人们用过各种各样的方法来解决这些决策问题:找朋友聊聊、从可信的第三方获取信息、雇用专家团队、在互联网上咨询、使用决策论的各种方法(如果他想更理性些)、凭直觉或是索性随大流。
然而,几乎每个人都有过这样的经历:推销员大献殷勤的建议并不那么有用;凭感觉跟着富人邻居投资,却没有真正给我们带来收益;无休止地花费时间在互联网上会导致困惑,而不能做出迅速而正确的决定。总而言之,好的建议难得一遇。大多数情况下,需要花费大量时间或金钱,即便如此还总是让人半信半疑。
如果有个能付得起的私人顾问帮助我们高效地做出正确的决策该有多好啊!
构建支持用户在线决策的系统正是推荐系统领域的主要目标。这个目标强调要为大规模用户提供便捷访问的高质量推荐。
强调数据规模和易于访问使得这项技术非常强大。尽管推荐系统的目标是用户的个人决策,但大量的应用使得该系统在更广泛的意义上产生了重要影响,比如Amazon.com的推荐引擎。由于互联网市场的深入渗透,这个问题尤其不能被忽视,因为掌握推荐系统就可以在更广泛的意义上控制市场。想想,比如百货公司所有销售员只能根据订货单推销某种商品。
有人会争辩说,推荐系统是为那些负担不起或不愿为专家的高质量建议付费的人群服务的。从某种程度上,在一些领域这是正确的,比如金融服务或医疗;然而,做出好决策的目标还包括要超越该领域的专家。这显然不太可能,也不是在所有的领域都有必要,但还是可以从很多实例中发现群体智慧能够用于改进决策。因此,考虑到互联网上有着大量可以获取的信息,我们能否开发出一个系统,提供比人为推荐更好的推荐?
努力推荐用户支付得起、个性化、匹配度高的产品是推荐领域的核心问题,这也对技术和心理学提出了很多挑战。尽管在技术层面上,我们关心的是发现尽可能有效利用可用信息和知识的方法,但在设计最终用户交互过程时,必须考虑到心理层面的因素。这些交流过程的设计会极大影响随后推荐的信任度,最终会影响到决策本身。用户没法像理性经济人那样行事,因为后者完全清楚自己想要什么。甚至在推荐过程中询问用户偏好的方式,或者提供哪些决策选项都会影响到用户的选择。因此,推荐系统不能被简化为简单的决策理论概念。
现在被称为“推荐系统”的软件最早出现于十五年前。从那时起,研究人员不断地开发实现推荐系统的新方法。今天,我们中的大多数人已经习惯于推荐系统的服务,比如Amazon.com使用的推荐引擎。历史上,推荐系统由于应用了人工智能和信息过滤领域的方法而广受关注,采用这些方法可以推荐Web站点或对新闻进行排序、过滤。事实上,基于实例或规则技术的推荐方法,正是源于20世纪80年代的专家系统。然而,推荐系统的应用范围远远超过了纯粹的信息过滤方法,现在的推荐技术正在不同领域提供解决方案,比如金融产品、房地产、电子消费产品、电影、书籍、音乐、新闻和Web站点等等。
本书介绍了很多推荐系统技术以及最新的进展。目标读者包括该领域的研究生或刚进入这一领域的博士,开始设计并实现实际推荐系统的专业人士和IT专家。更多的高级资料可以在《推荐系统手册》(Recommender Systems Handbook , Ricci et al.2010)中找到,书中全面收录了这一领域先行者的研究成果。
本书由两部分组成。第一部分先是总结了实现推荐系统的基本方法,并讨论了它们各自的优点和缺点。除了描述如何构建这样的系统,我们还重点讨论了评估推荐精准度和通过在线用户行为检验推荐效果的方法。第二部分重点讨论最新进展,涉及了诸如推荐系统信任度和基于Web 2.0及语义网技术的新兴应用。配合本书主题内容的教学资料可以从http://www.recommenderbook.net/获取。
我们感谢所有对本书做出贡献的人,特别是剑桥大学出版社的Heather Bergman和Lauren Cowles,他们在整个编辑过程中为我们提供了支持。也要特别感谢Arthur Pitman、Kostyantyn Shchekotykhin、Carla Delgado-Battenfeld和Fatih Gedikli,是他们帮助校对了原稿。还要感谢几位学术同事帮助审核,并给了我们很多有益的反馈。
Dietmar Jannach
Markus Zanker
Alexander Felfernig
Gerhard Friedrich
2010年分别于多特蒙德,克拉根福,格拉茨
序言
面向系统的探索。现在看来,推荐系统发展过程中有四个相互交叠的阶段,这些早期的协同过滤系统很显然是其第一阶段中的重要实例。面向系统的探索阶段(不仅是通过协同过滤,还有基于知识的系统,比如FindMe系统(Burke et al.1996))证明了推荐系统的可行性和效果,极大地激发了人们推动该领域在科研及商业实践方面不断向前发展。(我并不是说这些早期研究成果没有研究算法和设计替代方案,而是想说,在很大程度上让人兴奋的是歌声已经响起,我们并不担心它是不是天籁之音。)
这一阶段的关键事件是1996年3月在伯克利举办的协同过滤专题研讨会。这次集会将工作在个性化与非个性化系统、不同算法(从统计汇总、k最近邻到贝叶斯聚类)、不同领域的人们聚集在了一起,最后达成了一项共识:这些研究内容都围绕一个主题,也就是后来人们所说的推荐系统展开,而这在某种程度上要感谢那一期专题学术研讨会的《ACM通信》专刊(Resnick and Varian 1997)。
快速商业化——规模和价值上的挑战。推荐系统出现在快速膨胀的互联网商业氛围中,商业化几乎刻不容缓。MIT的Pattie Maes研究组于1995年创立了Agents公司(后来更名为萤火虫网络,Firefly Networks)。我们在明尼苏达州的GroupLens研究组于1996年创立了Net Perceptions。还有其他很多公司奋起直追。很快,我们就开始面对实验室里未曾遇到的真实挑战。为了成功,公司不得不在如何精确地预测结果上更进一步。我们必须证明能够提供有价值的推荐(一般情况下会选择一些特定产品进行推荐,从而产生额外的购买量),而且要在不降低现有Web站点速度的情况下做到这些。这些系统必须能够在大大超越实验室规模的情况下运行(处理上百万的用户和物品以及每秒成百上千的交易)。所以John Riedl和我合著的关于推荐系统的第一本书Word of Mouse,其目标读者不是研究人员而是营销专家,或许就不那么令人惊讶了。
这一时期研究工作的目标是要解决这些技术挑战。人们开发新的算法以降低在线计算时间,包括沿用至今的基于物品的关联算法和降维方法。研究人员更感兴趣的是根据对于top-n推荐列表的各种性能的度量来评估各个推荐系统。研究领域非常广泛,包括隐式评分、新用户和新物品的冷启动问题以及可信度、可解释性和透明度等用户体验相关问题。
研究大爆发——推荐成为主流。2000-2005年之间,随着互联网泡沫的破灭,或者由于无法抗衡将推荐整合到更全面的商业产品线的主流公司,许多推荐系统公司逐渐消亡了。然而,推荐系统作为一门技术仍然存在,并广泛应用在电子商务、大规模零售业和各种知识管理应用中。
与此同时,随着各个学科研究人员的参与及方法的引入,推荐系统研究得到迅猛发展。来自人工智能、信息检索、数据挖掘、安全与隐私以及商业与营销等各个领域的研究,都为推荐系统提供了新的分析和方法。由于可以获取到海量数据,算法研究方面取得了很大进步,在2006年更是被悬赏100万美元将预测准确度提高10%的Netflix大奖推上高峰。
前进——基于上下文的推荐。Netflix大奖激发了许多研究人员共同不懈努力来提高推荐准确度。但是,即便这些研究人员成功地完成了任务,还是有一批研究人员和专业人士主张要回归到探索和价值的准则上。2006年,MyStrands组织了Recommenders06,这是一个介绍推荐系统现状和未来的暑期班。2007年,我组织了第一届ACM推荐系统大会。这个大会最初有120人参加,到2009年已有300多人。回顾这些事件,可以看出人们对基于上下文的推荐越来越感兴趣,乐于改进研究方向使其立足于理解人们如何与机构或企业互动,推荐如何使得这些互动更为便利。虽然Netflix成功引入一些新的想法,使推荐领域得到了极大的促动,但实际上我们大多数人都知道,一个仅能提高“用户讨厌某些差电影”预测精准度的复杂算法,并不会对Netflix或用户有所帮助。这就解释了为什么2009年最佳论文颁给了一篇证明推荐领域评估算法中传统的“隐藏某些数据”方法存在缺陷的论文(Marlin and Zemel 2009),而近年来被引用次数最多的推荐领域论文是一篇设计如何让评估适合用户需求的论文(Herlockeretal.2004)。
让我们回到这本书。本书涵盖了推荐系统领域的全部知识,并为应对未来新的挑战提供了前瞻性建议。书中全面解释了一系列生成推荐的经典算法和方法,概述了源自社交计算和语义网的新手段对推荐系统的作用。希望这本书能够点燃你的激情,释放你的创造力和进取精神,把推荐系统的研究与应用推向新的高度。
Joseph A. Konstan
杰出McKnight教授
明尼苏达大学计算机科学与工程系
媒体评论
—— 百度主任架构师、百度技术委员会主席 廖若雪
本书比较全面地介绍了推荐系统涉及的相关知识点,很适合对于推荐系统感兴趣的相关人员作为入门教程,目前能够系统全面介绍相关技术的中文书籍还显得匮乏,相信这本译著对于缓解这种情况大有裨益。
——新浪微博数据挖掘技术专家 张俊林
本书不但介绍了比较成熟的经典算法,还介绍了最近几年的一些新进展,并辅之以实际应用的案例介绍。希望看到越来越多的朋友加入到推荐引擎的研究和应用中来!
——百分点信息科技有限公司首席运营官兼技术副总裁 张韶峰
由蒋凡执笔翻译的这本《推荐系统》是一本从基础介绍推荐引擎的难得的好书,给人启迪良多。愿越来越多的互联网爱好者认真阅读本书,走在互联网发展大潮的前沿,成为下一代互联网产品真正需要的人才。
——人民搜索商务搜索部总监 常兴龙
这是迄今为止市面上所有讲推荐系统的书中最全面、最实用的一本入门指南。如果你是教这门课的大学老师,万万不能错过这本“推荐系统大全”。尤其值得称道的是,这本书广泛涵盖了不同类型的推荐系统,并对它们逐一进行了鞭辟入里、细致入微的剖析。虽然这本书定位于初中级读者,但是我认为即使是经验丰富的专业人员,也会在其中发现新鲜有趣的内容。
——Robin Burke, 芝加哥德保罗大学教授
本书涵盖了推荐系统领域的全部知识,并为应对未来新的挑战提供了前瞻性建议。书中全面解释了一系列生成推荐的经典算法和方法,概述了源自社交计算和语义网的新手段对推荐系统的作用。希望这本书能够点燃你的激情,释放你的创造力和进取精神,把推荐系统的研究与应用推向新的高度。
——Joseph A. Konstan, 美国明尼苏达大学教授
书摘
“我该买哪款数码相机?我们全家要在哪儿度过最完美的假期?对孩子教育的最佳投资是什么?我该租哪部电影?我会对哪些网站感兴趣?我下次休假时该买哪本书看?哪个学位和大学对我的前途最有利?”
人们在决定该如何花钱,或者更宽泛地说,如何对未来做出决策时都会提出这样的问题,类似的例子还有很多。
传统上,人们用过各种各样的方法来解决这些决策问题:找朋友聊聊、从可信的第三方获取信息、雇用专家团队、在互联网上咨询、使用决策论的各种方法(如果他想更理性些)、凭直觉或是索性随大流。
然而,几乎每个人都有过这样的经历:推销员大献殷勤的建议并不那么有用;凭感觉跟着富人邻居投资,却没有真正给我们带来收益;无休止地花费时间在互联网上会导致困惑,而不能做出迅速而正确的决定。总而言之,好的建议难得一遇。大多数情况下,需要花费大量时间或金钱,即便如此还总是让人半信半疑。
如果有个能付得起的私人顾问帮助我们高效地做出正确的决策该有多好啊!
构建支持用户在线决策的系统正是推荐系统领域的主要目标。这个目标强调要为大规模用户提供便捷访问的高质量推荐。
强调数据规模和易于访问使得这项技术非常强大。尽管推荐系统的目标是用户的个人决策,但大量的应用使得该系统在更广泛的意义上产生了重要影响,比如Amazon.com的推荐引擎。由于互联网市场的深入渗透,这个问题尤其不能被忽视,因为掌握推荐系统就可以在更广泛的意义上控制市场。想想,比如百货公司所有销售员只能根据订货单推销某种商品。
有人会争辩说,推荐系统是为那些负担不起或不愿为专家的高质量建议付费的人群服务的。从某种程度上,在一些领域这是正确的,比如金融服务或医疗;然而,做出好决策的目标还包括要超越该领域的专家。这显然不太可能,也不是在所有的领域都有必要,但还是可以从很多实例中发现群体智慧能够用于改进决策。因此,考虑到互联网上有着大量可以获取的信息,我们能否开发出一个系统,提供比人为推荐更好的推荐?
努力推荐用户支付得起、个性化、匹配度高的产品是推荐领域的核心问题,这也对技术和心理学提出了很多挑战。尽管在技术层面上,我们关心的是发现尽可能有效利用可用信息和知识的方法,但在设计最终用户交互过程时,必须考虑到心理层面的因素。这些交流过程的设计会极大影响随后推荐的信任度,最终会影响到决策本身。用户没法像理性经济人那样行事,因为后者完全清楚自己想要什么。甚至在推荐过程中询问用户偏好的方式,或者提供哪些决策选项都会影响到用户的选择。因此,推荐系统不能被简化为简单的决策理论概念。
现在被称为“推荐系统”的软件最早出现于十五年前。从那时起,研究人员不断地开发实现推荐系统的新方法。今天,我们中的大多数人已经习惯于推荐系统的服务,比如Amazon.com使用的推荐引擎。历史上,推荐系统由于应用了人工智能和信息过滤领域的方法而广受关注,采用这些方法可以推荐Web站点或对新闻进行排序、过滤。事实上,基于实例或规则技术的推荐方法,正是源于20世纪80年代的专家系统。然而,推荐系统的应用范围远远超过了纯粹的信息过滤方法,现在的推荐技术正在不同领域提供解决方案,比如金融产品、房地产、电子消费产品、电影、书籍、音乐、新闻和Web站点等等。
本书介绍了很多推荐系统技术以及最新的进展。目标读者包括该领域的研究生或刚进入这一领域的博士,开始设计并实现实际推荐系统的专业人士和IT专家。更多的高级资料可以在《推荐系统手册》(Recommender
Systems Handbook , Ricci et al.2010)中找到,书中全面收录了这一领域先行者的研究成果。
本书由两部分组成。第一部分先是总结了实现推荐系统的基本方法,并讨论了它们各自的优点和缺点。除了描述如何构建这样的系统,我们还重点讨论了评估推荐精准度和通过在线用户行为检验推荐效果的方法。第二部分重点讨论最新进展,涉及了诸如推荐系统信任度和基于Web
2.0及语义网技术的新兴应用。配合本书主题内容的教学资料可以从http://www.recommenderbook.net/获取。
我们感谢所有对本书做出贡献的人,特别是剑桥大学出版社的Heather Bergman和Lauren
Cowles,他们在整个编辑过程中为我们提供了支持。也要特别感谢Arthur Pitman、Kostyantyn
Shchekotykhin、Carla Delgado-Battenfeld和Fatih
Gedikli,是他们帮助校对了原稿。还要感谢几位学术同事帮助审核,并给了我们很多有益的反馈。
Dietmar Jannach