文章链接:Cooperative Self-training of Machine Reading Comprehension - ACL Anthology
一、摘要
预训练语言模型通过提供高质量、上下文相关的词向量提高了抽取式问答等下游任务的效果。然而,训练特定领域的问答模型依然缺乏大量的标注数据。在本文中,我们提出了一个 互助式自训练框架——RGX,通过自回归的生成问题-答案对提高模型效果。RGX通过一个答案实体识别模块(Recognizer),一个问题生成模块(Generator)和一个答案抽取模块(eXtractor)实现。给定文本段和一个被遮挡的实体,问题生成模块围绕实体生成问题。答案抽取模块在通过问题在文本段中抽取相应的答案。之后,文章利用一个自训练的方法同时提高问题生成和答案抽取的效果。在实验中,文章证明了RGX的表现优于SOTA。
二、概述
本文做的任务是抽取式问答,即机器阅读理解。现有的工作通过大型的预训练模型提高了阅读理解的表现,然而这种方法需要大量的标注数据。先前的工作证明了自训练方法可以有效地提高阅读理解模型的表现,然而在自训练过程中,存在预训练数据集——目标数据之间的偏差。因此,本文提出一个互助式自训练框架,通过共同训练QA对和问答数据提高模型的学习能力。通过文章提出的模型,我们可以在提高预训练QA模型在无标注数据集上的效果。实验表明文章的模型的表现优于SOTA方法。
三、相关工作
分为:
- 强化学习和自训练相关
- QA相关
- 在out of-domain上测试效果和本文最相关的两个模型
四、RGX框架
数据配对:
目标是给定文本,生成一堆问题和答案。RGX通过AER生成候选答案集合,然后再根据候选答案集合和文本在QG模型中生成问题。最后通过QAE生成答案span。
AER: 有些qg工作是直接通过文本生成问题的,而引入答案可以有效提高问题生成的效果,因此文章引入了这个模块。
QG:使用的是BART
QAE:QAE在这里不仅仅用作QA,它用作数据配对的最后一环,既选定答案
互助式自训练:
自训练的过程如上图所示。将生成的QA通过EM分为高损失,中等损失和低损失问题。低损失问题可以视为简单问题,中等损失问题是有挑战的问题,高损失问题是噪音较大的问题。在训练的过程中,文章只使用低损失问题和中等损失问题,去掉高损失问题中的噪声。
在训练完一轮后,文章会在微调好的QG和QAE下重新运行(loop)RGX的过程。通过反复的迭代,QAE的效果会得到有效提升。
同时,本文还应用了一种MMI式的解码策略:
五、实验
数据集:
- 预训练数据集(seed):Natural Questions, SQuAD v1.1
- 目标数据集(out of domain):BioASQ, TextbookQA, RACE, RelationExtraction, DuoRC, and DROP), MRQA, SQuAD v1.1
在半监督场景下的表现:
在out of domain场景下的表现:
实验分析:
AER:选择不同的AER模块对QA的影响较大,尤其是直接用NER抽取答案的话QA的效果会很差,证明了设计本模块的必要性。同时无监督场景下的表现也优于半监督场景下的表现,因此RGX对AER识别的答案更加鲁棒。不仅如此,设计AER对MMI(文章使用的一种解码方法)和QG模型的多样性都有帮助。
Synthetic QA Selection with EM:如果仅选择perplex底的QA对,QA对的多样性将会显著降低,因此QAE模型很容易过拟合(问题对太简单),影响QA的效果。
Cooperative Self-training:互助式自训练不仅提高准确率,也能提高QA的多样性。