论文:Dynamically Fused Graph Network for Multi-hop Reasoning
ACL 2019 的一篇论文,与HotpotQA数据集相关,有完整代码。
- 作者:Yunxuan Xiao,Yanru Qu,Lin Qiu,Hao Zhou,Lei Li,Weinan Zhang,Yong Yu
- pdf:https://arxiv.org/abs/1905.06933
- github:https://github.com/woshiyyya/DFGN-pytorch
0. Abstract
本文提出了动态融合图网络(DFGN),用于处理需要多个分散证据进行推理的问题。
受人类逐步推理行为的启发,DFGN包含一个动态融合层,从给定的问题中提到的实体开始,沿着从文本动态构建的实体图进行探索,并逐渐找到给定文件中的相关支持实体。
DFGN在多跳推理数据集HotpotQA上取得了SOTA,同时分析表明,DFGN可以产生可解释的推理链。
1. Introduction
当前QA领域,多跳和推理问题十分具有挑战性。相关数据集有WikiHop、ComplexWebQuestions以及HotpotQA。该类问题有两种挑战:
- 并非每个文档都包含有用信息。
- 没有足够大的知识图谱能够解决开放领域问题。
本文提出的DFGN模型可以解决上述问题。
- 针对问题一,DFGN构建基于问题和文章中所提及实体的动态实体图,构建过程中多次迭代,进行动态图生成和推理,mask无关实体而保留相关实体,从而实现多跳推理。mask prediction模块是以端到端的方式学习的,从而降低了误差传播。
- 针对问题二,DFGN采用融合过程,将文档映射到图(doc2graph)和图映射到文档表示(graph2doc)相结合。多跳问题中,每一跳都进行document token和entity的融合操作,从而改善了文档信息和实体图的交互,降低了噪声。
除了解决上述问题,本文还有下列贡献:
- DFGN的mask prediction是一种推理链,具有可解释性。
- 推理链很难处理(定义和标记)开放领域语料库的基准真相(ground truth,新词get),因此本文提出一种弱监督mask learning方法,解决开放领域的推理问题。
- 提出一种评价预测推理链及实体图质量的新方法。
2. Related Work
基于文本的问答
基于文本的问答根据支持信息是否结构化,可以分为基于知识的问答(KBQA)、基于文本的问答(TBQA)、混合问答和其他。KBQA数据集有SimpleQuestions等,TBQA数据集有SQuAD和HotpotQA等。本文研究的内容是TBQA,因为TBQA测试了一个系统从原始语言中提取相关事实并对其进行推理的端到端的能力。本文重点是多跳问答,因此选择多跳问答数据集HotpotQA。
多跳推理问答
当前流行的解决需要推理的QA任务框架是GNN,例如:graph convolution network
、graph attention network
以及graph recurrent network
。此外,Coref-GRN
、MHQA-GRN
以及Entity-GCN
都探索了图形结构解决现实世界问题的方案。但是,当前还没有针对已构建好的图进行有效推理的方法。因此,本文研究重点是如何对图结构进行有效推理。
此外,另一种顺序模型用于处理采用记忆网络结构的多跳推理任务,例如:IR-Net
等。但这些模型主要在实体和关系数量有限的简单合成数据集中进行推理,与复杂问题的大规模QA数据集完全不同。另一方面,简单合成数据集中可以按照一些模式轻松监督形成实体级推理链,而HotpotQA中无法用相同的方法构建推理链。
3. Dynamically Fused Graph Network
DFGN模型包括五个组件:段落选择子网络、实体图构建模块、编码层、多跳推理融合模块和最终预测层。DFGN的模型结构如下图所示。
3.1 段落选择
由于不是每个段落都和问题相关联,因此DFGN训练一个用于选择相关段落的子模型。
子模型基于预训练的BERT模型,后接一个带sigmoid
分类的句子分类层。针对每个输入的问题和段落,给出一个0-1之间的相关性评分,设定一个取舍参数η
(实验中为0.1),高于它的则视为相关,将所有相关段落串联起来,构成上下文Context C
。
3.2 构造实体图
DFGN采用Standford corenlp tookit
获取C
中提及的命名实体(named entities)。按照如下规则构建实体图中的连接:
- 句子级别连接:在同一个句子中的每个实体对间。
- 上下文级别连接:在同一个上下文
C
中的每个实体对间。 - 段落级别连接:在同一个段落中的中心词实体和其他实体构成的实体对间。
由于上下文级别连接可以在不同文档中构建连接,因此DFGN不考虑代词连接,因为很可能会引入指代性错误等问题。
3.3 编码查询和上下文
DFGN将查询Q
与上下文C
相串联,并传递给预训练的BERT模型。实验证明,串联传递方法优于分别单独传递的方法。为了加强查询Q
和上下文C
的交互,DFGN还使用了一个双向注意力层,效果进一步提高。
3.4 使用融合模块推理
针对如何识别支撑实体和答案文本跨度,DFGN根据人类分步推理的思维模式,提出了一个融合模块,可以实现以下内容:
- Doc2Graph flow:从token中计算实体嵌入向量,将信息从文档传入图中。
- Propagate:实体图中传播信息。
- Graph2Doc flow:从实体图中计算信息传递给文档。
文本转图
构造二进制邻接矩阵M
,token嵌入矩阵C
,实体嵌入矩阵E
。其中,实体嵌入矩阵由token嵌入矩阵经过mean-pooling
和max-pooling
计算而来。该模块被称为Tok2Ent
。
动态图注意力机制
DFGN的动态图注意力机制,用于模仿人类逐步推理的过程。如下图所示。
获取上下文C
对应的实体嵌入后,应用图神经网络在邻域实体之间传递信息。假定实体与查询越相关,则实体接收邻域的信息越多。DGFN在查询嵌入和实体嵌入间使用注意力网络,构建soft masks
,作用是确保只有查询相关的实体能够传播信息。
- (1):对查询嵌入使用
mean-pool
- (2):计算查询嵌入和实体嵌入相关性
- (3):预测
soft masks
- (4):实体嵌入更新
随后在动态子图中传播信息。在增加α
实体间相关系数。
- (5):计算实体嵌入的线性映射
- (6):对实体映射结果使用
LeakyReL
激活函数 - (7):计算实体相关性
- (8):利用
α
和h
,使用ReLU
激活函数,更新实体嵌入,从而实现动态子图中传播信息
更新查询
为了预测下一步的start entity
,引入查询更新机制,更新查询嵌入。也就是相当于问题更新。具体方法采用了双向注意力网络。
- (9):利用双向注意力网络,结合更新的实体嵌入和当前查询嵌入,实现查询嵌入更新
图转文本
利用Tok2Ent和动态图注意力机制,可以实现实体级推理过程,但答案无法实现回溯。DFGN采用Graph2Doc模块实现信息从实体回归到文档,进而获取答案文本跨度。
- (10):利用LSTM,结合当前token嵌入矩阵,以及邻接矩阵与实体嵌入矩阵的乘积,构建新的token嵌入矩阵
3.5 预测
预测层结构包括四个输出维度:
用串联结构解决输出依赖问题。损失函数由四个相应的交叉熵损失加权求和得到。
弱监督
DFGN引入了一个弱监督信号来引导融合模块的soft masks
以匹配heuristic masks
,设定损失函数为预测得到的soft masks
和给定的heuristic masks
的交叉熵。目标是帮助模型跳过检测不到start masks
的样例。
heuristic masks
包含了两个部分:start mask
和additional BFS mask
。start mask
对应问题Q
中的实体,additional BFS mask
对应采用BFS算法从start mask
的邻接矩阵中提取的实体。
4. Experiments
DFGN无法完成大规模信息检索,因此不考虑HotpotQA的fullwiki类型,仅考虑ditractor类型。
4.1 实施详情
实施内容如下:
- tokenize:BERT Tokenizer
- encoding:pre-trained BERT model
- NER:Stanford CoreNLP Toolkits
- optimize:Adam Optimizer
4.2 主要结果
采用BERT NER与Stanford CoreNLP Toolkits进行对比实验,结果显示BERT NER在多方面都超越了Stanford CoreNLP Toolkits。
4.3 图形构造与推理链的评价
具体分析时发现,31.3%的样例都不能完整推理。具体原因是至少有一个支撑句子没有被包含在实体图中,这里称为missing supporting entity
。因此,为了评价图形构造和推理链的质量,本文提出了实体等级支撑Entity-level Support, ESP
指标。
ESP
定义了Path
、Path Score
和Hit
,其中Hit
最为关键,含义是支撑句子中有实体在预测推理链Path
上。
选择Path Score
的top-k
对应的k Paths
,作为支撑句子的预测推理链。对所有支撑句子对应的k Paths
中是否存在Hit
进行统计,从而分析有多少支撑句子存在于实体图中。
由于实体数量越多处理越困难,因此选择<40的实体图作为Stanford CoreNLP Toolkits的数据集,<80的是BERT NER的,实验结果显示,BERT NER模型能够更好地构建实体图,优于Stanford CoreNLP Toolkits。
4.4 案例研究
案例研究表明,DFGN能通过mask
很好地分析文本间的关系。对于未命中样例,无法进行推理。对于HotpotQA中涉及计算的复杂比较问题,DFGN也无法进行处理。
5. Conclusion
本文引入了动态融合图网络(DFGN)来解决多跳推理。提出了一种基于图神经网络的动态融合推理模块。和以往QA方法不同,DFGN能够在每个推理步骤动态预测子图,同时实现tokens级上下文和实体级推理相融合。
DFGN在HotpotQA上取得了SOTA,并且通过分析得知,DFGN可以产生可靠和可解释的推理链。
未来将会结合文本构建实体图的新进展,解决更多困难推理问题,例如HotpotQA的比较查询类型的问题。
Comments | NOTHING