论文标题: Improving Conversational Recommender Systems via Knowledge Graph based Semantic Fusion

论文来源: ACM SIGKDD 2020

论文链接: https://arxiv.org/abs/2007.04032

来自:RUC AI Box

会话推荐系统(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的效果。

1 引言

会话推荐系统是近年来寻求通过与用户的对话提供高质量推荐的新兴研究课题。就方法而言,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]上的大量实验证明了我们的方法在推荐和会话任务上的有效性。

2. 方法

如图展示了电影推荐场景的模型总览。“SA”,“ KA”和“ CA”分别表示自注意力,基于KG的注意力和基于上下文的注意力。

2.1 编码外部知识图谱

本文将对话系统和推荐系统中基本语义单元分别定义为word和item,使用两个独立的知识图谱来增强两种语义单元的表达。

2.1.1 编码面向word的知识图谱

本文使用图卷积神经网络[5](GCN)来捕获ConceptNet上节点之间的语义关系。ConceptNet将一个语义事实存储为一个三元组<, r, >,其中,是word,r是word之间的关系。在每次更新节点表示时,GCN都会从图谱中的一跳邻居接收信息,并执行以下聚合操作:其中是诸节点的表示,是各层的可学习的矩阵,A是图对应的邻接矩阵,D是一个对角度矩阵。通过堆叠多个卷积,信息可以沿着图结构一起传播。当算法终止时,每个word对应一个维的表示

2.1.2 编码面向item的知识图谱

本文使用R-GCN[6]学习DBpedia上item的表示。节点在层的表示通过如下公式计算:其中, 表示在关系下的邻居节点集合, 和是可学习的转换矩阵, 是正则化参数.

2.2 使用互信息最大化策略的知识图谱融合

为了弥合word与item的语义鸿沟,本文提出了使用MIM[7]相互地增强成对信号的数据表示。给出两个变量和,互信息(MI)被定义为:

其中 是联合概率分布 和边缘概率分布的点积 的KL散度。

通常MI是很难计算出的,于是MIM使用如下公式来最大化MI而不是计算准确数值:其中 和 分别代表正样本的期望和负样本的期望。 是两类别分类器。

对于一个共现在一个会话中的item-word pair <,>,我们通过一个转换矩阵将他们的表示变得相近:

其中 是用于对齐语义空概念的转换矩阵。通过将公式5代入公式4,我们可以得到所有会话上的目标损失,并且通过优化算法将损失最小化,最终弥合word与item的语义鸿沟

为了提高性能和效率,我们为一个会话设置了一个 super token ,假设它可以代表所有上下文单词的语义,并且使用自注意力机制学习的表示:

2.3 知识图谱增强的推荐模块

本文使用门控机制获得用户的偏好表示 :其中 是通过与公式6类似的自注意力机制在会话上下文上获得的的单个词向量, 同理。

在获得用户偏好后,我们可以计算每个商品被推荐给用户的概率,以此给商品排序、做出推荐:

为了学习参数,我们使用一个交叉熵损失:

其中是对话编号,是商品编号,是互信息最大化损失函数,是加权矩阵。

2.4 知识图谱增强的回复生成模块

本文使用Transformer[8]作为编码器-解码器架构,并且对解码阶段进行改进。在自注意力子层后,我们使用了两个基于知识图谱的注意力层融合两个知识图谱的信息:其中定义了多头注意力函数, 定义了一个全连接前向传递网络, 是编码器的嵌入矩阵输出, 和 都是知识图谱增强后的表示。 是解码器第 层的嵌入矩阵。

我们进一步使用复制机制增强被推荐的item、相关实体与描述性关键词的生成,最终的下一个符号 的预测公式如下:其中 是解码器输出的词汇概率, 是在两个知识图谱上使用标准复制机制的复制概率。

回复生成模块的损失函数如下:

3. 实验与分析

本文在ReDial数据集上进行了实验,并且对比了KGSF模型与基线算法的性能。按照对话推荐领域的惯例,本文在推荐任务和生成任务上分别进行实验和分析。

3.1 推荐任务

为了验证KGSF模型的性能,本文在标准设置、冷启动设置下分别进行试验。从图中看出,KGSF模型性能稳定且总是最优。

3.2 生成任务

从图中可以看出,KGSF模型在所有评估指标上始终更好。

3.3 定性分析

我们展示了一个定性分析的例子说明我们的模型如何工作。

4. 小结

本文为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.

添加个人微信,备注:昵称-学校(公司)-方向,即可获得

1. 快速学习深度学习五件套资料

2. 进入高手如云DL&NLP交流群

记得备注呦

【KDD 2020】会话推荐系统新进展:基于互信息最大化的多知识图谱语义融合相关推荐

  1. 【知识图谱系列】基于互信息最大化的图谱预训练模型DGI InfoGraph

    作者:CHEONG 公众号:AI机器学习与知识图谱 研究方向:自然语言处理与知识图谱 本文介绍两篇基于互信息最大化的图谱预训练模型DGI(ICLR 2019)和InfoGraph(ICLR 2020) ...

  2. 人大赵鑫:基于图神经网络,建模知识图谱

    报告 | 赵   鑫 撰文 | 熊宇轩 我这里主要给大家介绍一下利用图神经网络能做一些什么事情,这里面主要关注知识图谱的建模与应用. 在本次报告中,我们将从三个方面介绍基于图神经网络的知识建模与应用: ...

  3. 论文浅尝 | DSKReG:基于关系GNN的推荐知识图谱可微抽样

    笔记整理:李爽,天津大学硕士 链接:https://dl.acm.org/doi/pdf/10.1145/3459637.3482092 动机 在信息爆炸的时代,推荐系统被广泛研究和应用,以发现用户的 ...

  4. 知识图谱论文阅读(八)【转】推荐系统遇上深度学习(二十六)--知识图谱与推荐系统结合之DKN模型原理及实现

    学习的博客: 推荐系统遇上深度学习(二十六)–知识图谱与推荐系统结合之DKN模型原理及实现 知识图谱特征学习的模型分类汇总 知识图谱嵌入(KGE):方法和应用的综述 论文: Knowledge Gra ...

  5. NLP界新SOTA!吸纳5000万级知识图谱,一举刷爆54个中文任务!

    大家还记得2019年底首次将GLUE榜单分数刷过90大关的百度ERNIE模型吗? 在随后一年多的时间里,又陆续出现了GPT-3.Switch Transformer等一众靠模型体量取胜的千亿乃至万亿参 ...

  6. 论文浅尝 | 基于超平面的时间感知知识图谱嵌入

    链接:http://talukdar.net/papers/emnlp2018_HyTE.pdf 本文主要关注 KG embedding 中三元组成立的时间有效性问题,比如三元组(Cristiano ...

  7. 基于Neo4j中医方剂药材知识图谱大数据可视化分析系统的设计与开发

    基于Neo4j中医方剂药材知识图谱大数据可视化分析系统的设计与开发 设计背景 这个系统的开发初衷是笔者希望通过这个系统来学习一下Neo4j的相关技术,包括与python.java的对接.可视化等方面, ...

  8. 基于学者网信息和知识图谱的智能问答系统

    知识图谱 之 python 操作neo4j (导入CSV操作) 知识图谱之python操作Neo4j导入CSV构建复杂的知识图谱 基于python的Django框架和Neo4j的知识图谱可视化 大家可 ...

  9. 【KDD 2020】推荐系统领域论文汇总

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要9分钟 Follow小博主,每天更新前沿干货 [导读]本文为大家收集整理了KDD 2020 会议上推荐系统方面的一些论文汇总. ACM SIG ...

  10. 推荐系统遇上深度学习(二十六)--知识图谱与推荐系统结合之DKN模型原理及实现

    作者:石晓文 Python爱好者社区专栏作者个人公众号:小小挖掘机 添加微信sxw2251,可以拉你进入小小挖掘机技术交流群哟!博客专栏:wenwen 在本系列的上一篇中,我们大致介绍了一下知识图谱在 ...

最新文章

  1. C++11中std::future的使用
  2. WEB前端性能优化小结
  3. C/C++输入输出流
  4. 在UITouch事件中画圆圈-iOS8 Swift基础教程
  5. linux网络方面命令大全,Linux下必须知道的11个网络命令
  6. mongodb 可视化_自动爬取疫情数据、交互式地图可视化
  7. RGB与YUV的转换
  8. 用typedef给结构体一个别名
  9. Linux keypad 设备树,beaglebone black通过devicetree配置矩阵键盘matrix-keypad
  10. 2006年上半年开发心得
  11. Java根据国家二字码获取国家英文名称,中文名称实例
  12. android手机外置存储卡,安卓手机内置内存卡和外置内存卡(SD卡)互换方法
  13. ARBITRAR: User-Guided API Misuse Detection
  14. 当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标。请将 .NET Core 2.1 或更低版本设置
  15. GitHub官网访问慢的解决问题
  16. sqlmanager mysql5_SQL Manager for MySQL
  17. python基础之实现max函数
  18. android 仿微视,腾讯微视和抖音一样?模仿还是照搬?
  19. 半导体芯片产业无尘车间激光尘埃粒子计数器
  20. 【期末复习】2021-2022南邮网络管理理论与实践复习题

热门文章

  1. CentOS 关闭防火墙和selinux
  2. MySQL 索引详解大全
  3. MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限(转)
  4. pow,sqrt使用时需注意
  5. 如何利用ThoughtWorks.QRCode 生成二维码
  6. C# 根据地址调用 Google Map 服务得到经纬度
  7. 有行统计项和列统计项的行列转换,以及EXCEL导入SQL的简单应用
  8. 转载CentOS7 yum 安装与配置MySQL5.7
  9. scrapy_全站爬取
  10. 强连通分量(tarjan求强连通分量)