美文网首页
【读论文】 Improving Multi-hop Knowle

【读论文】 Improving Multi-hop Knowle

作者: Jarkata | 来源:发表于2021-04-23 20:23 被阅读0次

    系统简称: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:


    相关文章

      网友评论

          本文标题:【读论文】 Improving Multi-hop Knowle

          本文链接:https://www.haomeiwen.com/subject/vfxqhltx.html