BAG: Bi-directional Attention Entity Graph Convolutional Network for Multi-hop Reasoning QA

用于多跳推理问答的双向注意实体图卷积网络-code

Abstract

多跳问答要理解文档查询之间的关系。本文BAG,用实体图节点之间关系和查询实体图的关系的注意力信息解决。图卷积网络用于获得实体图的节点的关系感知表示,该实体图是从具有多级特征的文档构建的。然后将双向注意力应用于图形和查询,以生成一个查询感知节点表示,用于最终预测。实验评估表明,BAG在QAngaroo WIKIHOP数据集上实现了一流的精度性能。

1,引言

讲了传统和缺陷,DrQA TriviaQA NarrativeQA 对SQuAD的改进, 讲了多跳推理的难度等

本文提出了一种新的基于图的问答模型——Bi-directional Attention Entity
Graph convolutional network (BAG).文档被转换成图形,其中节点是实体,边是它们之间的关系。然后将该图导入图卷积网络(GCNs),以学习节点的关系感知表示。此外,在图和具有多级特征的查询之间引入了新的双向注意力,以导出最终预测的互信息。
主要共享概况

  • 在图形和查询之间应用双向注意力来学习阅读理解的查询感知表示。
  • 在图卷积网络的处理过程中,多级特征被用来获得图节点的综合关系表示。

2 相关工作

最近,共指(coreference)和基于图的模型被研究用于多跳问答. RNN的缺点和图模型的有效性。然而,它们都不太关心输入特征以及查询和图节点之间的关注

3 BAG模型

在这里插入图片描述

多跳问答任务定义:

  1. S S S包含 N N N个支持文档
  2. 一个查询 q q q, 有 M M M个字符
  3. 一个答案候选集合 C C C
  4. 目标找到正确答案索引 a a a

给一个元组风格的查询 q = ( c o u n t r y , k e p a h i a n g ) q=(country, kepahiang) q=(country,kepahiang),它的意思是指kepahiang属于那个国家。然后提供候选答案,如 C = { I n d o n e s i a , M a l a y s i a } C=\{Indonesia,Malaysia\} C={Indonesia,Malaysia} 有多个支持文档,但并非所有文档都与推理相关,例如"Kephiang is a regency in Bengkulu, Bengkulu is one of provinces of Indonesia, Jambi is a province of Indonesia. "

我们在图1中展示了提出的BAG模型。它包含五个模块:(1)实体图构建,(2)多层次特征层,(3) GCN层,(4)双向注意力层和(5)输出层。

3.1 实体图构建

文中所有候选项都被用作图节点,无向边是根据每个节点对的位置属性定义的。包括两种边:

  1. 跨文档边( cross-document edge),对于位于不同文档中的具有相同实体字符串的每个节点对;
  2. 文档内边(within-document edge), 对于位于同一文档中的每个节点对。
    实体图中的节点可以通过简单的字符串匹配找到。这种方法可以简化计算,并确保所有相关实体都包含在图形中。在数据集生成过程中沿着可能的推理链挑选(Welbl等人,2018),候选答案包含所有用于回答的相关实体。经过上述步骤获得 T T T个节点的集合 n i , 1 ≤ i ≤ T {n_i,1\leq i \leq T} ni,1iT 和这些节点之间的对应边。

3.2 多级特征

我们使用多级特性来表示节点和查询,如图1(2)所示。
对节点和查询使用GloVe,然后使用上下文级特征来GloVe的不足。请注意,在构建图的过程中,只有部分标记被保留下来,因为我们只提取实体作为节点。因此,原始文档中这些实体周围的上下文信息对于指示标记之间的关系变得至关重要,除了标记级特征之外,我们还使用节点的更高级信息。

用ELMo作为语境化向量表示,模拟复杂的单词特征和语境语言条件。应该注意的是,节点的ELMo特征是基于原始文档计算的,然后根据节点的位置索引进行截断。标记级和上下文级特征将被拼接和编码,以便进一步理解。由于一个节点可能包含不止一个标记,我们对标记中的特征进行平均,以在编码之前为每个节点生成一个特征向量。它将通过1层线性网络转换成编码的节点特征。

对于查询,直接使用Bi-LSTM来表示,在每个时间步中的输出被用作编码的查询特征。线性变换和LSTM有相同的维度 d d d

外,我们添加了两个手动特征来反映标记的语义属性,它们是命名实体识别(NER)和词性标注(POS)。最终维度向量 d = d + d P O S + d N E R d=d+d_{POS}+d_{NER} d=d+dPOS+dNER

3.3 GCN层

用GCN实现图在不同实体节点中传播信息,R-GCN用于处理高关系数据特征和利用不同的边缘类型。

在第 l l l层,给节点i的隐藏向量 h i l h_i^l hil,隐藏状态 h j l , j ∈ { N i } h_j^l, j\in \{N_i\} hjl,j{Ni}还有所有关系邻居关系 R N R_N RN,下一层隐藏状态:
h i l + 1 = σ ( ∑ r ∈ R N i ∑ j ∈ R N i 1 c i , r W r l h j l + W 0 l h i l ) h_i^{l+1}=\sigma(\sum \limits_{r\in R_{Ni}} \sum \limits_{j\in {R_{Ni}}} \frac{1}{c_{i,r}}W_r^l h_j^l + W_0^l h_i^l) hil+1=σ(rRNijRNici,r1Wrlhjl+W0lhil)
这里 c i , r c_{i,r} ci,r ∣ N i ∣ |N_i| Ni的归一化常数, W i l W_i^l Wil特定关系的权重矩阵, W 0 l W_0^l W0l是生成矩阵

相似entity-GCN 更新一个门向量 u i l u_i^l uil和隐藏状态 h i l h_i^l hil
w i l = σ ( f s ( c o n c a t ( [ u i l , h i l ] ) ) ) w_i^{l} = \sigma(f_s(concat([u_i^l, h_i^l]))) wil=σ(fs(concat([uil,hil])))

(在entity-GCN是): a i ( ξ ) = σ ( f a ( [ u i ( ξ ) , h i ( ξ ) ] ) ) a_i^{(\xi)} = \sigma(f_a([u_i^{(\xi)}, h_i^{(\xi)}])) ai(ξ)=σ(fa([ui(ξ),hi(ξ)]))

其中 u i l u_i^l uil可以通过(1)不使用sigmoid函数来获得,则它将用于更新下一层中相同节点的隐藏状态 h i l + 1 h_i^{l+1} hil+1的权重,
h i l + 1 = w i l ⨀ t a n h ( u i l ) + ( 1 − w i l ) ⨀ h i l h_i^{l+1} = w_i^l \bigodot tanh(u_i^l) + (1-w_i^l) \bigodot h_i^l hil+1=wiltanh(uil)+(1wil)hil
这种网络堆叠对L层参数共享。每个节点的信息将被传播到距离为L的节点,生成节点的L跳推理关系感知表示。初始输入将是多级节点特征 f n = { f n i } , 0 ≤ i ≤ T f_n=\{f_{ni}\}, 0 \leq i\leq T fn={fni},0iT 并且边 e = e i j e={e_{ij}} e=eij是在图上。

3.4 图和询问的双向注意力流

双向注意力负责生成图形和查询之间的相互信息,在BIDAF被应用。然而,我们也发现它在图节点和查询之间工作得很好。它生成查询感知的节点表示,可以为预测提供更多的推理信息
BAG中的应用方式 相似矩阵S的计算方式:
S = a v g − 1 f a ( c o n c a t ( h n , f q , h n ⋅ f q ) ) S=avg{-1}f_a(concat(h_n, f_q, h_n \cdot f_q)) S=avg1fa(concat(hn,fq,hnfq))

h n h_n hn是最后一层GCN的节点表示, f q f_q fq是编码后的查询特征矩阵,d维是查询特征和转换矩阵维度, f a f_a fa是线性转换, a v g − 1 avg_{-1} avg1最后一维求均值, ⋅ \cdot 是元素乘法。

与BIDAF不同,引入node-to-query注意力表示 a ~ n 2 q \widetilde{a}_{n2q} a n2q是T*d维度向量,这表示对于使用的每个节点具有最高相关性的查询字符
a ~ n 2 q = s o f t m a x c o l ( S ) ⋅ f q \widetilde{a}_{n2q}=softmax_{col}(S) \cdot f_q a n2q=softmaxcol(S)fq

s o f t m a x c o l softmax_{col} softmaxcol对行softmax ⋅ \cdot 表示矩阵乘法

相同,query-to-node查询 a ~ q 2 n \widetilde{a}_{q2n} a q2n
节点对每个关系个注意力
a ~ q 2 n = d u p ( s o f t m a x ( m a x c o l ( S ) ) ) T ⋅ f n \widetilde{a}_{q2n}=dup(softmax(max_{col}(S)))^T \cdot f_n a q2n=dup(softmax(maxcol(S)))Tfn

max函数应用与矩阵的列,dup函数将复制T次为T*M形状, f n f_n fn函数是GCN层的特征

双向注意力层并联original nodes feature, nodes-to-query attention, the element-wise multiplication of nodes featurenodes-to-query attention, 和 multiplication of nodes featurequery-to-nodes attention.

应该注意的来自GCN层的relation-aware node仅用于计算矩阵相似度,原始节点特征用于rest计算,以获得图和查询之间更一般的互补信息。不考虑边缘,因为它们是离散的,并且与GCN层中的节点相结合,输出被定义为:
a ~ = c o n c a t ( f n , a ~ n 2 q , f n ⋅ a ~ n 2 q , f n ⋅ a ~ q 2 n ) \widetilde{a}=concat({f_n, \widetilde{a}_{n2q}, f_n \cdot \widetilde{a}_{n2q}, f_n \cdot \widetilde{a}_{q2n}}) a =concat(fn,a n2q,fna n2q,fna q2n)

3.5 输出层。

2层全连接+tanh+softmax选择答案。使用注意力层获得的询问感知表示作为输入,其输出被视为每个节点成为答案的概率。由于每个候选可能在图中出现几次,因此每个候选的概率是所有对应节点的总和。损失函数定义为黄金答案与其预测概率之间的交叉熵。

4. 实验

unmasked and masked 版本的WIKIHOP数据集,遵循其基本设置,其中屏蔽版本使用特定的令牌(如MASK1)来替换文档中的原始候选令牌。 43738/5129/2451对应比训练 开发 测试集
将ELMo和GloVe线性转换为512维与POS和NER拼接,查询隐藏层256维度 双向lstm拼接故 d = 512 + 8 + 8 = 528 d=512+8+8=528 d=512+8+8=528,GCN层是5,中间层256

Coref-GRU用共指关系扩展了GRU,但对于多跳来说这仍然是不够的,因为多跳关系不限于共指,具有相同字符串的实体也存在于可用于推理的文档之间。

值得注意的是,BAG只在屏蔽数据上获得少量提升。我们认为,原因是屏蔽和查询之间的注意力产生的有用信息比未屏蔽的信息少。

在这里插入图片描述

总结

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值