A Multi-Type Multi-Span Network forReading Comprehension that Requires Discrete Reasoning

论文:https://arxiv.org/abs/1908.05514

代码:https://github.com/huminghao16/MTMSN

复现:https://github.com/Asimok/DROP

由于学校VPN暂时禁用,无法继续做实验,复现的实验只做了2/3

任务

​ 在QA场景中,当答案涉及各种类型,或离散(多个span为正确答案)时,模型需要更高的推理能力,本文提出了多类型多跨度网络(MTMSN),包含多种答案类型(如跨度、计数、否定和算术表达)的多类型答案预测器,与一个动态产生一个或多个span的多跨度提取模块。

​ 此外,还提出了一种算术表达式重排机制,对表达式候选者进行排序,以进一步确认预测结果。

方法(模型)

image-20220126104449279

使用BERT做解码器,使用Transformer Block将word embedding映射到contextual enmbedding。

预测4种答案类型:

(1) span from the text; (2) arithmetic expression; (3) count number; (4) negation on numbers

模型首先根据passage-question pair预测答案类型,在根据不同答案类型做对应的答案预测。

对于multispan extraction模型可以预测出答案span的数量。

对于算数类问题,不直接使用最大概率的算数表达式,而是通过beam search对候选表达式重排序后确认预测答案。

模型在弱监督信号下训练,使所有可能的注释的边际似然函数概率最大化。

输入序列:[CLS] token, the tokenized question, a [SEP] token, the tokenized passage, and a final [SEP] token.

embeddings:

Multi-Type Answer Predictor

直接从输入序列(question + passage)中提取答案片段。

与QANet model类似,使用最后4个block作为上下文表示,M0, M1, M2, M3。

Answer type prediction

分割$M_2$,作为$Q_2$和$P_2$的上下文表示:

$P_2$的表示方法类似。

$h^{CLS}$是最后一层的第一个向量。

FFN:feed-forward network,激活函数:GeLU

GeLU activation:

其中$Φ(x) $是标准正态分布

这么选择是因为神经元的输入趋向于正态分布,使得当输入x减小的时候,输入会有一个更高的概率被dropout掉,这样的激活变换就会随机依赖于输入了。

Span

为了在不同layer的问题表述中总结问题信息,使用3个向量,$g^{Q_0}, g^{Q_1}, g^{Q_2}$,计算过程如下:

$g^{Q_0}, g^{Q_1}$计算过程类似。

计算token作为开始和结束位置的概率。

image-20220126131243755

Arithmetic expression

处理 (plus, minus, or zero)三种运算。

拼接$M_2,M_3$得到文章中出现数字的上下文表示:

文章中出现N个数字。

计算每个位置的sign(plus, minus or zero):

实质上仍然是一个分类问题,sign=0猜测,该位置的数字对表达式不起作用。

Count

仍然是一个多分类问题,$h_U$为文章中出现的所有数字的summarizes。-

image-20220127103025838

Negation

第i个数字是否作为否定句处理:

image-20220128104735702

Multi-Span Extraction

处理multi-span情况时,转换为预测span的数量,可以看做一个多分类问题。

image-20220128105111878

为得到无重叠的span,使用non-maximum suppression (NMS) 算法,重叠率计算使用 text-level F1 function.

具体来说,通过计算$p^{start}_k,p^{end}l$得到$span (k, l)$,按概率降序排序后,按概率从原始集合中迁移到新的集合,重复操作至原始集合为空,或者新集合已达到超参数限制的span最大数量,在此过程中,要将重叠的span去除。

Arithmetic Expression Reranking

由于表达式本身是数字的粗粒度语义信息,并没有结合上下文信息,因此会导致错误的表达式,具有最大概率的sign是负数或零,导致大的负值。

为解决这个问题使用beam search来产生排名靠前的算术表达式进行重排序。

image-20220128112255991

number vectors $V_i$

sign embeddings $C_i$

数据集

Drop数据集QA根据答案类型分类:

image-20220128113154491

性能水平

实验结果:image-20220128112912361

消融实验:

image-20220128112951079

结论

MTMSN,是一个用于阅读理解的多类型多跨度网络,需要对段落内容进行离散推理。
使用多类型的答案预测器以处理否定句类型的问题,提出了一个多跨度的提取方法以产生多个答案,并设计了一个算术表达式重排机制以进一步确认预测结果。

该模型主要实现了复杂的数字推理。