A Simple and Effective Model for Answering Multi-span Questions
论文:EMNLP20-A Simple and Effective Model for Answering Multi-span Questions
代码:https://github.com/eladsegal/tag-based-multi-span-extraction
multi-span architecture (TASE: TAg-based Span Extraction)
traditional single-span extraction (SSE)
任务
传统的阅读理解模型将问题的答案限制在单个跨度,对于答案处于多跨度的问题会有限制,本文提出了一个简单的体系结构,通过将任务转换为序列标记问题来回答多跨度问题,为每个输入token预测是否应该将其作为输出的一部分。
阅读理解(RC)任务:
- 在给定一个问题和上下文的情况下提供答案。
方法(模型)
Single-span Model
question-context-answer triplets ( q i , c i , a i ) i = 1 N (q_i, c_i, a_i)^N_{i=1} (qi,ci,ai)i=1N
目标:学习一个函数将一个question-context对映射到answer。
将question and context编码:
h
=
E
n
c
o
d
e
r
(
[
q
,
c
]
)
h = Encoder([q, c])
h=Encoder([q,c])
h
h
h是所有输入token的上下文表示序列:
h
=
(
h
1
,
.
.
.
,
h
m
)
h = (h_1, . . . , h_m)
h=(h1,...,hm)
前馈网络:
p
s
t
a
r
t
i
=
s
o
f
t
m
a
x
(
f
s
t
a
r
t
(
h
1
)
,
.
.
.
,
f
s
t
a
r
t
(
h
m
)
)
i
p_{start}^ i = softmax (f_{start}(h_1), . . . , f_{start}(h_m))_i
pstarti=softmax(fstart(h1),...,fstart(hm))i
p e n d i = s o f t m a x ( f e n d ( h 1 ) , . . . , f e n d ( h m ) ) i p_{end}^ i = softmax (f_{end}(h_1), . . . , f_{end}(h_m))_i pendi=softmax(fend(h1),...,fend(hm))i
通过 f s t a r t ( h i ) a n d f e n d ( h i ) f_{start}(hi) and f_{end}(hi) fstart(hi)andfend(hi)计算每个token的得分,再通过softmax得到概率分布。
提取答案范围:
(
s
,
e
)
=
a
r
g
m
a
x
s
≤
e
p
s
s
t
a
r
t
p
e
e
n
d
(s, e) = \underset {s \le e} {arg max} \ p_s^{start} p_e^{end}
(s,e)=s≤eargmax psstartpeend
Multi-span Model
Span Extraction as Sequence Tagging
与Single-span Model相同的是:使用相同的上下文表示 h h h
不同的是:不是预测开始和结束概率,而是为每个标记在一组标签上输出概率分布。
two tagging schemes:
-
BIO
B:表示输出范围的第一个标记
I:表示范围中的后续标记
O:表示不属于输出范围的标记
-
IO
I:单词被标记为答案的一部分
O:单词未被标记为答案的一部分
本文选择较为简单的IO
这里给一个例子:
![image-20210118200430617](https://i-blog.csdnimg.cn/blog_migrate/b8dac06cb1d5f79fe93d60ee9d1ccdd3.png)
第i个token的标签的概率:
p
i
=
s
o
f
t
m
a
x
(
f
(
h
i
)
)
p_i= softmax(f(h_i))
pi=softmax(f(hi))
Training
给定的答案跨度在输入中多次出现的情况:
input:“X Y Z Y Z”
answer span:{“X”, “Z”},
taggings:B O B O B, B O B O O, and B O O O B.
- X必然会出现
- Y必然不会出现
- Z至少出现1次
在这种情况下不能明确确定基本事实BIO。
为了处理这种情况,列举了所有可能出现的标签组合:
p
o
s
s
i
b
l
y
−
c
o
r
r
e
c
t
t
a
g
g
i
n
g
s
,
τ
possibly-correct taggings, \tau
possibly−correcttaggings,τ
通过最大化所有可能的正确标记的边界概率来训练模型
log
p
(
τ
∣
h
)
=
l
o
g
∑
T
∈
τ
(
Π
i
=
1
m
(
p
i
[
T
i
]
)
)
\log\ p(\tau | h) = log \sum_{T ∈ \tau}(\Pi^m_{i=1}(p_i[T_i]))
log p(τ∣h)=logT∈τ∑(Πi=1m(pi[Ti]))
p i [ T i ] p_i[T_i] pi[Ti]是token i拥有标签 T i T_i Ti的概率。
当p为1是损失最小。
Decoding Spans from a Tagging
T ^ = a r g max T ∈ ν ( Π i = 1 m ( p i [ T i ] ) ) \hat{T} = \underset{T∈\nu}{arg\max} (\Pi^m_{i=1}(p_i[T_i])) T^=T∈νargmax(Πi=1m(pi[Ti]))
T ^ \hat{T} T^:最有可能的标记
ν \nu ν:所有有效标记的集合
对于IO标签,所有标签均有效,并且通过独立预测每个token中概率最高的标签来实现最大化。
由于答案跨度在RC任务中从不相邻,因此IO标记通过选择所有以I连续标记的最大跨度来生成一组跨度。
“Multi-Head” Models
一些RC数据集包含的一些问题,其输出不一定是跨度的,例如:通过算术运算获取答案。
对此一些模型使用了***multi-head architecture***
p
z
(
a
∣
q
,
c
)
=
p
z
(
a
∣
h
)
p_z(a | q, c) = p_z(a | h)
pz(a∣q,c)=pz(a∣h)
每个head z是一个小模块,将上下文表示h作为输入并计算答案的概率分布。
为了确定哪个问题需要使用哪个头,需要训练一个附加模型:
p
h
e
a
d
(
z
∣
q
,
c
)
=
p
h
e
a
d
(
z
∣
h
)
p_{head}(z | q, c) = p_{head}(z | h)
phead(z∣q,c)=phead(z∣h)
答案的概率分布:
p
(
a
∣
q
,
c
)
=
∑
z
p
h
e
a
d
(
z
∣
q
,
c
)
⋅
p
z
(
a
∣
q
,
c
)
p(a | q, c) = \sum_z p_{head}(z | q, c) · p_z(a | q, c)
p(a∣q,c)=z∑phead(z∣q,c)⋅pz(a∣q,c)
数据集
-
DROP
DROP’s leaderboard:https://leaderboard.allenai.org/drop/submissions/public
-
QUOREF
性能水平
-
模型比较:
在DROP上:
使用 B E R T L A R G E BERT_{LARGE} BERTLARGE作为encoder的 T A S E B I O + S S E ( B E R T L A R G E ) TASE_{BIO}+SSE (BERT_{LARGE}) TASEBIO+SSE(BERTLARGE)超越所有处理multi-span questions的模型。相比 B E R T − C A L C BERT-C_{ALC} BERT−CALC和 M T M S N MTMSN MTMSN效果较为显著。
在QUOREF上:
处理multi-span questions是性能远超 C o r e f R o B E R T a L A R G E CorefRoBERTa_{LARGE} CorefRoBERTaLARGE 20个百分点。
-
跨度提取架构比较
在DROP和QUOREF中,用多跨度提取替换单跨度提取可以显著改善多跨度问题的性能,而单跨度问题的性能较之前变化不大。这表明多跨度架构本身可以用作通用跨度提取方法。
-
tagging方案的效果比较
BIO和IO方案,结果非常相似。IO略占优势。
结论
本文提出的的 T A S E I O + S S E TASE_{IO} + SSE TASEIO+SSE模型在整个测试集上都取得了较高的得分。
本文将回答多跨度问题的任务作为序列标记问题,并提出了一个简单的对应多跨度体系结构。 使用多跨度体系结构替换标准的单跨
度体系结构可以显著改善多跨度问题的结果,而不会损害单跨度问题的性能,从而获得较好的QUOREF结果。 将多跨度架构集成到现有模
型中可以进一步提高DROP的性能。