Read + Verify: Machine Reading Comprehension with Unanswerable Questions 阅读笔记

Read + Verify: Machine Reading Comprehension with Unanswerable Questions (AAAI 2019) 
 

动机:

SQuAD数据集中包括无答案问题。

1. 以前的工作尝试在预测答案跨度概率之外,还额外预测一个无答案概率,并且在这两项概率之间进行共享归一化操作。这种共享归一化操作会引起概率互相干扰的问题会最终影响无答案检测的精度,导致模型针对无答案问题的检测精度下降。
2. 很多方法都缺少答案验证这一过程。

贡献:

作者提出read+verify 模型,旨在提高系统对于无答案问题的鲁棒性。其贡献在于:

  1. 为了解决概率互相干扰的问题,作者在之前的无答案阅读器(前人的工作上)上引入了两个辅助损失函数,以分别增强答案抽取和无答案检测。
  2. 为了支持独立的答案验证,作者引入了一个额外的答案验证器,该模块旨在通过匹配答案句和问题句以找到支撑答案的局部文本蕴涵关系。为了有
    效地捕捉这种文本蕴含关系,他们还设计了三种不同的答案验证网络结构:序列模型、交互模型和混合模型。
模型:

1.无答案阅读器(之前的工作)。

(1) 利用注意力机制,为问题和段落建立相互感知的隐层表示,VU.

(2) 利用指针网络预测答案开始和结束位置:\rho=\text{softmax}(W_v^TV),c=\sum^{l_q}_{i=1}\rho_iv_i,\alpha,\beta=\text{point\_network}(U,c), 其中\alpha\beta分别是答案开始和结束位置的得分。

(3) 检测问题有答案的概率;,同理得到r^2,

基于r^1,r^2r^3计算无答案得分:

最终优化一个联合训练函数:

2. 两个辅助损失函数

(1) 无论问题是否有答案,对所有问题抽取候选答案;并用额外的指针网络产生另一对答案跨度分数;

通过该损失函数,可以期望模型在不考虑无答案检测的情况下专注于最大化候选答案跨度的概率,从而增强答案抽取精度。
 

(2) 需要根据问题判断段落中是否存在答案,而不用顾及如何抽取候选答案。

(3)合并上述损失函数:

3. 答案验证器

(1) 序列架构:

将答案句子(包含答案或者似是而非的答案所在的句子)S,问题句Q和抽取答案A串联起来得到一个序列[S;Q;A], 并利用切片得到这个序列的嵌入矩阵W_e[X],并构建这个序列的位置嵌入W_p(构建方法见Transformer).最终得到初始的序列嵌入表示H_0=W_e[x]+W_p;

将该嵌入表述输入到k个transformer块中进行编码H_i=\text{transform\_bock}(H_{i-1})

最后一层隐藏状态的最后一位词表示 h^k_{l_x} 被输入一个线性变换层后,由 softmax 函数归一化得到无答案概率p^{na}

一个标准的交叉熵损失函数被用于最小化负的对数概率:

(2) 交互架构

过于复杂,略

(3) 混合架构

结合序列架构和交互架构,组成混合架构

IDEA:

1.在验证答案阶段,如果答案文本与问题文本相矛盾,需要重新学习。即,答案验证器缺少反馈

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值