论文标题: Improving Conversational Recommender Systems via Knowledge Graph based Semantic Fusion
论文来源: ACM SIGKDD 2020
论文链接: https://arxiv.org/abs/2007.04032
会话推荐系统(conversation recommender system, CRS)旨在通过交互式的会话给用户推荐高质量的商品。通常CRS由寻求商品的user和推荐商品的system组成,通过交互式的会话,user实时表达自己的偏好,system理解user的意图并推荐商品。目前会话推荐系统有两个问题需要解决。首先,对话数据本身缺少足够的上下文信息,无法准确地理解用户的偏好(传统的推荐任务会有历史交互序列或者用户属性,但是该场景下只有对话的记录)。其次,自然语言的表示和商品级的用户偏好之间存在语义鸿沟(在user的话语“Can you recommend me a scary movie like Jaws”中,用户偏好反映在单词”scary“和电影实体”Jaws“上,但这两类信息天然存在语义的差异)。
为了解决上述问题,本文提出了模型KG-based Semantic Fusion approach(KGSF),通过互信息最大化的多知识图谱语义融合技术,不仅打通了对话中不同类型信息的语义鸿沟,同时针对性得设计了下游的模型,以充分发挥两个知识图谱的作用,在会话推荐系统的两个任务上均取得了state-of-the-art的效果。
会话推荐系统是近年来寻求通过与用户的对话提供高质量推荐的新兴研究课题。就方法而言,CRS需要在推荐模块和对话模块之间无缝集成。一方面,对话模块要理解用户的意图,并生成合适的回复。另一方面,推荐模块学习用户偏好,并基于上下文推荐高质量的商品。为了开发有效的CRS,学界已经提出了数种集成这两个模块的解决方案,包括基于半结构化用户查询的信念跟踪器[1]和用于模块选择的开关解码器[2]。
虽然这些研究在一定程度上提高了CRS的性能,但仍有两个主要问题有待解决。首先,会话主要由几句话组成,缺乏足够的上下文信息,无法准确理解用户的偏好。如上表所示,一个用户正在寻找类似于“Paranormal Activity(2007)”的恐怖电影,其中用两个短句子描述了他/她的偏好。为了获取用户的内部信息,我们需要充分利用上下文信息并对其建模(e.g. 理解单词“scary”和电影“Paranormal Activity(2007)”背后的语义)。显然,单凭对话文本很难获得这样的事实信息。第二,对话内容用自然语言表示,而实际用户偏好则反映在商品或实体上(例如,演员和电影类型)。这两种数据信号之间存在天然的语义差异。我们需要一种有效的语义融合方法来理解或生成对话内容。如上表所示,如果不能拟合语义上的鸿沟,就无法生成解释推荐的文本(e.g. “thriller movie with good plot”)。
为了丰富对话上下文信息,我们使用知识图谱提供外部知识。由于上下文信息包含自然语言词汇和商品两类数据,所以使用面向单词(word)的知识图谱(KG)和面向商品(item)的知识图谱,分别强化词汇的知识和商品的知识。ConceptNet[3]作为面向word的KG,提供了word间的关系,诸如每个单词的同义词,反义词和共现单词。DBpedia[4]作为面向item的KG,提供了item之间的关系,描述有关item属性的结构化事实。但是两个KG之间仍然存在着语义鸿沟,对KG数据的利用可能会受到限制。
我们首先运用图神经网络分别学习两个知识图谱的节点表示,然后使用MIM弥合两个知识图谱的语义鸿沟。我们核心的想法是让共现在一个会话中的word和item的表示更相似,使用这种策略可以对齐两个语义空间下的数据表示。在语义对齐的基础上,本文进一步利用了知识图谱强化后的的推荐模块来提供精准的推荐,并利用知识图谱强化后的对话组件来帮助在会话文本中生成信息量丰富的关键字或实体。
据我们所知,这是第一次使用KG增强的语义融合来解决对话系统和推荐系统的集成。我们的模型利用两个不同的KG分别增强单词和商品的语义,并统一它们的表示空间。在一个公共CRS数据集[2]上的大量实验证明了我们的方法在推荐和会话任务上的有效性。
如图展示了电影推荐场景的模型总览。“SA”,“ KA”和“ CA”分别表示自注意力,基于KG的注意力和基于上下文的注意力。
本文将对话系统和推荐系统中基本语义单元分别定义为word和item,使用两个独立的知识图谱来增强两种语义单元的表达。
本文使用图卷积神经网络[5](GCN)来捕获ConceptNet上节点之间的语义关系。ConceptNet将一个语义事实存储为一个三元组< , r, >,其中 是word,r是word之间的关系。在每次更新节点表示时,GCN都会从图谱中的一跳邻居接收信息,并执行以下聚合操作:其中 是诸节点的表示, 是各层的可学习的矩阵,A是图对应的邻接矩阵,D是一个对角度矩阵。通过堆叠多个卷积,信息可以沿着图结构一起传播。当算法终止时,每个word对应一个 维的表示
本文使用R-GCN[6]学习DBpedia上item的表示。节点 在 层的表示通过如下公式计算:其中 , 表示在关系 下的邻居节点集合, 和 是可学习的转换矩阵, 是正则化参数.
为了弥合word与item的语义鸿沟,本文提出了使用MIM[7]相互地增强成对信号的数据表示。给出两个变量 和 ,互信息(MI)被定义为:
其中 是联合概率分布 和边缘概率分布的点积 的KL散度。
通常MI是很难计算出的,于是MIM使用如下公式来最大化MI而不是计算准确数值:其中 和 分别代表正样本的期望和负样本的期望。 是两类别分类器。
对于一个共现在一个会话中的item-word pair < , >,我们通过一个转换矩阵将他们的表示变得相近:
其中 是用于对齐语义空概念的转换矩阵。通过将公式5代入公式4,我们可以得到所有会话上的目标损失,并且通过优化算法将损失最小化,最终弥合word与item的语义鸿沟
为了提高性能和效率,我们为一个会话设置了一个 super token ,假设它可以代表所有上下文单词的语义,并且使用自注意力机制学习 的表示:
本文使用门控机制获得用户 的偏好表示 :其中 是通过与公式6类似的自注意力机制在会话上下文上获得的的单个词向量, 同理。
在获得用户偏好后,我们可以计算每个商品被推荐给用户的概率,以此给商品排序、做出推荐:
为了学习参数,我们使用一个交叉熵损失:
其中 是对话编号, 是商品编号, 是互信息最大化损失函数, 是加权矩阵。
本文使用Transformer[8]作为编码器-解码器架构,并且对解码阶段进行改进。在自注意力子层后,我们使用了两个基于知识图谱的注意力层融合两个知识图谱的信息:其中 定义了多头注意力函数, 定义了一个全连接前向传递网络, 是编码器的嵌入矩阵输出, 和 都是知识图谱增强后的表示。 是解码器第 层的嵌入矩阵。
我们进一步使用复制机制增强被推荐的item、相关实体与描述性关键词的生成,最终的下一个符号 的预测公式如下:其中 是解码器输出的词汇概率, 是在两个知识图谱上使用标准复制机制的复制概率。
回复生成模块的损失函数如下:
本文在ReDial数据集上进行了实验,并且对比了KGSF模型与基线算法的性能。按照对话推荐领域的惯例,本文在推荐任务和生成任务上分别进行实验和分析。
为了验证KGSF模型的性能,本文在标准设置、冷启动设置下分别进行试验。从图中看出,KGSF模型性能稳定且总是最优。
从图中可以看出,KGSF模型在所有评估指标上始终更好。
我们展示了一个定性分析的例子说明我们的模型如何工作。
本文为CRS提出了一种基于知识图谱的语义融合技术。通过使用两个外部的知识图谱,我们增强了单词和商品的语义表示,并且使用互信息最大策略对齐这两个组件的语义空间。基于对齐的语义表示,我们设计了能够精确推荐的知识图谱增强的推荐模块、能够产生丰富单词和实体的知识图谱增强的对话模块。拓展性实验证明我们方法的性能比若干基线方法要好。
在未来的工作中,我们将考虑使用更多种类的外部信息来改善CRS的性能。此外,我们将研究如何使对话内容更具说服力,并能为推荐结果提供解释。最后,另一个有趣的主题是如何使用用户的历史交互数据,并使用预定义的的用户画像开始会话。
[1] Yueming Sun and Yi Zhang. 2018. Conversational Recommender System. In SIGIR 2018. 235–244.
[2] Raymond Li, Samira Ebrahimi Kahou, Hannes Schulz, Vincent Michalski, Laurent Charlin, and Chris Pal. 2018. Towards Deep Conversational Recommendations.(2018), 9748–9758.
[3] Robyn Speer, Joshua Chin, and Catherine Havasi. 2017. ConceptNet 5.5: An Open Multilingual Graph of General Knowledge. In AAAI 2017. 4444–4451.
[4] Christian Bizer, Jens Lehmann, Georgi Kobilarov, Sören Auer, Christian Becker, Richard Cyganiak, and Sebastian Hellmann. 2009. DBpedia - A crystallization point for the Web of Data. J. Web Semant. 7 (2009), 154–165.
[5] Graph Convolutional Neural Network. In BMVC 2016
[6] Michael Schlichtkrull, Thomas N. Kipf, Peter Bloem, Rianne van den Berg, Ivan Titov, and Max Welling. 2018. Modeling Relational Data with Graph Convolutional Networks. Lecture Notes in Computer Science (2018), 593–607.
[7] Fan-Yun Sun, Jordan Hoffmann, Vikas Verma, and Jian Tang. 2020. InfoGraph: Unsupervised and Semi-supervised Graph-Level Representation Learning via Mutual Information Maximization. (2020).
[8] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin. 2017. Attention is All you Need. , 5998–6008 pages.
推荐阅读
模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法
征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)
文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化
斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用
关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。
阅读至此了,分享、点赞、在看三选一吧🙏