A Multi-answer Multi-task Framework for Real-world Machine Reading Comprehension阅读理解笔记

28 篇文章 2 订阅
26 篇文章 1 订阅

《A Multi-answer Multi-task Framework for Real-world Machine Reading Comprehension》

这篇文章是发表在2018年EMNLP上的,在微软发布的MS MARCO数据集和百度的DuReader上得到了SOTA效果。

分以下四部分介绍:

  • Motivation
  • Model
  • Experiment
  • Discussion

1、Motivation

  • 在真实世界当中问题不仅仅是比较简单的单一的,可能还会涉及到推理,流程以及意见。这种情况下对于一个问题就可能有多个答案是等效的。文章提出了针对多个答案提出了多个不同的loss function。(也算是首次针对多个答案提出的想法)
  • 而且文章信息比较丰富,每一个答案在文章当中可能会重复出现。因此如果只预测一个块的话是有问题的。文章提出了minimum risk training方法来解决。

在这里插入图片描述

2、Model

在这里插入图片描述

2.1 overview

输入:

  • 先对文档进行预处理,然后将抽取的多篇文档内容进行连接,得到文档输入表示。
  • 问题

输出:

  • 抽取的答案块

2.2 Passage Extraction

先前的方法是为每一个文档去选择一个段落,用了一个简单的启发式规则,训练了一个段落排序模型。但是有可能答案是来自多个段落的。

该论文表示:把文档的标题抽取出来。对每一篇文档的每一个段落计算和问题的bleu-4值,选出Top k的得分的段落并且是首先出现的文章中的。然后将这一段和下一段作为文章的主体,并且把接下来的段落的第1句话也抽取出来。每一篇文章都经过这样的处理,然后将所有的信息连接得到抽取的文档。

2.3 Representation of Word

对于问题的表示,我们将词向量和词性标注向量结合。对于文档的表示,我们增加一个额外的二元特征,如果文档中的词出现在问题里,标签为1,否则为0。

2.4 Encoding Layer

在这里插入图片描述

2.5 Match Layer

通过使用BiDAF模型,得到双向的上下文表示向量:
在这里插入图片描述
在这里插入图片描述
然后再通过一个双向LSTM 去获得最后包含问题信息的文章的表示:
在这里插入图片描述

2.6 Multi-answer multi-task loss function

2.6.1 Answer prediction with multi-answer

用文章的表示通过指针网络去预测答案的边界。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
先前的方法就是从候选答案里挑出只计算一个参考和预测之间的loss,
在这里插入图片描述
而这里作者提出了三种方式计算多个参考答案和预测间的loss。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
A表示候选答案的个数。

2.6.2 Passage selection with multi-answer

对文章的表示做一个attention pooling,然后对每一篇文章去计算一个匹配得分g,这里有一点类似snet,在预测答案的时候是对所有的文章做了一个连接。然而在做passage selection之时,是对每一篇文章去算一个打分。(比如连接的文章是由5篇文章组成,那么就会产生5个打分)
在这里插入图片描述
snet里面用的是softmax函数,作者在这里用的是sigmoid激活函数。因为多个文档可能都会包含正确答案,并不是只有一个文档包含正确答案,所以使用sigmoid感觉更好。

最后在计算损失的时候,我们是对k篇文档计算,如果这篇文档包含正确答案,那么它的标签 y k y_k yk为1,否则为0。
在这里插入图片描述

2.6.3 Joint training

在这里插入图片描述
L a p L_{ap} Lap 表示的是前面三者损失函数的平均

2.7 Minimum Risk Training

这个方法之前是在机器翻译被广泛应用,通过直接优化评价指标,而不是最大化log似然。目标是要去最小化对应后验概率的期望损失:在这里插入图片描述
Δ是一个函数,表明预测结果和真实标签之间的差异,直接用rouge指标。
使用这种方法是为了解决答案可能在文章当中会出现多次。(并不知道为什么能解决)
在机器翻译里面,计算对应后验概率分布的期望指标是非常复杂的,因此采样的方法会经常被运用。然而在我们的块抽取模型当中,我们使用所有的块,而不是采样。MRT loss定义为:
在这里插入图片描述
最终,we minimize the linear combination of MLE and MRT loss:
在这里插入图片描述

3、Experiment

1、图1展示了passage extr action的结果,还有丰富特征表达的结果。这个模型作为single answer baseline,为了和下面我们的多答案损失计算进行对比实验。在这里插入图片描述
2、三种loss的方式,都比单模型的效果要好,说明了我们在loss上面的改进是有效的。
在这里插入图片描述
和一些模型的比较:
在这里插入图片描述

3、最后,我们对只有一个参考答案和有多个参考答案的数据去进行了实验(图2是在整个数据集上进行实验)。发现在多答案模型上,即使是针对单个参考答案效果也有所提升。
在这里插入图片描述

4、Discussion

优点:

  • 这篇文章的改进点相比s net在 passage selection方面,把softmax function改成了二分类激活函数。
  • 另外在对多个答案上的一个loss的计算进行了改进,提出了三种新的方式。
  • 加入了新的loss fun——MRT

缺点:

  • 在预测的时候就产生了一个答案。但是在一些情况下,是有必要去找到所有可能的答案。(比如观点型)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

彭伟_02

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

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

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

打赏作者

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

抵扣说明:

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

余额充值