论文笔记--Multi-Passage Machine Reading Comprehension with Cross-Passage Answer Verification (V-Net)

Introduction

本文出自Baidu NLP Research,在MS MARCO的V1版本上是第二;V2版本上QA任务是第三,well-formed任务是第二。代码没公开,基本的思想就是提出两个辅助任务,辅助抽取更好的答案片段。

Motivation

这篇文章的动机很直接,文章对数据进行分析,提出一种假设:正确的答案往往在10个摘要中出现频率高,且具有很大的相似性;然后错误的答案通常和其他答案不一样。

Contribution

实现了一个端到端的模型,每篇文章抽取的片段之间相互监督,再算一个相似度作为验证模块,对片段的内容再做一个分析,应用多任务学习使得抽取的片段更好。

Model

下面对模型详细介绍,最主要的是Answer Content Modeling和Cross-Passage Answer Verification,其他的地方和其他模型大同小异。

Overview

整个模型是End-to-End的,输入是Question和Passages,输出是Answer,也就是抽取的span,所以说,这应该是抽取式模型里效果最好的了。

Question and Passage Modeling

把每一个token的Glove word embedding和character embedding串起来,然后过BiLSTM得到每一个sequence的表示,公式如下:

得到表示之后,采用BiDAF计算相似度的方式:$S_{t}^{P_i}={u^Q_t}\intercal \cdot u^{P_i}_t$,然后再喂给BiLSTM得到Matching之后的Passages表示$V_t^P$:

Answer Boundary Prediction

该模块对每个Passage都抽取答案片段,具体的就是指针网络,输入是$V_t^P$,输出是span两端的概率,公式如下:

这部分的输出是片段起始位置和终止位置的$a_k^t$,对于指针网络的详细计算参见Match-LSTM。

Answer Content Modeling

该模块尝试对Passage的内容进行建模,也就是本文的动机:越正确的答案,出现频率越高,且具有很大的相似性;错误的答案通常和其他答案不一样。因此,输入是$V_t^P$,过ReLU和sigmoid函数,对每个passage的内容加一个门控,算出来的权重$p^c_k$:

最后该模块会算一个综合考虑所有token的Passage表示(加权求和),增强了内容相似度分数更高的Passage表示,文中称之为Answer Content:

然后将此用于计算下一部分的答案验证。

Cross-Passage Answer Verification

该模块输入每个passage的Answer Content,过Attention Pooling,综合考虑所有的passage,相互比较一下,最后用类似于Dual Attention的方式叠加,算出最终的得分:

得到attention权重化的答案内容的表示,和每一个篇章各自的答案内容做点积和串联操作,得到打分,归一化后就得到对每一个抽取的答案的概率分布$p^v_{y_i}$并输出,运算关系如下:

Training

模型的Loss由三部分组成,Model部分也介绍了每部分的输出,Multi-Loss如下:

综上:

最后两项损失的系数在实验部分设置的是$0.5$,优化器使用的是Adam。

Experiment

在MAMARCO第一版上很接近人类水平,也就是说抽取式模型对数据集的处理就可以了,也从另一个方面说明有点违背了MARCO的本意,与其他模型的对比,评测指标是BLEU-1和ROUGE-L:

下图是在DuReader上的结果,中文的生成式阅读理解数据集,评测指标是BLEU-4和ROUGE-L:

Analysis

本文对自己提出的Answer Content和Verify部分进行了分析,发现综合打分的作用对一些case是有效果的,比如:


并且从下图也可以看出,span部分的Answer Content概率分布与起止位置的点很吻合:


去除实验部分,感觉都同等重要,就没有放上来。

Conclusion

通过分析,可以发现对抽出来的答案进行进一步的内容计算和验证,然后用Multi-Loss进行联合训练,是有助于抽取的片段更加准确,但是这仍不是MARCO的初衷,还是extrative MRC。因此,多任务学习还是适用性比较强的,未来MARCO的工作应该更多地向生成式发展。

References

  1. Multi-Passage Machine Reading Comprehension with Cross-Passage Answer Verification. Yizhong Wang, Kai Liu, Jing Liu, Wei He, Yajuan Lyu, Hua Wu, Sujian Li and Haifeng Wang. ACL 2018.
  2. MAMARCO leaderboard: http://www.msmarco.org/leaders.aspx
  3. https://github.com/IndexFziQ/MSMARCO-MRC-Analysis.