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

会话推荐系统新进展:基于互信息最大化的多知识图谱语义融合 | KDD 2020
文章图片
会话推荐系统新进展:基于互信息最大化的多知识图谱语义融合 | KDD 2020
文章图片

论文链接:https://arxiv.org/abs/2007.04032
会话推荐系统(conversationrecommendersystem,CRS)旨在通过交互式的会话给用户推荐高质量的商品 。 通常CRS由寻求商品的user和推荐商品的system组成 , 通过交互式的会话 , user实时表达自己的偏好 , system理解user的意图并推荐商品 。 目前会话推荐系统有两个问题需要解决 。 首先 , 对话数据本身缺少足够的上下文信息 , 无法准确地理解用户的偏好(传统的推荐任务会有历史交互序列或者用户属性 , 但是该场景下只有对话的记录) 。 其次 , 自然语言的表示和商品级的用户偏好之间存在语义鸿沟(在user的话语“CanyourecommendmeascarymovielikeJaws”中 , 用户偏好反映在单词”scary“和电影实体”Jaws“上 , 但这两类信息天然存在语义的差异) 。
为了解决上述问题 , 本文提出了模型KG-basedSemanticFusionapproach(KGSF) , 通过互信息最大化的多知识图谱语义融合技术 , 不仅打通了对话中不同类型信息的语义鸿沟 , 同时针对性地设计了下游的模型 , 以充分发挥两个知识图谱的作用 , 在会话推荐系统的两个任务上均取得了state-of-the-art的效果 。
1
引言
会话推荐系统是近年来寻求通过与用户的对话提供高质量推荐的新兴研究课题 。 就方法而言 , CRS需要在推荐模块和对话模块之间无缝集成 。 一方面 , 对话模块要理解用户的意图 , 并生成合适的回复 。 另一方面 , 推荐模块学习用户偏好 , 并基于上下文推荐高质量的商品 。 为了开发有效的CRS , 学界已经提出了数种集成这两个模块的解决方案 , 包括基于半结构化用户查询的信念跟踪器[1]和用于模块选择的开关解码器[2] 。
会话推荐系统新进展:基于互信息最大化的多知识图谱语义融合 | KDD 2020
文章图片
虽然这些研究在一定程度上提高了CRS的性能 , 但仍有两个主要问题有待解决 。 首先 , 会话主要由几句话组成 , 缺乏足够的上下文信息 , 无法准确理解用户的偏好 。 如上表所示 , 一个用户正在寻找类似于“ParanormalActivity(2007)”的恐怖电影 , 其中用两个短句子描述了他/她的偏好 。 为了获取用户的内部信息 , 我们需要充分利用上下文信息并对其建模(e.g.理解单词“scary”和电影“ParanormalActivity(2007)”背后的语义) 。 显然 , 单凭对话文本很难获得这样的事实信息 。 第二 , 对话内容用自然语言表示 , 而实际用户偏好则反映在商品或实体上(例如 , 演员和电影类型) 。 这两种数据信号之间存在天然的语义差异 。 我们需要一种有效的语义融合方法来理解或生成对话内容 。 如上表所示 , 如果不能拟合语义上的鸿沟 , 就无法生成解释推荐的文本(e.g.“thrillermoviewithgoodplot”) 。
为了丰富对话上下文信息 , 我们使用知识图谱提供外部知识 。 由于上下文信息包含自然语言词汇和商品两类数据 , 所以使用面向单词(word)的知识图谱(KG)和面向商品(item)的知识图谱 , 分别强化词汇的知识和商品的知识 。 ConceptNet[3]作为面向word的KG , 提供了word间的关系 , 诸如每个单词的同义词 , 反义词和共现单词 。 DBpedia[4]作为面向item的KG , 提供了item之间的关系 , 描述有关item属性的结构化事实 。 但是两个KG之间仍然存在着语义鸿沟 , 对KG数据的利用可能会受到限制 。
我们首先运用图神经网络分别学习两个知识图谱的节点表示 , 然后使用MIM弥合两个知识图谱的语义鸿沟 。 我们核心的想法是让共现在一个会话中的word和item的表示更相似 , 使用这种策略可以对齐两个语义空间下的数据表示 。 在语义对齐的基础上 , 本文进一步利用了知识图谱强化后的的推荐模块来提供精准的推荐 , 并利用知识图谱强化后的对话组件来帮助在会话文本中生成信息量丰富的关键字或实体 。
据我们所知 , 这是第一次使用KG增强的语义融合来解决对话系统和推荐系统的集成 。 我们的模型利用两个不同的KG分别增强单词和商品的语义 , 并统一它们的表示空间 。 在一个公共CRS数据集[2]上的大量实验证明了我们的方法在推荐和会话任务上的有效性 。
2
方法
会话推荐系统新进展:基于互信息最大化的多知识图谱语义融合 | KDD 2020
文章图片
如图展示了电影推荐场景的模型总览 。 “SA” , “KA”和“CA”分别表示自注意力 , 基于KG的注意力和基于上下文的注意力 。
1、编码外部知识图谱本文将对话系统和推荐系统中基本语义单元分别定义为word和item , 使用两个独立的知识图谱来增强两种语义单元的表达 。
1)编码面向word的知识图谱本文使用图卷积神经网络[5](GCN)来捕获ConceptNet上节点之间的语义关系 。 ConceptNet将一个语义事实存储为一个三元组&lt,r,&gt , 其中
会话推荐系统新进展:基于互信息最大化的多知识图谱语义融合 | KDD 2020
文章图片
其中是诸节点的表示 , 是各层的可学习的矩阵 , A是图对应的邻接矩阵 , D是一个对角度矩阵 。 通过堆叠多个卷积 , 信息可以沿着图结构一起传播 。 当算法终止时 , 每个word对应一个维的表示
2)编码面向item的知识图谱本文使用R-GCN[6]学习DBpedia上item的表示 。 节点在层的表示通过如下公式计算:
会话推荐系统新进展:基于互信息最大化的多知识图谱语义融合 | KDD 2020
文章图片
其中,表示在关系下的邻居节点集合 , 和是可学习的转换矩阵 , 是正则化参数.
2、使用互信息最大化策略的知识图谱融合为了弥合word与item的语义鸿沟 , 本文提出了使用MIM[7]相互地增强成对信号的数据表示 。 给出两个变量和 , 互信息(MI)被定义为:
会话推荐系统新进展:基于互信息最大化的多知识图谱语义融合 | KDD 2020
文章图片
其中是联合概率分布和边缘概率分布的点积的KL散度 。
通常MI是很难计算出的 , 于是MIM使用如下公式来最大化MI而不是计算准确数值:
其中和分别代表正样本的期望和负样本的期望 。 是两类别分类器 。
对于一个共现在一个会话中的item-wordpair&lt,&gt , 我们通过一个转换矩阵将他们的表示变得相近:
其中是用于对齐语义空概念的转换矩阵 。 通过将公式5代入公式4 , 我们可以得到所有会话上的目标损失 , 并且通过优化算法将损失最小化 , 最终弥合word与item的语义鸿沟
为了提高性能和效率 , 我们为一个会话设置了一个supertoken , 假设它可以代表所有上下文单词的语义 , 并且使用自注意力机制学习的表示:
会话推荐系统新进展:基于互信息最大化的多知识图谱语义融合 | KDD 2020
文章图片
3、知识图谱增强的推荐模块本文使用门控机制获得用户的偏好表示:
会话推荐系统新进展:基于互信息最大化的多知识图谱语义融合 | KDD 2020
文章图片
其中是通过与公式6类似的自注意力机制在会话上下文上获得的的单个词向量 , 同理 。
在获得用户偏好后 , 我们可以计算每个商品被推荐给用户的概率 , 以此给商品排序、做出推荐:
为了学习参数 , 我们使用一个交叉熵损失:
会话推荐系统新进展:基于互信息最大化的多知识图谱语义融合 | KDD 2020
文章图片
其中是对话编号 , 是商品编号 , 是互信息最大化损失函数 , 是加权矩阵 。
4、知识图谱增强的回复生成模块本文使用Transformer[8]作为编码器-解码器架构 , 并且对解码阶段进行改进 。 在自注意力子层后 , 我们使用了两个基于知识图谱的注意力层融合两个知识图谱的信息:
会话推荐系统新进展:基于互信息最大化的多知识图谱语义融合 | KDD 2020
文章图片
其中定义了多头注意力函数 , 定义了一个全连接前向传递网络 , 是编码器的嵌入矩阵输出,和都是知识图谱增强后的表示 。 是解码器第层的嵌入矩阵 。
我们进一步使用复制机制增强被推荐的item、相关实体与描述性关键词的生成 , 最终的下一个符号的预测公式如下:
其中是解码器输出的词汇概率 , 是在两个知识图谱上使用标准复制机制的复制概率 。
【会话推荐系统新进展:基于互信息最大化的多知识图谱语义融合 | KDD 2020】回复生成模块的损失函数如下:


    推荐阅读