论文名称:Cross-Lingual Machine Reading Comprehension
论文作者:崔一鸣,车万翔,刘挺,秦兵,王士进,胡国平
原创作者:崔一鸣
下载链接:https://arxiv.org/abs/1909.00361
项目地址:https://github.com/ymcui/Cross-Lingual-MRC
来自:哈工大SCIR
1. 简介
虽然机器阅读理解研究得到了飞速发展,多数工作面向的是英文数据,而忽略了机器阅读理解在其他语言上的表现,其根本原因在于大规模训练数据的缺失。在这篇论文中,我们提出跨语言机器阅读理解(Cross-Lingual Machine Reading Comprehension,CLMRC)任务来解决非英文下的机器阅读理解。首先我们给出了若干传统方法来实现跨语言机器阅读理解,其中包括一些零资源(zero-shot)方法。紧接着我们创新地提出了Dual BERT模型,对<篇章,问题>在双语环境中建模,同时利用富资源语言来帮助低资源语言下的机器阅读理解。我们在两个中文机器阅读理解数据集上验证得知该方法能够显著提升低资源下的机器阅读理解效果,为未来低资源下的机器阅读理解提供了一种解决方案。
2. 动机
机器阅读理解(Machine Reading Comprehension, MRC)是让机器阅读文本材料并回答与文本相关问题的一个任务,在近些年受到了广泛的关注和研究。从早期的填空型阅读理解、篇章片段抽取型阅读理解,到现在的对话型阅读理解、多段推理阅读理解,我们可以看到相关的数据集不断涌现,与之配套的神经网络模型也层出不穷。但尽管这个领域的研究如此活跃,多数的工作建立在英文机器阅读理解任务上而忽略了在其他语种上的表现,其主要原因在于大规模训练数据的缺失。
为了进一步提升其他语种上的机器阅读理解效果,在本文中我们提出了跨语言机器阅读理解任务。首先我们给出了基于回译(Back-Translation)的跨语言阅读理解方法来解决目标语言没有训练数据的情况。对于目标语言存在一定的训练数据时,我们创新地提出了Dual BERT模型来进一步借用富资源语言(例如:英文)的训练数据来帮助低资源语言下的机器阅读理解效果。该模型能够对<篇章,问题>在双语环境中建模,并且最终融合成一种统一的语义表示,进而得到更加精准的答案预测。
本文的主要贡献:
1)提出了跨语言机器阅读理解任务来进一步提升低资源语言下的机器阅读理解系统效果
2)提出了Dual BERT模型,对输入文本和问题在双语环境中建模,进一步丰富了语义表示
3)所提出的Dual BERT模型在两个中文机器阅读理解数据集上获得state-of-the-art效果
3. 基于回译的方法
3.1 术语
我们将介绍在本文中最重要的两个术语:
- 源语言:具有大规模的语料资源的语种。我们需要从该语种的资源中抽取出丰富的知识。下文中使用上标S来代表源语言变量。
- 目标语言:希望优化系统性能的语种,即目标系统的语种。该语种没有可用或仅有少量的语料资源。下文中使用上标T来代表目标语言变量。
在本文中,我们将利用英文(源语言)数据来提升中文(目标语言)机器阅读理解系统效果。
3.2 任务
本文所提出的方法具有良好的通用性,可适配多种机器阅读理解任务。为了更加明确的介绍我们的方法,在本文中将着重解决基于篇章片段抽取的机器阅读理解(Span-Extraction MRC),这也是目前在该领域中研究最为广泛的任务之一。该任务需要对<篇章,问题>进行建模,并从篇章中抽取出一个连续的片段作为答案。最广为熟知的是由斯坦福大学提出的SQuAD(Stanford Question Answering Dataset)数据集。
3.3 方法
在本节中,我们简要介绍几种基于回译的跨语言机器阅读理解方法。
3.3.1 GNMT 简单匹配
使用翻译系统来实现跨语言机器阅读理解是很直接的方法(Asai et al., 2018)。其流程可以简要归纳为(如图1左):
1)将目标语言输入<篇章,问题>翻译成源语言
2)通过源语言的阅读理解系统得到一个源语言的答案
3)将源语言答案回译为目标语言
在本文中,我们使用的是谷歌NMT系统(Google Neural Machine Translation,GNMT)。但这里会有一个问题:经过回译的答案不一定是原文中的某个精准片段。Asai等人提出使用NMT的注意力机制将源语言答案映射到目标语言。在本文中,我们提出一种简单匹配(SimpleMatch)的方法来替代该方案:利用滑动窗口在目标语言篇章中进行滑动,窗口大小为len(Atrans)±δ,其中δ∈[0,5]为松弛变量,因为我们假定翻译出的答案Atrans与真实答案之间的长度应该基本相近。这样,对比Atrans,我们从这些窗口中选取一个字级别F1值最高的窗口作为最终的预测C。通过实验证明,在日语和法语的SQuAD数据上该方法效果更优(感兴趣的读者请阅读论文的5.3节)。
3.3.2 答案对齐器
如果目标语言有一定量的训练数据,那么我们可以进一步提升答案对齐的效果。将对齐后的答案C与目标语言篇章P输入到BERT中,并以目标语言真实答案作为目标进行训练,就可以得到答案对齐器(Answer Aligner)。其示意图如图1中所示。
3.3.3 答案验证器
在答案对齐器的基础上进一步加入目标语言问题Q,即可成为答案验证器(Answer Verifier)。因为该模型相比仅使用目标语言数据<P, Q>多了一个对齐后的答案C,相当于验证C是否与<P,Q>相容。
图1 基于回译的跨语言机器阅读理解方法(左:GNMT,中:答案对齐器,右:答案验证器)
4. Dual BERT
接下来我们介绍Dual BERT,适用于目标语言存在一定的训练数据的情况。
4.1 双通道编码器
在本文中我们使用BERT作为文本表示模型。对于给定的目标语言篇章PT和问题QT,BERT的输入XT可以表示为
同理,利用GNMT系统,我们可以将目标语言数据翻译成源语言,从而获得源语言输入XS。经过BERT编码后,分别获得目标语言表示BT和源语言表示BS(大小均为batch*length*hidden_size)。
4.2 双语解码器
为了将源语言表示融合到目标语言表示中,我们提出了一种自适应注意力机制(Self-Adaptive Attention, SAA)。SAA基于Transformer中的Multi-head Attention,其中包含Dot Attention的计算。在原始的Dot Attention中,Attention矩阵计算为
我们修改为
在Multi-head Attention中将ATS替换为A~TS即可。该操作的目的是,在BT和BS计算注意力之前,首先让BT和BS先对自身进行Self-attention计算,过滤掉相对无用的部分,然后再计算两者之间的注意力,从而进一步提升注意力计算的精准度。
接下来我们即可得到Attended表示R’,并进一步通过残差连接(Residual Connection)和层归一化(Layer Normalization)获得最终的表示HT。
最终我们利用HT计算目标语言上的开始和结尾指针并计算对应的交叉熵损失。
图2 基于Dual BERT的跨语言机器阅读理解方法
4.3 辅助损失
我们同时对源语言进行预测并计算对应的交叉熵Laux作为辅助损失。最终的损失函数为,其中λ∈[0,1]为比例系数。
在本文中,我们采用了一种动态计算的机制,取代了手工设定λ值。由于源语言样本是经过翻译得来的,存在一定的信息缺失。我们希望如果翻译的质量很高,那么辅助损失就越可靠;反之则希望辅助损失不要影响到主损失LT。基于这个思想,我们计算通过计算<源语言答案表示,目标语言答案表示>的余弦相似度来决定λ值。这两个表示计算如下,
即每一个表示由开始节点、结尾节点对应的BERT表示以及答案片段的表示拼接而成。感兴趣的读者可阅读源代码进一步了解具体的计算方法。
5. 实验
5.1 数据集
我们在两个公开的篇章片段抽取型(Span-Extraction)中文机器阅读理解数据集验证了我们的方法,其中包括CMRC 2018(简体中文),DRCD(繁体中文)。数据集相关统计信息如表1所示。关于实验设置在这里不再赘述,请参考论文中的5.1节。
表1 CMRC 2018和DRCD数据集的统计信息
5.2 实验结果
整体实验结果如表2所示,我们可以得出一些主要结论:
1)基于回译的系统中,简单匹配能够带来显著性能提升;在有一定训练数据的情况下,答案验证器和答案验证器能够进一步带来性能提升;
2)采用源语言预训练的模型对目标语言的机器阅读理解系统有显著性能提升;
3)Dual BERT的双语建模能够在上述基础上带来进一步的性能提升。
表2 CMRC 2018和DRCD数据上的整体结果
5.3 消融实验
为了进一步了解各个模块所带来的提升,我们在Dual BERT (w/ SQuAD) 模型上进行了消融实验,其结果如表3所示。我们可以看到去掉SQuAD预训练(倒数第一行)或者退化为连续训练(Cascade Training,即不使用双语建模)会显著降低模型效果,说明与数据相关的组件对于整体性能影响最大。其他的组件,例如辅助损失、自适应注意力(SAA),均会带来一定的性能下降,但不及数据相关的组件,说明在跨语言机器阅读理解中需要重点思考如何有效地利用数据。
表3 Dual BERT模型上的消融实验结果
6. 讨论
在上述的实验中,我们使用了英文数据来提升中文机器阅读理解系统的效果。但这里有一个实际的问题需要深入讨论:
假设我们的目标是提升简体中文机器阅读理解系统的效果,那么在源语言的选择上应该选用具有大规模数据的远距离语种(例如:英文SQuAD),还是应该选用具有小规模数据的近距离语种(例如:繁体中文DRCD)?
为了探究这个问题,我们使用了不同源语言及大小的训练数据进行预训练,观测下游简体中文机器阅读理解系统(CMRC 2018)的效果变化。相关结果如图3所示,其中横轴代表源语言训练数据的规模,纵轴代表平均评价指标(EM和F1的平均值)。
图3 目标语言系统在不同源语言及预训练数据大小下的效果变化
由此我们可以得出如下结论:
1)在数据量差异不大的情况下,无需根据语种的远近选择源语言数据;
2)在数据量差异较大的情况下,应首要考虑源语言数据的规模而非语种的远近。从上图的例子中可以看出,虽然英文(相比繁体中文)与简体中文相对较远,但其规模更大,可以对简体中文系统带来进一步性能提升。
7. 结论
在本文中,我们提出了跨语言机器阅读理解任务。对于目标语言没有训练数据的情况,我们提出了若干个零资源方法将源语言系统迁移至目标语言。对于目标语言有少量训练数据的情况,我们创新地提出了Dual BERT,利用了源语言的大规模训练数据进行预训练,同时使用Multilingual BERT将<篇章,问题,答案>在双语空间中建模,进一步丰富了文本的语义表示。实验结果证明所提出的方法能够显著提升低资源语种的机器阅读理解系统效果,同时也为未来跨语言机器阅读理解研究提供了基线系统。
本期责任编辑:李忠阳