【论文阅读】A Simple and Effective Model for Answering Multi-span Questions

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)=seargmax 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

第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 possiblycorrecttaggings,τ
通过最大化所有可能的正确标记的边界概率来训练模型
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(aq,c)=pz(ah)

每个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(zq,c)=phead(zh)
答案的概率分布:
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(aq,c)=zphead(zq,c)pz(aq,c)

数据集

  • DROP

    DROP’s leaderboard:https://leaderboard.allenai.org/drop/submissions/public

  • QUOREF

性能水平

image-20210119092212691

  • 模型比较:

    在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} BERTCALC 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方案的效果比较

    BIOIO方案,结果非常相似。IO略占优势。

结论

​ 本文提出的的 T A S E I O + S S E TASE_{IO} + SSE TASEIO+SSE模型在整个测试集上都取得了较高的得分。

​ 本文将回答多跨度问题的任务作为序列标记问题,并提出了一个简单的对应多跨度体系结构。 使用多跨度体系结构替换标准的单跨

度体系结构可以显著改善多跨度问题的结果,而不会损害单跨度问题的性能,从而获得较好的QUOREF结果。 将多跨度架构集成到现有模

型中可以进一步提高DROP的性能。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没有胡子的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值