【读论文】 Improving Multi-hop Knowle

2021-04-23  本文已影响0人  Jarkata

系统简称:NSM
发表会议:WSDM 2021
研究领域:KBQA
作者团队:中国人民大学,新加坡管理大学

论文题目: Improving Multi-hop Knowledge Base Question Answering by Learning Intermediate Supervision Signals

链接:https://arxiv.org/abs/2101.03737

摘要

Multi-hop KBQA的目标在于在知识库上找到距离问句中实体若干跳之外的答案实体。主要挑战在于传统KBQA问句集只有问题和最终答案/SPARQL对,缺少中间的监督信息。
本文提出了一个新颖的teacher-student方法,student网络目标是找到问题的正确答案,teacher网络试图学习中间的监督信号,以此来增强学生网络推理的过程。
本文主要创新点在于teacher网络,利用了前向和后向推理来增强对中间实体分布的学习。将双向推理结合后,teacher网络可以产生更加可靠的中间监督信号。最终实验结果表明了这种方法的有效性。

1. Introduction

对于KBQA,传统的方法通常构造一条pipeline,由若干machine-learned或者hand-crafted模块组成。end2end的深度神经网络模型则在最近成为了主流。

multi-hop KBQA最近得到了广泛的关注,不仅答案要正确,推理的关系路径是否正确也十分重要。有时候错误的路径也能找到正确的答案。如下图,回答问题"what types are the films starred by actors in the nine lives of fritz the cat?"。红色路径为正确的关系路径,蓝色的路径是伪路径,绿色实体是topic entity,红色实体是最终答案。可以看到伪路径通过错误的路径找到了正确的关系。这主要是因为训练过程中缺乏中间监督信息。


为了解决这个问题,一些研究将multi-hop KBQA建模为强化学习(reinforcement learning)问题。他们设置一个policy-based agent来逐渐扩张推理链,直到找到target entity。它的状态通常被定义为query 和当前实体组成的tuple,动作被定义为在KB上通过当前实体的出边进行游走。RL-based 方法严重依赖于搜索过程中的奖励函数。为了防止找到伪路径,有人提出了reward shaping和action dropout。但是这些解决方法要么需要expert experience,要么依然缺乏中间步骤的监督信息。

和之前的方法不同,本文提出了用两个不同目标的模型来解决Multi-hop KBQA。主模型负责找到答案,辅助模型负责判断路径是否正确(即当前实体是否和问题相关)。但问题在于没有足够多的标注数据。

本文利用双向BFS来解决标注数据问题。
首先定义前向推理和后向推理。前向推理:从topic entity到answer entity的推理,后向推理:从answer entity 到topic entity的推理。则前向推理路径上的实体应该和后向推理路径上的实体相近

本文作者提出了一个teacher-student approach来实现这一学习的过程。student network用一个Neural State Machine(NSM)来实现,用来找到最终的答案实体。而teacher network提供前向推理和后向推理的相关性来增强对中间实体分布的学习。

2. Related work

KBQA

semantic parsing based / retrieval based

Variational Reasoning Network, Key-Value Memory Network and Graph Convolution Network.

extra corpus / knowledge graph embedding

Multi-hop Reasoning

decompose complex queries into several 1-hop

recurrent Memory, Attention, and Composition (MAC) cell

RL、GNN

Teacher-student Framework

知识蒸馏中常用teacher-student 框架,一个复杂的高性能的模型作为teacher,一个简单的轻量的模型作为student。teacher预测的结果被作为软标签,student的目标就是学习软标签。主要用来做模型压缩。

也有一些工作将teacher-student framework用在QA中。

3. Approach

3.1 Neural State Machine for Multi-hop KBQA

NSM主要包含两个模块:指令模块和推理模块。指令模块向推理模块发送指令向量,推理模块根据指令向量推断实体的分布,学习实体的表示。

3.1.1 Instruction Component

指令模块的输入包括一个query embedding模块和前一个推理步所得到的指令向量。最初的指令向量设为0向量。query embedding用了Glove+LSTM。


i^{(k)}: 第k步推理的指令向量
h_j: LSTM的第j个时间步的隐藏状态
a^{(k)}_j: 第k步推理时第j个时间步的attention权重
q^{(k)}: 第k-1步的指令向量和句子表示做concat后做一个线性变换得到。

指令模块的核心思想:在每一个推理步,注意query中一个特定的部分,同时动态更新query的表示,让query和之前的指令向量结合。

重复若干步后,我们得到了一个指令向量的List:\left \{ i^{(k)}\right \}^{n}_{k=1}

3.1.2 Reasoning Component

在得到第k步的指令i^{(k)}之后,我们可以将其作为推理模块的指导信号。
推理模块的输入为当前步的instruction vector和之前步的entity distribution和entity embedding。

首先,将entity embedding设置为e及周围的关系表示:


这里W_T \in \mathbb{R}^{d \times d}是待学习的参数。

给定一个triple <e',r,e>,通过将instruction vector i^{(k)}和relation vector r做按元素乘得到match vector m^{(k)}_{<e',r,e>}


这里W_R是待学习的参数。

之后根据加权求和得到候选e^{(k)}的表示:


其中p^{(k-1)_{e'}}e'在上一步推理步得到的概率。这样得到的表示可以capture实体周围的关系。

然后更新entity embedding:


之后便可以计算,在这一步推理时,中间实体的分布:


3.2 The Teacher Network

和学生网络的作用不同,teacher network旨在学习出中间推理步骤的可靠的entity distribution。

3.2.1 Bidirectional Reasoning for Multi-hop KBQA

主要思想:让前向推理和反向推理在中间步骤同步。即让p^{(k)}_{f}p^{(n-k)}_{b}尽可能地相似。

3.2.2 Reasoning Architectures

这里设计了两种推理方法:Parallel Reasoning和Hybrid Reasoning。只考虑合并约束。

Parallel Reasoning: 设置两个独立的NSM模块,一个前向推理,另一个反向推理。这两个网络不共享参数,相互独立。

Hybrid Reasoning: 共享instruction component,循环进行前向推理和后向推理。
前向推理的最后输出作为后向推理的最初输入。

3.3 Learning with the Teacher-Student Framework

3.3.1 Optimizing the Teacher Network

主要考虑两种损失:推理损失和相似损失。

推理损失反映了预测准确实体的能力,对于两种方向的推理耳炎,损失如下:


这里p^*_{f}是实体的ground-truth分布。

相似损失反映了正向推理和反向推理的一致性,这里用JS距离来度量两个分布的距离,将每一步的距离相加起来。


损失组合:


3.3.1 Optimizing the Student Network

在teacher模型训练完之后,可以获得一个中间实体的分布。将前向推理和后向推理的分布加起来作为中间的监督信号。


在推理损失之外,加入距离teacher network的损失:


4. Experiment

这里仿照PullNet的做法,抽了一个freebase子集。
Overall表现:


对teacher网络做消融:


不同hop的表现:


one-shot setting:


上一篇下一篇

猜你喜欢

热点阅读