Select Answer and Explain Interpretable Multi-hop Reading Comprehension over Multiple Documents
论文:https://arxiv.org/abs/1911.00484
任务
在多文档的多跳阅读理解(RC)是一个具有挑战性的问题,因为它需要对多个信息源进行推理,并通过提供支持证据来解释答案预测。本文提出了一个有效的、可解释性的选择、回答和解释Select, Answer and Explain(SAE),系统来解决多文档的RC问题。
方法(模型)
首先过滤掉与答案无关的文档,从而减少干扰信息量。由一个用新颖的pairwise learning-to-rank loss训练的文档分类器(document classifier)实现。然后将所选的答案相关文档输入到模型中,共同预测答案和支持句。该模型通过多任务学习目标进行了优化,在token层面上进行答案预测,在句子层面上进行辅助句子预测,同时在这两个任务之间进行了基于注意力的交互。答案预测是通过以开始和结束标记为目标的序列标签来完成的,将支持句预测投向(cast)了节点分类任务。建立了一个GNN模型,在上下文句子嵌入上做推理,基于一种新颖的混合注意力池化机制(a novel mixed attentive pooling mechanism),在token表示上进行总结,多任务学习加上这两个任务之间基于混合注意力的交互,保证了两个任务之间信息的互补性得到利用。
模型结构
输入到BERT的数据格式:“[CLS]” + question + “[SEP]” + document + “[SEP]”
binary cross entropy loss:
L
=
−
∑
i
=
0
n
t
i
l
o
g
P
(
D
i
)
+
(
1
−
t
i
)
l
o
g
(
1
−
P
(
D
i
)
)
L = −\sum ^n _{i=0} t_ilogP(D_i) + (1 − t_i)log(1 − P (D_i))
L=−i=0∑ntilogP(Di)+(1−ti)log(1−P(Di))
t i t_i ti是 D i D_i Di的标签
n是文档的数量
P ( D i ) P(D_i) P(Di)是文档i在标签 t i t_i ti下的概率
不足:
这种简单的方法单独处理每个文档,而不考虑文档间的交互和关系,而这些关系对于下游的多跳推理任务至关重要。
改进:
加入multi-head self-attention (MHSA) 层。
MHSA层定义:
A t t e n t i o n = s o f t m a x ( Q K T d k ) Attention = softmax( \frac{QK^T}{\sqrt{dk}} ) Attention=softmax(dkQKT)
M u l t i h e a d = C o n c a t ( h e a d i . . . h e a d n ) W o Multihead = Concat(head_i...head_n)W^o Multihead=Concat(headi...headn)Wo
h e a d i = A t t e n t i o n ( Q W i Q , K W i k , V W i v ) headi= Attention(QW^Q_i, KW^k_i, V W^v_i) headi=Attention(QWiQ,KWik,VWiv)
Q、K、V是文档的 "CLS "嵌入的线性投影,分别代表注意力查询、键和值。
通过让文档/问题表示相互作用,模型能够在更好的输入信号上进行训练,以选择一组需要的黄金文档进行答案提取和支持句预测。
binary cross entropy:
L
=
−
∑
i
=
0
n
∑
j
=
0
i
l
i
,
l
j
l
o
g
P
(
D
i
,
D
j
)
+
(
1
−
l
i
,
j
)
l
o
g
(
1
−
P
(
D
i
,
D
j
)
)
L = −\sum^n _{i=0}\sum ^i_{j=0}l_i,l_j logP (D_i, D_j)+(1−l_{i,j})log(1−P (D_i, D_j))
L=−i=0∑nj=0∑ili,ljlogP(Di,Dj)+(1−li,j)log(1−P(Di,Dj))
l i , l j l_i,l_j li,lj是一对文档 ( D i , D j ) (D_i, D_j) (Di,Dj)的标签
P ( D i , D j ) P(D_i,D_j) P(Di,Dj)是模型预测的 D i D_i Di比 D j D_j Dj更相关的概率
支持句预测:
答案预测任务总是可以帮助支持句预测任务,因为有答案的句子总是一个证据;但反过来就不一样了,因为可能有多个支持句,而概率最高的句子可能不包含答案。因此,为了利用两个互补任务之间的相互作用,提出了一种基于注意力的总结句子表示法(attention-based summarized sentence representation),从答案预测中引入互补信息。
注意力权重的计算方法:一部分注意力是用 S j S_j Sj上的自注意力计算的;另一部分来自答案预测任务中的起点和终点位置logits的相加。
在句子嵌入 s j s_j sj上建立一个GNN模型,促进对预测黄金文档中所有句子的多跳推理,以更好地利用复杂的关系信息。
GNN模型结构:
三种类型边:
- 如果它们最初来自同一文档,则在两个节点之间添加边。
- 如果表示两个节点的句子在问题中都包含命名实体或名词短语(可能是不同的),则在来自不同文档的两个节点之间增加一条边。
- 如果表示两个节点的句子具有相同的命名实体或名词短语,则在来自不同文档的两个节点之间添加一条边。
数据集
HotpotQA
例子:
性能水平
- BERT base uncased model (“SAE”)
- Roberta large model (“SAE-large”)
- 使用wordpiece tokenizer
- 使用 s p a C y 3 spaCy^3 spaCy3进行命名实体识别
本文提出的方法比基线模型在Joint上的EM和F1得分分别提高了28%和25%以上,与之前提出的模型相比都有较明显的改善。
本文使用的预测黄金文档的模型与oracle黄金文档之间的差距约为3-4%,表明本文提出的的文档选择模块的有效性。
使用large pre-trained language models作为encoders,性能得到了极大的改善。
结论
消融实验
- SAE
" E M S EM_S EMS "和 " R e c a l l s S Recalls_S RecallsS "衡量的是两个黄金文档被选中的准确率和召回率
" A c c s p a n Acc_{span} Accspan "衡量的是包含答案跨度的黄金文档的被选中的准确率。
MHSA机制允许来自不同文件的信息相互作用,从测试结果来看,对模型的效果很有必要。
- 提出的SAE系统在distractor setting下取得了比其他现有系统更高的竞争性能。
- 提出的系统在HotpotQA盲测集上达到了比现有系统更有竞争力的结果。