Question Answering by Reasoning Across Documents with Graph Convolutional Networks

基于图卷积网络的跨文档推理问答

基于图卷积网络的跨文档推理问答

摘要

针对原来模型集中单文档单段落,作者提出一种基于图上的跨越多段落的文档推理。图上的实体是节点,边被编码成不同实体的关系(例如:文档内和文档边的引用)

GCN应用于图并进行多步训练

0. 前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。

1. 介绍

传统数据集给出text\question从文档获得answer存在不用看全文,从部分句子获得答案,最新的数据集NarrativeQA、 Trivi-aQA、RACE 来解决这些问题。

WIKIHOP更有针对性来处 理多跳阅读,单一个句子不能回答问题,但是多个句子结合可以获得答案

存在问题:现有研究少,jump-link rnn研究,尽管边提供了结构性偏见,rnn还是通过跨文档的信息和执行多跳推理。

解决方法:本文将QA作为一个表示文档集合的图上的推理问题。节点是命名实体、边是关系(例如,文档内的交叉引用链接或文档中的共现链接)。利用图卷积网络沿图的边传播局部上下文信息,可以捕获推理链。

多文档阅读带来了可伸缩性的挑战。实际场景中,系统需要学习答案给定集合的查询如RNN\transformer进行预处理,WIKIHOP 考虑了从粗到细方法 提供了一组潜在的相关文档,以特定于查询的方式对它们进行重新编码仍然是瓶颈。

本文方法不用昂贵的文档编码器。本文仅用小的encoder GCN层 和 一个前馈网络答案选择使用ELMo获得节点初始化。
有趣的是 当用简单预训练词嵌入代替ELMo时, Entity-GCN与ENN等不相上下。尽管没有使用重复的文档编码器,完整的实体-GCN模型比以前发表的最佳结果提高了2% 集成结果高出3.6%, 比人水平低3%

  • 提出新mutli-hop QA方法 依赖于预训练编码器和使用图神经网络的跨多个文档的信息传播
  • 我们提供了一种高效的训练技术,它依赖于较慢的离线计算和较快的在线计算,而不需要昂贵的文档处理;
  • 实验效果有所改进

2. 方法

文章首先展示WIKIHOP 任务抽象Entity-GCN 模型块,即被用于文档内和文档间关系的 entity graph , 用编码器获得mentions(不好翻译,应该是关系的意思)表示, 和一个通过实体图传播信息的 relational graph convolutional network

2.1 数据集和任务抽象

数据:包含一个元组 < q , S q , C q , a > <q, S_q, C_q, a> <q,Sq,Cq,a>
q q q是查询\问题, S q S_q Sq q q q的候选文档 C q C_q Cq是候选答案(所有在 S q S_q Sq中被提及的实体), a ∈ C q a∈C_q aCq是正确答案的实体

WIKIHOP 假设存在一个相互关联的语料库和知识库, 知识库包含元组 < s , r , o > <s, r, o> <s,r,o> s s s主体实体(subject entity) o o o对象实体 r r r 是它们之间的单向关系
Welbl等人(2018)使用WIKIPEDIA作为语料库,WIKIDATA(Vrandeci c,2012)作为知识库。
KB仅被用来构建WIKIHOP: Welbl等人(2018)从语料库中检索支持文档 S q S_q Sq, 查看文本中主题和对象实体的关系。

注意: 集合 S q S_q Sq 是被QA系统提供的, 并且不是所有的文档都与查询相关, 但是它们中的一些充当了干扰。query不是用自然语言表达,而是使用元组 < s , r , ? > <s, r, ?> <s,r,?>
并不知道对象实体, 必须通过文档才推理知道。 要回答问题相关的实体 a a a, 需要知道
元组中的, 在知识库中的主题s和提供的候选答案集 C q C_q Cq 之间的关系r。

任务: 从文档 S q S_q Sq中的集合中 选择到能识别正确答案 a a a的模型

2.2 实体图上的推理

实体图 在离线步骤中,我们将每个训练实例的内容组织在一个图中, 在图中连接候选答案与文档内和文档间的关系.
对于给出的一个查询 q = < s , r , ? > q=<s, r, ?> q=<s,r,?>, 我们确定在 C q ∪ s C_q ∪ {s} Cqs实体的 S q S_q Sq的关系 (确定候选答案和所有文档中的实体 与问题中的实体的关系过程构建方法)

  1. 考虑 问题所在的文档与 C q ∪ s C_q ∪ {s} Cqs实体之间的关系。简单可能出现低召回率(正样本中实际是被认为是正样本低)

  2. 使用共指消解系统来添加在每个 C q ∪ s C_q ∪{s} Cqs中超出精确匹配的元素关系 (包括名词短语和指代代词)

  3. 丢弃含糊不清的关系, 涉及多重共指链。 这可能会牺牲召回,但避免传播歧义。

对于节点 v i v_i vi, 关联一个向量 x i x_i xi是一个上下文表示的实体。 然后我们继续处理这些关系(mention)

  • i) 如果节点在同一文档中同 时出现(我们称之为基于文档的边 DOC-BASED).
  • ii) 如果提到的一对命名实体是相同的节点 (MATCH 边— 可以连接文档之间和文档内部的节点)
  • iii) 如果它们在同一个共指链中,如外部共指系统所预测的 (COREF边)

注意, 当连接同一文档中的提及时, MATCH边大多包含在共指系统预测的边集中。拥有这两种类型的边可以让我们区分由共指系统提供的不太可靠的边和由精确匹配启发式算法提供的更可靠(但也更稀疏)的边。 我们将这三种类型的联系视为三种不同类型的关系。

除此之外,为了防止出现断开的图,我们在任何两个节点之间添加了第四种类型的关系(COMPLEMENT edge),这两个节点与任何其他关系都不相连。 我们可以认为这些边是相对于完全连通图的实体图的补集中的边。

多步推理 然后,我们的模型通过转换节点表示(详见第2.3节)和通过实体图传播信息的可微分消息传递算法来实现多步推理。即GCN,特别的relational-GCNs 适应不同类型边缘的扩展版本。 在2.4节中,我们描述了传播规则。

算法的每一步(也称为一跳)并行更新所有节点表示。** 具体来说,节点根据来自其直接邻居的消息进行更新,并且消息可能特定于某个关系**。 在第一步结束时,每个节点都知道它直接连接到的每个其他节点。此外,节点的邻域可以包括对相同实体以及其他实体的提及关系(例如,相同文档关系),并且这些提及(关系)可能发生在不同的文档中。递归地采用这一思想,算法的每一步都允许节点与邻居已知的节点间接交互。
在L层的R-GCN后, 信息通过连接到L + 1个节点的路径传播。
我们从开始的节点表示 { h i ( 0 ) } i = 1 N {\{h_i^{(0)}}\}_{i=1}^N {hi(0)}i=1N, 用L层的R-GCN转换后获得 { h i ( L ) } i = 1 N {\{h_i^{(L)}}\}_{i=1}^N {hi(L)}i=1N。 与查询的表示 q q q一起,我们定义了候选答案的分布,并训练最大化观察的可能性。选择候选 c ∈ C q c ∈ Cq cCq作为答案的概率是:
P ( x ∣ q , C q , S q ) ∝ e x p ( max ⁡ i ∈ M c f o ( [ q , h i ( L ) ] ) ) P(x|q, C_q, S_q) \propto exp({\max \limits_{i\in{M_c}} f_o([q, h_i^{(L)}])}) P(xq,Cq,Sq)exp(iMcmaxfo([q,hi(L)]))
f o f_o fo参数化仿射变换, M c M_c Mc 是节点索引集合 i ∈ M c i\in{M_c} iMc 当节点 v i v_i vi是关系 c c c。 等式1中的最大算子对于选择具有最高预测概率的节点是必要的,因为候选答案是通过不同的节点在多个位置实现的

2.3 节点注释

我们在支持文档和查询中对单词进行编码,只使用一个用于上下文化单词表示的预训练模型,而不是训练我们自己的编码器。

ELMo不同于其它基于单词的预训练模型(word3vec, GloVe), 每个token是依赖整个文本摘要(即整个句子)。

我们选择不微调,也不通过ELMo架构传播梯度,因为这将违背没有专门的RNN编码器的目标。在实验中,我们还将消除ELMo的使用,展示我们的模型如何使用非上下文化的单词表示来表现(我们使用手套)。

Documents pre-processing:ELMo编码被用作产生一组 { x i } i = 1 N {\{x_i\}_{i=1}^N} {xi}i=1N x i x_i xi 是文本第i个候选提及(关系)的向量空间表示。 请注意,这些表示还不依赖于查询,到目前为止还没有可训练的模型用于处理文档,也就是说,我们使用ELMo作为固定的预训练编码器。 因此,我们可以预先计算一次提及的表示,并将它们存储起来供以后使用。

Query-dependent mention encodings 查询依赖(Query-dependent mention encodings) 的提及(关系)编码。ELMo编码也用于产生查询表示 q ∈ R K q ∈ R^K qRKq是来自双向RNN层的最终输出的连接, 该层被训练为对查询中单词的ELMo表示进行重新编码。 向量q用于计算一个依赖提及(关系) { X i i = 1 N { \{X_i}_{i=1}^N {Xii=1N 的表示, 以及计算候选项的概率分布(如等式1所示), 查询依赖关系编码 x i = f x ( q , x ) x_i = f_x(q, x) xi=fx(q,x) 是由可训练函数 f x f_x fx的 前馈神经网络训练的参数表示

实体关系图卷积网络(Entity Relational Graph Convolutional Network)

我们的模型使用原始GCN传播规则的门控版本。在第一层,所有隐藏节点表示都用query-aware编码 h i ( 0 ) = x i h_i^{(0)} = x_i hi(0)=xi初始化. 然后在每一层 0 ≦ l ≦ L 0 \leqq l \leqq L 0lL , 到第i节点的更新消息 u i ( ξ ) u_i^{(\xi)} ui(ξ) 是当前节点表示 h i ( ξ ) h_i^{(\xi)} hi(ξ) f s f_s fs变换和邻居变换之和:
u i ξ = f s ( h i ξ ) + 1 ∣ N i ∣ ∑ j ∈ N i ∑ r ∈ N i j f r ( h j ( ξ ) ) u_i^{\xi} = f_s{(h_i^{\xi}) + \frac{1}{|N_i|} \sum \limits_{j\in{N_i}} \sum \limits_{r\in{N_{ij}}}f_r(h_j^{(\xi)})} uiξ=fs(hiξ)+Ni1jNirNijfr(hj(ξ))
这里 N i N_i Ni是 第i个节点邻居节点的索引, R i j R_{ij} Rij i , j i, j i,j边点的注释, f r f_r fr是一个 特定于边缘类型 r ∈ R r\in R rR的参数化函数 ,回忆一下第2.2节中的可用关系,即R = {DOC-BASED,MATCH,COREF,COMPLETE }

门控机制控制有多少更新消息传播到下一步。这为模型提供了一种防止完全覆盖
过去信息的方法。 事实上,如果回答一个问题的所有必要信息都存在于一个不是最后一层的层上,那么模型应该学会在接下来的步骤中停止使用相邻的信息。 门级计算如下:
a i ( ξ ) = σ ( f a ( [ u i ( ξ ) , h i ( ξ ) ] ) ) a_i^{(\xi)} = \sigma(f_a([u_i^{(\xi)}, h_i^{(\xi)}])) ai(ξ)=σ(fa([ui(ξ),hi(ξ)]))

σ ( . ) \sigma(.) σ(.) 是sigmoid激活函数, f a f_a fa是参数转换函数, 最终,更新的表示是先前表示和更新消息的非线性变换的门控组合:
h i ( ξ + 1 ) = ϕ ( u i ( ξ ) ) ⨀ a i ( ξ ) + h i ( ξ ) ⨀ ( 1 − a i ( ξ ) ) h_i^{(\xi + 1)} = \phi(u_i^{(\xi)}) \bigodot a_i^{(\xi)} + h_i^{(\xi)} \bigodot (1-a_i^{(\xi)}) hi(ξ+1)=ϕ(ui(ξ))ai(ξ)+hi(ξ)(1ai(ξ))
这里 ϕ ( . ) \phi(.) ϕ(.)是任意非线性函数 这里用tanh ⨀ \bigodot 是元素乘法。 所有的变换 f f f都是仿射变换,并且它们不依赖于层
(因为我们希望使用尽可能少的参数来降低模型的复杂性,从而提高效率和可伸缩性)。

实验

与近期工作相比,使用WIKIHOP数据集进行消融
WIKIHOP 用这个数据集 training, validation/development 和 test。 测试集不公开,在验证集测试。 数据集中 43738/ 5129/2451 个查询-文档样本 共51318

作者按照第2.1节中的描述构建数据集,选择样本,图遍历最大链长为3个文档(其他数据集统计信息见表1)。WIKIHOP 有两个版本,标准版(unmasked)和masked版本

屏蔽版本是由作者创建的,用来测试方法是否能够学习词汇抽象 在这个版本中,支持文档中的所有候选答案和所有关系提及他们的内容都被随机但一致的占位符替换。 因此,在masked版本中,关系提及总是通过明确的表面形式来提及。
我们在屏蔽版本中不使用共指系统,因为它们主要依赖于关系提及的词法实现,并且不能对屏蔽标记进行操作。

3.1 对比

对比了经典模型和联合gnn与递归编码器的模型。在这里作者用了两个最佳单模型和一个未屏蔽测试集(回想一下,测试集不是公开可用的,任务组织者只报告未屏蔽的结果)以及验证集的两个版本。

3.2 消融实验

我们执行两组消融,一组在嵌入层,以研究ELMo的效果,另一组在边缘,以研究不同的关系如何影响整体模型性能。

Embedding ablation ELMO至关重要,用GloVe代替ELMo, 因为我们的模型中没有任何处理文档的组件,所以我们预计性能会下降。换句话说,在这种消融中,我们的模型试图回答问题,而根本没有阅读上下文。

例如,在图1中,我们的模型会意识到“斯德哥尔摩”和“瑞典”出现在同一文档中,但是任何上下文单词,包括编码关系的单词(例如,“是的首都”)都将被隐藏。
此外,在掩蔽的情况下,所有提及都变成了带有GloV e的“未知”标记, 因此预测相当于随机猜测。

在作者的方法中,一旦强大的预训练编码器被淘汰,我们也取消了使用我们的GCN分量,从而完全剥夺了模型的归纳偏见,旨在多跳推理。

剥离elmo后,准确率降低8%, 优于部分模型, 说明GCN组件仍然在不访问上下文的情况下,而是通过基于提及表示与其他提及表示的关系来更新提及表示。这些结果突出了我们的GCN组件的影响。

Graph edged ablation 探究关系的影响即R-GCN模块,
结果表明,WIKIPHOP确实需要多跳推理,因为在未屏蔽和屏蔽设置下,我们的最佳模型分别比本地模型精确6.1%和8.4%。 然而,它也显示了ELMo表示捕捉预测上下文特征,而没有为任务明确地训练。 它证实了我们的目标是摆脱昂贵的培训文档编码器是一个现实的

然后,我们检查模型在利用图中编码的结构方面的有效性。 我们天真地从完全连接文档内部和文档之间的所有节点开始,而没有按类型区分边缘(表3中没有关系类型)。 在未掩蔽和掩蔽的设置中,我们仅观察到相对于ELMo的微小改进(表3中没有R-GCN),这表明在实体图上运行的GCN不会给该任务增加太多,并且确实需要更丰富的图构造和/或更复杂的参数化。

然后独立消融某种边的关系, DOC-BASED(同一文档)表现更好
原因

  • i) 大部分联系实际上是在同一文档中的关系提及之间
  • ii) 在同一个文档中没有连接提及,我们删除了重要的信息,因为模型没有意识到它们在文档中紧密地出现。

其次: 我们注意到共指链接和互补边似乎扮演了一个更边缘的角色。

我们执行了最后一次消融,也就是说,我们用一个预测边及其标签的模型组件来代替我们的启发式算法。
表3的最后一行(Induced edges)显示了当边缘不是预先确定而是预测时的模型性能。
对于这个实验,我们使用双线性函数 f e ( x i , x j ) = σ ( x i T W e x j ) f_e(x_i, x_j) = \sigma(x_i^TW_ex_j) fe(xi,xj)=σ(xiTWexj)使用与查询相关的提及表示来预测连接两个节点I、j的单条边的重要性(参见第2.3节)。 性能下降到“No R-GCN”以下,表明它无法独立学习这些依赖性。

对于屏蔽设置,大多数结果更强,尽管由于屏蔽,我们没有在该设置中应用共指解析系统。这并不奇怪,因为在屏蔽版本中,相关提及用相同的标识符进行标记,即使它们的原始表面形式不匹配(Welbl等人(2018年)使用WIKIPEDIA链接进行屏蔽)。 事实上,在屏蔽版本中,实体总是通过文档内和文档间相同的唯一表面形式(例如,MASK1)来引用。另一方面,在未屏蔽的设置中,对实体的提及可能不同(例如,“US”对“United States”),并且它们可能不会被我们使用的共指系统检索到, 因此是更难的。屏蔽版本上的共指链接时比在未屏蔽版本上更有效

4 误差分析

首先
验证集中有150多种查询类型,但我们筛选出了三种准确性最好和最差的类型,它们至少有50个支持文档和5个候选项。我们在表4中显示了结果。我们注意到关于地点(出生和死亡)的问题对实体来说更难。
观察样本主要失败来源

  • i) 注释问题WIKIPEDIA和WIKIDATA注释不同
  • ii) 不同程度的粒度(例如,出生于“伦敦”和“英国”的人都可以认为是正确的,但在测量准确度时则不正确)。

其次,我们研究了当输入图很大时,模型性能如何下降。特别是,我们观察到准确性和候选答案数量之间的皮尔逊负相关(0.687)。但是,性能不会急剧下降。数据集中候选数量的分布峰值为5,平均值约为20。不同的是,我们注意到随着图中节点数量的增加,模型性能下降得更慢(负的但皮尔逊相关更接近零)。这很重要,因为在实际应用中文档集可能很大。

5 相关工作

MHPGM使用多注意机制结合外部常识关系来执行多跳推理。

6 总结

我们设计了一个图形神经网络,它在一组文档的紧凑图形表示上运行,其中节点是对实体的提及,而边是信号关系,例如文档内部和跨文档的共指。 该模型通过可区分的消息传递算法从不同的文档中收集证据来学习回答问题,该算法基于节点的邻域来更新节点表示。我们的模型优于已发表的结果,其中消融显示了支持多步推理的实质性证据。此外,我们通过使用预先训练的(上下文)嵌入使模型快速。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值