陈仲夏、王希廷、谢幸作者

IJCAI 2019 | 为推荐系统生成高质量的文本解释:基于互注意力机制的多任务学习模型

编者按:在个性化推荐系统中,如果能在提高推荐准确性的同时生成高质量的文本解释,将更容易获得用户的“芳心”。然而,现有方法通常将两者分开优化,或只优化其中一个目标。为了同时兼顾二者,微软亚洲研究院社会计算组结合认知科学的相关理论,提出了基于互注意力的多任务模型,并用充分的实验证明了模型的有效性。

近年来,个性化推荐系统极大地提升了用户遴选信息的效率。人们期望推荐系统能够掌握用户喜好,准确推荐用户感兴趣的商品。研究表明,在推荐的同时提供文字解释可以有效获得用户的信赖,增加推荐系统的说服力与满意度,因此推荐可解释性(explainability)成为新的研究热点。在之前的两篇文章(《可解释推荐系统身怀绝技,一招击中用户心理》《可解释推荐系统知其然,知其所以然》)中,我们探讨了可解释推荐的定义、目标、解释类型等,这篇文章中,我们将介绍我们的最新成果:高质量文本解释生成。

高质量文本解释生成在广泛的行业领域具有强大的应用前景,能够产生丰厚的经济和市场价值。比如在金融交易领域,市场上的潜在交易非常多,目前这类交易大多通过人工经纪方式促成。如果推荐算法准确且可以生成高度可解释的文本(如“出1个亿隔夜,买断质押皆可,中债AA以上,秒到,可拆分,走过路过不要错过”),就可以在极大程度上替代目前的人工判断,帮助挖掘用户的潜在交易对象,还有助于对交易员进行精确画像、促进对交易行为模式的理解、增加交易多样性等。

本研究由微软亚洲研究院与中国外汇交易中心合作完成。中国外汇交易中心是微软亚洲研究院“创新汇”成员,过去一年中,和微软亚洲研究院在金融交易智能辅助系统、金融交易知识图谱等方面开展了深入的合作。本研究中,我们关注可解释性中一个关键问题:如何兼顾准确性和可解释性这两大要素,在生成高质量的文本解释的同时提高推荐准确性。现有方法通常将两者放在分开的两个步骤中单独优化,或是只优化其中一个目标,很大程度上限制了模型的表现。我们以两类应用最广泛的可解释推荐算法为例进行阐释。这两类可解释推荐算法为后处理(post-hoc)和嵌入式(embedded)。

后处理方法(图1(a))侧重于为已有的黑箱推荐模型提供解释。这类方法先优化模型准确性,再根据推荐结果生成解释。这样的方式丢失了推荐模型中包含的丰富信息,往往是通过预定义模板生成解释,既无法反映系统的真实推荐原因,也欠缺多样性,容易让用户觉得枯燥。

图1:不同的可解释推荐系统结果示例嵌入式方法(图1(b)(c))将解释生成模块整合到推荐模型中,优化目标通常只考虑推荐准确性,解释由对提高推荐准确性最有效的重要特征或是句子构成。这种方法没有在优化目标中考虑可解释性,因此无法保证解释的质量及个性化程度。

那么,如何构建一个联合、统一的框架同时对推荐性和可解释性进行高效优化呢?一个直接的想法就是利用多任务学习。这是因为推荐与解释生成任务都需要对用户兴趣进行精细刻画,我们希望充分利用这两个任务之间的联系,使它们相互促进。

但是,简单地共享两个任务学习中所需的隐向量(比如用户隐向量和商品隐向量)进行多任务学习存在两个问题:一是这样的隐向量本身不包含直观的实际含义,不能在生成解释的时候给予显式约束,会使模型倾向于产生常见的套话(如图1(d)所示);二是简单的隐向量缺乏对用户与商品的深层次交互的学习,其表示能力不足,继而影响到推荐结果和解释生成。我们发现,解决这个问题的关键是要对用户与商品之间的深层次交互进行显式、可解释的建模,并将建模结果作为约束直接影响解释生成和推荐结果。这样不仅能够提高解释效果(如图1(e)所示),还可以促进推荐准确性的提高。

模型框架

受认知科学的相关启发,在IJCAI 2019上,我们提出了一种基于互注意力机制多任务学习模型CAML。在认知科学中,人类进行信息处理的过程分为三个子阶段:(1)将输入信息进行编制、转换的编码阶段(encoding);(2) 选择编码信息中重要的片段并利用合适的形式(如网络)进行存储的存储阶段(storage);(3) 在实际任务中激活、解码存储的重要信息并依此做出决策的检索阶段(retrieval)。我们将认知科学中的三个阶段分别对应到框架中的三个子部分,设计了包含编码器(encoder)、选择器(selector)、解码器(decoder)三部分的多任务学习架构。其中编码器对应的是对输入信息进行编制、转换的编码阶段;选择器挑选对用户、商品都重要的概念作为推荐及解释任务的共有知识(cross knowledge),对应存储阶段;解码器利用共有知识分别进行推荐和解释生成,对应的是在实际任务中激活存储的重要信息并依此做出决策的检索阶段。

图2:基于互注意力的多任务学习模型 CAMLCAML 的模型框架如图2所示,模型需完成的具体任务是:给定用户u,商品v,以及用户与商品的历史点评信息,预测出用户对该商品的评分r,同时产生一条文字解释阐述用户喜欢或不喜欢该商品的原因。同时,为了提取历史点评中的重要信息及特征,我们利用微软概念图谱(Microsoft Concept Graph)筛选出点评中的重要概念词(concept)。下面我们对编码器、选择器、解码器分别进行具体介绍。

编码器主要由两部分组成:(1)文字编码器将点评中的每个词编码为词向量,综合点评中的全部词向量,我们可以对该点评进行编码;(2)用户及商品隐表示编码器学习用户及商品的隐向量,用这些隐向量对其显式特征信息进行补充。

选择器意在遴选对推荐与解释生成任务来说都很重要的点评以及概念,作为两个任务共有的知识。与强化学习方式相比,多指针互注意力网络能够更好地建模用户与商品的深层信息交互,拥有更好的学习效率及收敛性。受此启发,我们设计了一种层级的多指针互注意力选择器(multi-pointer co-attention selector),仅对重要信息进行保留。

具体地,每个指针(pointer)对应两层互注意力网络,分别选择一个用户或商品概念。我们以选择用户概念为例进行说明,选择商品概念可以以类似的方式进行。第一层互注意力网络,利用点评编码计算用户点评在商品历史点评中的相关程度。综合用户与商品各个点评之间的互注意力,模型便可在点评这一层面挑选出用户最重要的历史点评。由于选择过程中 argmax 函数不可导,难以进行梯度回传,我们采用近期研究工作中提出的 Gumbel Softmax 函数,在正向传播时使用硬性注意力,反向传播中仍保持软性注意力来保证梯度正常回传。在筛选出用户最重要的点评后,我们将点评展开到概念(concept)这一层次,利用第二层互注意力网络计算每个概念的作用,选择点评中最为重要的概念作为对用户点评信息的补充。

考虑到用户在进行评分或点评时可能参考多个历史点评,我们重复单指针选择器的操作,可得到多组点评与概念编码。我们利用非线性层将这些用户及商品编码进行整合,通过选择器获得基于互注意力的用户表示和商品表示,它们与用户及商品的隐向量共同组成了完整的用户及商品表示。

解码器结合用户与商品表示,同时对推荐与解释生成进行优化。推荐任务中,我们使用因子分解机(Factorization machine)计算用户对商品的评分;解释生成中,我们利用循环神经网络 GRU 迭代地生成文字解释,预测的评分也作为输入信息以保持解释与评分的一致性。同时,我们结合选择器中挑出的重要概念词设计了新的代价函数,显式地激励模型生成包含概念词的文字解释,从而提升生成解释的质量及信息量。

综上,我们设计了基于互注意力机制多任务学习模型,从更深层次刻画了用户与商品的信息交互,能够互补地学习对推荐及解释生成都有作用的历史信息。

实验结果

我们在亚马逊的电器、电影电视以及 Yelp 三个不同类型的公开数据集上对上述模型进行评测。我们采用常见的评价指标 Bleu 和 ROUGE 对生成解释的质量进行评测,将 CAML 与各种主流的解释生成模型进行对比,其结果如表1所示。在三个数据集上,CAML 的各个指标均超过了基准模型,其中 Bleu 得分在最优的基准算法的基础上均取得了14.6%以上的提升。

为了更好地说明 CAML 能够生成高质量的解释,我们还进行了人工评测,其结果如图3所示。与基准模型相比,我们生成的文本解释在流畅性和实用性上都取得了提升。生成的解释样例如表2所示。从表中可得知,我们生成的解释富有信息量,解释中包含的概念与用户的真实兴趣十分契合。这显示出我们设计的“编码器—选择器—解码器”架构和多指针互注意力选择器的有效性,以及建模深层次用户、商品交互和显式限制解释生成对提升解释生成质量的帮助。

表1:三个数据集上解释生成质量的评测结果
图3:三个数据集上的解释生成的人工评测结果
表2:生成解释的样例我们同时通过常用的 RMSE 评价指标对评分推荐任务进行评测,其结果如表3所示。与主流推荐算法相比,CAML 在各个数据集上均取得了最优的效果。这说明我们提出的架构及通过多层次互注意力建模深层次用户/商品交互在推荐任务中的有效性。
表3:三个数据集上评分预测的评测结果我们还对模型中的重要模块进行了对比实验。从表1、2中 CAML-G(只保留解释生成任务)、CAML-R(只保留推荐任务)、CAML-C(去除模型中和 concept 有关的模块)与 CAML 的实验结果对比可得知,多任务学习模型的效果强于各单任务学习模型,而引入概念(concept)也提升了相关评测结果,这进一步佐证了我们提出的模型的可靠性。

综上,为了兼顾推荐系统的准确性与可解释性,我们参考认知科学的相关理论提出了基于互注意力的多任务模型,并用充分的实验证明了模型的有效性。目前CAML模型模型尚无法解决推荐系统的冷启动问题,我们将在未来的工作中尝试对此进行改进。

了解更多技术细节,请阅读我们的论文:

Co-Attentive Multi-Task Learning for Explainable Recommendation

论文链接:https://www.microsoft.com/en-us/research/uploads/prod/2019/05/caml_camera_ready.pdf

微软研究院AI头条
微软研究院AI头条

专注科研19年,盛产黑科技

理论推荐系统IJCAI 2019
3
相关数据
微软亚洲研究院机构

微软亚洲研究院于1998年在北京成立,是微软公司在亚太地区设立的基础及应用研究机构,也是微软在美国本土以外规模最大的一个研究院。微软亚洲研究院从事自然用户界面,智能多媒体,大数据与知识挖掘,人工智能,云和边缘计算,计算机科学基础等领域的研究,致力于推动计算机科学前沿发展,着眼下一代革命性技术的研究,助力微软实现长远发展战略。通过与微软产品部门紧密合作,微软亚洲研究院将众多创新技术转移到了微软的核心产品中,如Office、Windows、Azure、Bing、Visual Studio、Xbox Kinect以及小冰、Cortana和Microsoft Translator等人工智能产品。

https://www.msra.cn/
基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

知识图谱技术

知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。 知识图谱这个概念最早由Google提出,主要是用来优化现有的搜索引擎。不同于基于关键词搜索的传统搜索引擎,知识图谱可用来更好地查询复杂的关联信息,从语义层面理解用户意图,改进搜索质量。比如在Google的搜索框里输入Bill Gates的时候,搜索结果页面的右侧还会出现Bill Gates相关的信息比如出生年月,家庭情况等等。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

概念图技术

概念图(CGs)是知识表示的形式主义。 在第一篇关于CG的论文中,John F. Sowa用它们来表示数据库系统中使用的概念模式。 关于CGs的第一本书(Sowa 1984)将它们应用于人工智能、计算机科学和认知科学等广泛的主题。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

多任务学习技术

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~