点击下面卡片关注我呀,每天给你送来AI技术干货!
作者|何高乐
机构|中国人民大学信息学院
研究方向 | 知识表示、知识推理
本文主要介绍的是基于双向推理的多跳知识库问答技术。欢迎文章下方评论留言,交流探讨!

1. 引语

前言:今天要介绍的论文是我们小组发表在WSDM 2021的一篇论文,基于双向推理自动为多跳知识库问答任务学习中间监督信号
论文地址:https://arxiv.org/abs/2101.03737
开源项目:https://github.com/RUCAIBox/WSDM2021_NSM
当前,我们的NSM+h模型预测结果在CWQ的总榜上排名第二。

1、论文动机

近年来,多跳知识库问答(Knowledge Base Question Answering, KBQA)获得了广泛的关注。由于标注整个多跳推理过程代价较高,通常只能获得弱监督信号(问题答案对)训练模型,而中间推理过程的标注缺失。受此影响,模型常通过歧义推理得到正确答案,训练数据无法得到有效利用。
如图1所示,给定图中问题后,模型应当从话题实体菲力兹九命猫出发,沿着“电影演员 出演 电影类别”的关系路径进行推理(此过程为多跳推理)。然而由于缺乏中间推理步骤的监督,模型也可能通过歧义路径(蓝色路径)获得正确答案喜剧。在进行此类歧义推理(Spurious Reasoning)时,模型也获得了奖励,学习了错误的推理方式。
图1. 歧义推理示意图
为应对歧义推理挑战,本文尝试通过教师-学生框架学习和利用中间监督信号。其中,教师网络利用双向推理机制自动学习中间监督信号;而学生网络则受到中间监督信号的增益,获得更强的多跳推理能力。

2、相关定义

本文使用三元组集合 表征知识库,其中 和 分别代表实体和关系集合。给定自然语言问题 和知识库 ,多跳知识库问答任务需要从话题实体(问题提及的实体)出发经过多跳推理找到答案实体集合 。
本工作为 中的所有实体和关系学习向量表示,分别通过 和 定义其表示矩阵。表示矩阵的列向量 和 分别代指实体 和关系 的向量表示。文中的上标 表示第 步推理时相关符号(变量)。为了方便描述,本文为所有三元组 添加一条逆三元组 ,然后通过 来定义实体 的邻居。

3、神经状态机

3.1 设计思路

本文设计了如图2所示的神经状态机(Neural State Machine, NSM)模型作为基础模型和学生网络。NSM模型由指示模块和推理模块组成。其中指示模块拆分复杂问题的语义,生成指示向量控制多跳推理过程;而推理模块采用了类图网络的方法,基于指示向量逐步更新图中节点表示,生成当前推理中各实体相关性分布(中间实体分布)。
图2. 神经状态机示意图

3.2 指示模块

指示模块输入问题 后,产生一些列指示向量 ,其中 为预设的推理步数。首先通过序列编码器(LSTM网络)编码问题得到隐藏状态序列,然后基于注意力机制,在推理的不同步骤关注问题的不同部分,其计算方式如下:

3.3 推理模块

为获得实体类型信息,NSM模型通过单层图网络编码邻居关系初始化实体表示:
此刻画方式的好处在于:(1)通过邻居关系刻画实体表示的方式能够为训练过程未涉及的实体提供较好的语义表示(2)减少带噪实体对于邻居实体表示的影响。
推理模块的第 步推理输入为:第 步推理的指示向量 ,第步推理后产生的实体分布 和实体表示 。每次推理时,NSM模型依据指示向量与关系信息进行匹配:
其中 为可学习参数, 为向量按位相乘。推理模块基于实体邻居 为实体 聚合匹配向量,并根据第步推理时邻居实体相关性加权聚合:
其中是第推理后实体 的相关性。然后通过如下公式更新实体的表示:
其中 是可学习参数。推理模块将当前实体表示 与本次推理所得匹配信息 融合,旨在将从话题实体出发得到的关系路径信息编码到实体表示中。然后推理模块能够基于更新后的实体表示计算新的实体相关性分布::
其中是可学习参数。推理模块的输出为更新后的实体表示和实体分布 。
通过指示模块与推理模块的协作,NSM模型完成了一步推理。

4、基于双向推理自动学习中间监督信号

4.1 主要思路

为了让模型获得较强的多跳推理能力同时避免歧义推理,我们首先训练教师网络来学习可靠的中间推理过程。在教师网络收敛后,学生网络在多跳推理的中间步骤也能获得有效反馈。整体框架示意图如图3所示:
图3. 本文教师-学生框架示意图
受到图上双向搜索算法的启发,本文提出利用双向推理机制增强教师网络生成的中间监督信号。此前,相关研究多聚焦于从话题实体出发推理答案实体(前向推理)。而本文额外考虑了从答案实体出发反向推理话题实体(后向推理)。通过让这两类推理过程在多跳推理的中间步骤保持实体分布的一致性,教师网络能够学习到更加可靠的中间监督信号。
给定一个 步的推理过程,我们同时获得了前向推理和后向推理中间实体分布 ,其中下标 和 分别代表前向和后向。本文两推理过程在中间对应步骤保持一致,可以通过如下关系来进行刻画:

4.2 基于双向推理的教师网络

基于双向推理的模式,我们设计了两种推理架构——平行推理和复合推理。
如图4所示,平行推理架构为两推理过程设置了独立的NSM模型,仅通过中间实体分布的对齐约束来关联两推理过程,无参数共享。
图4. 平行推理架构
如图5所示,复合推理架构中的两个NSM模型共享了指示模块,并进行了更深层次的信息交流:(1)在对应的中间推理步骤,两模型输入相同指示向量(2)两模型的推理模块串联成环(先前向再后向)。除对齐约束外,该架构将后向推理过程的初始状态初始化为前向推理过程的最终输出。
图5. 复合推理架构
由于训练集上话题实体和答案实体均已知,本文方法能够基于双向推理机制训练教师网络。在教师网络收敛后,通过平均双向推理过程对应步骤预测实体分布,我们获得了中间实体分布的标注:
学生网络进行多跳推理时,会在中间步骤通过刻画如下损失模仿教师网络生成的实体分布:
其中和分别代表学生网络和教师网络在第步推理后预测的实体分布, 为KL散度。
更多模型细节和优化方法请参考我们的原论文。

5、实验

5.1 实验设定

本文在WebQuestionsSP(webqsp)、Complex WebQuestions 1.1(CWQ)和MetaQA三个基准数据集上进行了实验。本文为数据集中的每个问题抽取子图进行推理,其统计数字如表1所示。其中coverage代表每个子图中至少包含一个答案的比例,#entity代表各数据集子图实体数的均值。本方法通过模型最终实体分布来生成答案实体,利用 指标评估模型表现。
表1. 基准数据集统计数字

5.2 实验结果

如表2所示,基准数据集上实验结果表明:(1)本文提出的NSM模型能够在大多数情况下较以往的方法可比或更好(2)加入双向推理机制的教师网络后,NSM模型能够得到进一步提升。
表2. 基准数据集实验结果
表2的结果中NSM模型加入教师网络后无明显提升,我们猜想是由于MetaQA数据集训练数据过于充分造成的(每个划分近10万条训练样本,不到300个问题模板)。为验证这一猜想,我们为MetaQA数据集训练集中每个模板的问题挑选一个样本作为单射训练集,保持验证集和测试集不变,其结果如表3所示。实验结果表明:(1)神经状态机模型在稀疏的训练数据下仍然表现良好(2)教师模型在稀疏情况下带来的提升更加显著。
表3. MetaQA数据集单射实验结果
更多实验分析和实现细节,请参照我们的原论文和开源项目。
更多知识库问答相关背景,也可以参照我们近期被接收的IJCAI survey:https://arxiv.org/abs/2105.11644

6、总结与展望

本文的主要贡献包含:
(1)提出了一种针对多跳知识库问答任务的神经状态机(NSM)模型。
(2)提出了一种基于教师-学生框架的多跳知识库问答方法。教师模型基于双向推理机制自动学习多跳推理过程的中间监督信号,并用以强化学生模型多跳推理能力,避免歧义推理。
为进一步利用或提升本文所述方法,可以从以下几个方面入手:
(1)引入动态的图扩张机制,摆脱静态子图推理的局限。
(2)在更多基于子图推理场景下,验证神经状态机(NSM)模型和双向推理机制的有效性。
说个正事哈

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:
(1)点击页面最上方深度学习自然语言处理”,进入公众号主页。
(2)点击右上角的小点点,在弹出页面点击“设为星标
”,就可以啦。

感谢支持,比心
投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。
方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等
记得备注呦
点击上面卡片,关注我呀,每天推送AI技术干货~
整理不易,还望给个在看!
继续阅读
阅读原文