前言Recommender Systems: The Textbook大自然呈现在我们面前的只是一头狮子的尾巴。但不要怀疑狮子的存在,尽管它因为身型巨大不能马上现出全身。
——Albert Einstein随着Web成为商务和电子交易的重要媒介,推荐系统在20世纪90年代变得越来越重要。人们很早就认识到Web为个性化服务提供了空前的机会,这是其他渠道是不可能做到的。特别是Web为数据收集提供了便利,并且提供了一种非侵入式地推荐物品的用户界面。
自此以后,在公众眼中,推荐系统已经得到了显著的发展。这一事实的证据是,有许多会议和研讨会专门探讨该领域。会议ACM Conference on Recommender Systems特别值得一提,因为它为该领域定期贡献了许多前沿工作。推荐系统领域非常多样化,因为它能够使用各种类型的用户偏好数据和用户需求数据来做推荐。推荐系统中最著名的方法包括协同过滤方法、基于内容的方法和基于知识的方法。这三种方法构成了推荐系统研究领域的基本支柱。近年来,已经设计了一些专门的方法来针对不同的数据领域和上下文,例如时间、位置和社会信息。针对专门的场景提出了大量高级的方法,这些方法可以调整用于不同的应用领域,例如查询日志挖掘、新闻推荐和计算广告。本书的结构安排体现了这些重要的话题。本书的章节可以分为三类:
1)算法和评估:这些章节讨论了推荐系统中的基本算法,包括协同过滤方法(第2和4章)、基于内容的方法(第4章)和基于知识的方法(第5章)。这些方法的混合在第6章中讨论。第7章讨论了推荐系统评估。
2)特定领域和上下文的推荐:推荐系统的上下文在提供有效推荐方面扮演了至关重要的角色。例如,一个用户想要用其位置作为附加的上下文(context)来查找饭店。推荐的上下文可以被看作是影响推荐目标的重要辅助信息。不同类型的域,例如时间数据、空间数据和社会数据,提供了不同类型的上下文。相关的方法在第8~11章中讨论。第11章也讨论了利用社会信息来增加推荐过程可信度的话题。最近的话题(如分解机和可信推荐系统)在这些章节中也有涉及。
3)高级话题和应用:在第12章中,我们将从各个角度讨论推荐系统的健壮性,例如欺诈(shilling)系统、攻击模式及其防御。此外,近期的一些话题,例如排名学习、多臂赌博机、组推荐系统、多标准推荐系统和主动学习系统,将在第13章中讨论。该章的一个重要目标是向读者介绍当前研究的基本思想和原则。虽然不可能在一本书里对当前所有的研究技术细节进行讨论,但我们希望最后一章能够在高级话题方面为读者“破冰”。在这一章中,我们也研究了推荐技术的一些应用环境,例如新闻推荐、查询推荐和计算广告。本章还讨论了如何将前面章节中介绍的方法应用于各个不同的领域。
尽管本书是作为教科书来编写的,但仍有很多来自于工业界和学术界的读者。因此,我们也从应用角度和文献角度来撰写此书。书中提供了大量的示例和习题,使得它可以被用作教科书。由于大部分推荐系统课程只涵盖基础话题,因此有关基础话题的章节和算法着重于课堂教学。另一方面,工业界人员也许发现讨论上下文敏感的推荐系统的章节很有用,因为在许多真实的应用中会有大量可用的上下文辅助信息。第13章的应用部分是特别为工业界人员编写的,不过教师也许会发现它在推荐课程中也是有用的。
最后,我们对所使用的符号进行简要的介绍。本书中一直使用一个m×n的评分矩阵,记为R,其中m是用户的数量,n是物品的数量。矩阵R是不完整的,因为只有一部分项是已观测的。R的第(i,j)项表示用户i对物品j的评分,当它是已观测项时,被记为rij。当项(i,j)是由推荐算法预测得到(而不是用户指定)时,被记为带“帽子”符号(即抑扬符号)的r∧ij,表示它是一个预测的值。向量用“上划线”来表示,例如X或y。
致谢Recommender Systems: The Textbook感谢在撰书期间妻子和女儿给予我的爱和支持,感谢父母给我持续的爱。
本书得到了很多人直接和间接的帮助,我很感激他们。在撰写本书时,我收到了许多同事的反馈,他们是Xavier Amatriain、Kanishka Bhaduri、Robin Burke、Martin Ester、Bart Goethals、Huan Liu、Xia Ning、Saket Sathe、Jiliang Tang、Alexander Tuzhilin、Koen Versetrepen和Jieping Ye。感谢他们所提供的建设性反馈。这些年来,我从大量合作者那里受益良多。这些见解直接或间接地影响了本书。首先感谢多年来与我合作的Philip S. Yu。其他重要的合作者还包括Tarek F. Abdelzaher、Jing Gao、Quanquan Gu、Manish Gupta、Jiawei Han、Alexander Hinneburg、Thomas Huang、Nan Li、Huan Liu、Ruoming Jin、Daniel Keim、Arijit Khan、Latifur Khan、Mohammad M. Masud、Jian Pei、Magda Procopiuc、Guojun Qi、Chandan Reddy、Saket Sathe、Jaideep Srivastava、Karthik Subbian、Yizhou Sun、Jiliang Tang、MinHsuan Tsai、Haixun Wang、Jianyong Wang、Min Wang、Joel Wolf、Xifeng Yan、Mohammed Zaki、ChengXiang Zhai和Peixiang Zhao。我也要感谢导师James B. Orlin在早期对我的指导。
还要感谢我的经理Nagui Halim在我撰写此书时所提供的巨大支持。他的专业支持对我过去和现在的许多书都起着重要的作用。
最后,感谢Lata Aggarwal用微软PowerPoint软件帮我绘制了一些图片。