下面介绍三个关键热点问题:基于对话的推荐、因果推荐和常识推荐。
基于对话的推荐
传统的推荐算法与用户的交互较为缺乏,难以及时有效地把握用户兴趣。基于对话的推荐系统(Conversational Recommender System,CRS)能够通过与用户深入互动来了解用户兴趣,成了推荐系统领域一个新的研究热点。基于对话的推荐系统的核心是用户与推荐系统的在线交互,即将通过用户与推荐系统的对话交互过程获得用户的反馈,并将用户反馈融入推荐模型中,期望更好地理解用户的兴趣并提升推荐的准确性。
新加坡南洋理工大学的 Lei 等人对基于对话的推荐系统进行了总结,提出了基于对话的推荐系统需要关注的四个研究问题。
1. 冷启动场景下的探索与开发的权衡
对话系统可以方便地收集用户的兴趣信息,因此能够帮助推荐系统解决冷启动的问题。例如,Christakopoulou 等人提出了一个基于对话的餐厅推荐系统,通过不断地问用户问题,快速了解用户兴趣,然后进行推荐。这类方法需要考虑问用户多少问题是合适的。如果问题过多,用户可能会丧失回答问题的兴趣,甚至丧失对推荐系统的信任。如果问题过少,系统可能难以准确地把握用户兴趣,导致推荐的准确率降低。因此,基于对话的推荐系统在解决冷启动问题时存在一个经典的探索与开发的权衡问题。解决这类问题的常用技术是多臂老虎机(multi-armed bandit)算法。例如,Christakopoulou 等利用多臂老虎机算法设计了一个探索与开发的权衡,首先将用户的表征向量设置为全部用户的平均值,然后根据多臂老虎机的策略对用户提问,最后根据问题的答案更新用户的表征向量。
2. 以问题为中心的基于对话推荐
在这类场景中,对话由用户主动发起,推荐系统根据用户的问题决定如何推荐物品,以及如何进一步地问更多的问题。例如,在电影推荐场景中,用户可能会要求系统推荐一部最近的热门喜剧电影。此时,对话的目的在于更准确地理解用户的意图,比如用户过去看过哪些喜剧电影,以及对导演、演员、年代和语言等方面的偏好,然后基于用户的回答不断地构建用户的表征向量,直到推荐的电影满足用户的需求。2018 年,Li 等人发布了一个基于对话的电影推荐数据集 ReDial,并提出了一种基于自编码器的推荐算法来实现对话式推荐,能够根据对话和情感分类预测用户对电影的意见,然后将用户偏好输入自编码器中产生推荐。自编码器方法能够训练得到一个重构输入的神经网络,在重构的过程中将未观测到的用户评分估计出来。由于自编码器的网络参数不需要针对新用户重新训练,给定一个用户的评分向量即可完成推荐,因此更适合无法观测到用户历史兴趣的基于对话推荐场景。
3. 以策略为中心的基于对话推荐
很多现实世界的对话都是多轮的,即用户可能在一次对话中回答多个不同类的问题。例如,在为用户推荐餐厅时,不仅需要了解用户的口味偏好,还需要了解用户的位置信息等。这类问题的核心是如何决定需要提问的问题属性,然后基于问题的答案决定下一个问题以及推荐的内容。Sun 等人提 出了一个包含推荐模块、置信度追踪模块和决策模块的基于对话的推荐系统。通过置信度追踪来分析用户在对话过程中的语义,然后利用决策模块判断下一步是应该提问还是推荐。如果决策模块的决定是推荐,系统会调用推荐模块,根据用户在对话中体现的兴趣以及历史兴趣生成推荐结果。
4. 对话理解与生成
对话过程中最基本的问题就是准确地理解用户的输入语句然后生成自然且相关的答案。这一问题也是对话系统研究人员关注的。与通用对话系统不同,推荐系统的对话一般都是基于某个特定领域,如电影、音乐和餐厅等,因此领域相关的知识对对话的理解与生成都非常重要。Chen 等人提出利用知识图谱将物品相关的上下文信息引入推荐的对话过程中,例如电影导演、演员和类型等。这些信息的引入使推荐系统在用户没有提到具体物品的情况下做出推荐,同时这些上下文信息的引入还能够帮助提升推荐系统的准确性。
因果推荐
首先,因果性会影响推荐系统模型的训练。推荐系统一般假设用户会浏览所有物品,然后从中选择自己喜欢的物品,但是实际上这种假设是不成立的。Wang 等人认为电影并不是随机暴露给用户的,而是用户通过一个有偏的分布来选择电影,然后在选择的电影范围内进行评价。针对这一问题,他们设计了一个能够去除混淆因子的推荐算法。首先,根据用户的评分数据建模 电影对用户的暴露模型,并基于模型估计系统中未观测到的混淆因子。然后,推荐模型在考虑混淆因子的情况下拟合观测到的评分。基于这样的设计,推荐系统可以分析不同暴露的电影与用户评分之间的关系。实验分析表明,去除混淆因子后,推荐算法具有更强的泛化能力,尤其是针对新用户,能够提供更准确的推荐。
另外,因果性也会影响推荐系统的评估。在衡量推荐系统的准确性时,离线的评估往往不能准确地衡量推荐效果,背后的原因就是在离线的评估中无法对用户进行干预,因此难以计算在推荐其他物品时用户的反馈是什么。例如,在历史数据中观测到用户 u 购买了商品 a,而实际上如果用户看到了商品b,那么用户更可能会购买 b。在这种情况下,如果推荐系统推荐了商品 b 给用户 u,就会被离线评估判断为无效。如果将离线评估改为在线评估,就可以解决这类问题。但是在线评估的代价很高,一般难以广泛使用。一种更简单的策略是采用反事实推理(Counterfactual Reasoning)的方法,例如利用重要性采样(Importance Sampling)修正观测样本中存在的偏差,实现无偏的估计。
常识推荐
与人工智能的其他领域一样,推荐系统也面临着数据完整性的问题,即观测到的数据只涵盖一部分现实世界的情况。因此,即使推荐结果在观测数据的范围内是合理的,这些结果在人看来可能是不合理的,即可能不符合常识。这些不符合常识的推荐内容会导致推荐准确率的降低,甚至影响用户对推荐系统的信任。例如,当前的很多推荐系统都不会考虑用户过去购买的商品与推荐商品之间的冲突,当用户购买了电视机之后,很多电商的推荐系统会继续将电视机推荐给用户,这种做法显然是缺乏常识的。但是由于推荐系统观测到的数据并不存在常识知识,所以系统难以解决这类问题。
常识库是一种解决上述问题的关键技术。Tsai 等人针对搜索引擎中的关键字推荐问题,提出结合 ConceptNet 和 Wikipedia 将相关语义的关键字与用户查询关键字进行关联,然后将所有相关关键字进行排序。该方法利用到了常识库 ConceptNet 的知识,因此推荐的内容能够保证较高的合理性。然而,这种方法难以扩展到更广泛的推荐场景中,例如无法针对电商中电视机被反复推荐的问题。除 ConcetpNet 之外,常用的常识知识库还有 Tuple KB、QuasimodoKB、WebChild 和 True Knowledge 等。如何利用这些知识库更好地指导推荐列表的生成是有待探索的重要研究领域。目前,结合常识提升推荐质量的研究工作比较少见,这一领域可能会是未来推荐系统研究的一个新方向。
本文节选自《推荐系统:前沿与实践》一书,李东胜 练建勋 张乐 任侃 卢暾 邬涛 谢幸 著
本书作者李东胜、练建勋、张乐、任侃、卢暾、邬涛、谢幸长期活跃在推荐系统研发一线,在推荐系统领域的权威会议和期刊上发表过数百篇有影响力的学术论文,主持开发包括Microsoft Recommenders在内的多个成功推荐系统项目。
本书作者以第一线的视角和经验对推荐系统进行总结,尝试从原理与实践两个角度向读者剖析推荐系统。
在原理方面,本书介绍各类经典推荐算法以及前沿的深度学习推荐算法,涵盖深度协同过滤、特征交互、基于图神经网络的推荐、序列与会话推荐、结合知识图谱的推荐和基于强化学习的推荐等重要技术,探讨推荐算法研究在对话、因果、常识等方面的前沿话题,分析推荐系统在数据融合、系统扩展、性能评估等方面的关键挑战,并探讨如何设计负责任的推荐系统等。
在实践方面,本书结合微软的开源项目Microsoft Recommenders介绍推荐系统的实践经验,读者可以基于本书提供的源代码,深入学习推荐算法的设计原理和实践方式,并可以基于本书从零开始快速搭建一个准确、高效的推荐系统。
本书不仅适合互联网、大数据等相关领域技术人员阅读,也适合高等院校计算机、软件工程、人工智能等专业的本科生和研究生参考。
总的来说,本书是一本“来得恰到好处”的推荐系统著作,兼顾了理论性和实践性,包含了经典算法和前沿方法。
本书的作者们都是该领域全球范围的研究学者,且多数身在微软,因而对产业需求非常敏锐!希望各位读者都能从本书中有所得。
——周涛 电子科技大学教授
在互联网时代,推荐系统具有巨大的商业价值和社会影响力。三十年来,推荐系统受到学术界与工业界的持续关注。本书的作者们活跃在推荐系统领域的研发前沿,具有第一线的视角和经验。本书从经典推荐算法入手,深入介绍了基于深度学习的推荐技术,并结合知名开源项目Microsoft Recommenders的实践,向读者们展示了推荐系统领域的全景。
——杨强 加拿大工程院及加拿大皇家科学院两院院士,微众银行首席人工智能官,香港科技大学讲席教授
本书是推荐系统领域的一本亟需之作。谢幸博士是世界领先的推荐系统专家,他和合作者们基于过往研究经历与所开发的开源项目,深入浅出地介绍推荐系统的基础知识、原理和实践经验。本书受众广泛,适合初学者、技术人员及研究人员阅读。任何想要了解推荐系统基本原理、实践经验及未来发展方向的读者都适合阅读本书。
——刘欢 美国亚利桑那州立大学教授,ACM Fellow
推荐系统是人工智能的重要应用领域,如何构造实用的推荐系统是大家都关心的问题。本书作者相关研发团队在推荐系统领域积累深厚,不少领域中的重要模型就是由他们提出的。本书对推荐系统的主要技术发展脉络进行了深入浅出的梳理和讲解,重点介绍了深度学习相关的前沿方向,理论与实践兼备,是推荐领域的佳作。
——张俊林 新浪微博机器学习团队AI Lab负责人