一、阅读前准备

本篇论文地址:http://ir.hit.edu.cn/~car/papers/emnlp2019-cui.pdf

论文相关介绍:https://www.jiqizhixin.com/articles/2019-10-21

论文中多次提到了18年Asai 等人发表的一篇论文《Multilingual Extractive Reading Comprehension by Runtime Machine Translation》(论文地址:https://arxiv.org/pdf/1809.03275.pdf),所以在阅读《跨语言机器阅读理解》之前,对此篇论文最好有一定的了解。

这篇论文的主要目的是通过结合英语的阅读理解(RC)模型和基于注意力机制的神经网络翻译(NMT)模型来解决非英语的阅读理解问题。主要操作是:首先将一个段落-问题对使用神经机器翻译模型翻译为英语,这样英语的抽取式阅读理解模型可以输出它的答案,然后使用神经机器翻译模型的attention weights对齐目标文本中的答案。
论文阅读|Cross-Lingual Machine Reading Comprehension
这样的做法在当时也取得了很好的成绩,但是存在着很多问题,在《跨语言阅读理解》这篇论文中有描述。

二、阅读论文

0.摘要

虽然业内在机器阅读理解任务上已经取得了很大的进展,但以往的工作大多是解决基于英语的阅读理解问题,而其他语言上所做的工作较少主要是由于缺乏大规模的训练数据。在本文中,我们为非英语的语言提出了跨语言阅读理解(CLMRC)任务。首先,我们为跨语言阅读理解任务提出了几种简单易行的回译(back-translation)方法。然而,准确的将答案对齐到另一种语言上是困难的, 而且可能会带来额外的噪音。在这种情况下,我们提出了一种新的模型称为Dual BERT,该模型利用丰富资源语言(如英语)提供的大规模训练数据,在双语背景下学习语篇和问题的语义关系,然后利用学到的知识提高低资源语言的阅读理解性能。我们在CMRC2018和DRCD两个中文机器阅读理解数据集上进行了实验。结果表明,该方法较现有的各种系统有了较大幅度的改进,显示了跨语言机器阅读理解任务的潜力。

1.介绍

机器阅读理解(MRC)一直是测试机器阅读能力的一项热门任务,它要求阅读文本材料并根据阅读材料回答问题。从完形填空式阅读理解开始,人们提出了多种神经网络方法,并在创建大规模数据集和神经模型方面取得了巨大进展。尽管有各种各样的贡献,但大多数工作都是关于英语阅读理解的。由于缺乏大规模的培训数据,英语以外的阅读理解一直没有得到很好的解决。

为了丰富训练数据,传统的方法有两种。第一种方法是,我们可以由人类专家对数据进行标注,这是一种理想的、高质量的数据标注方法,但这种方法费时、费钱。也可以获得大规模自动生成的数据,但质量远远超过可用的阈值。另一种方法是应用跨语言的方法,利用丰富资源语言中的数据,隐式地学习<passion,question,answer>之间的关系。

在本文中,我们提出了跨语言机器阅读理解任务,目的是帮助低资源语言的阅读理解。首先,我们介绍了几种在目标语言中没有或部分资源可用时应用的回译方法。然后,我们提出了一个新的模型,称为Dual BERT,以在目标语言有训练数据可用的时候进一步提高系统性能。我们首先将目标语言训练数据翻译成英语,形成伪双语并行数据。然后,我们使用多语言BERT同时对两种语言中的<passion,question,answer>进行建模,并融合这两种语言的表示来生成最终预测。在两个中文阅读理解数据集CMRC 2018和DRCD上的实验结果表明,利用英语资源可以显著提高系统性能,所提出的Dual BERT在两个数据集上都达到了最优的表现,甚至在某些指标上超过了人的表现。此外,我们还在日语和法语SQuAD数据集上进行了实验,并取得了实质性的改进。此外,本文还进行了详细的分析,以证明从丰富的资源语言中挖掘知识的有效性。据我们所知,这是跨语言方法首次在真实的阅读理解数据上进行应用和评价。本文的主要贡献如下。

  • 我们提出几种基于回译的阅读理解方法,并在中文、日语和法语的阅读理解数据集上取得了最优的表现。
  • 我们提出了一个名为Dual BERT的模型,在源语言和目标语言中同时对<passion,question>进行建模,以丰富文本表示。
  • 在两个公开的中文阅读理解数据集上的实验结果表明,提出的跨语言方法在不同的基线系统上都有显著的改进,并创造了新的最优表现。

2.相关工作

机器阅读理解是今年的一个研究热点,在各种类型的阅读理解任务中,跨度抽取式阅读理解非常受欢迎(如SQuAD),我们已经看到了相关神经网络方法的巨大进步,尤其是那些建立在预训练的语言模型上的,比如BERT。虽然业内已经取得了巨大的成果,但是非英语的语言由于缺乏大规模训练数据还没有得到很好的研究。

Asai等人(2018)提出使用运行时机器翻译进行多语种抽取式阅读理解。他们首先将目标语言数据翻译成英语,然后使用英语阅读理解模型获得答案。最后,他们使用神经机器翻译模型中的软对齐注意分数来恢复原始语言中相应的答案。然而,尽管已经做了一个有趣的尝试,但是零资源阅读理解的结果很低;不同语言之间的对齐有着显著的差异,特别是那些语序不同的语言。而且,他们只对一个很小的数据集(数百个样本)进行评估,并且这个数据集是从SQuAD翻译过来的,这并不现实。

为了解决上述问题,更好地利用大规模、资源丰富的语言的阅读理解数据,本文提出了几种零资源的方法,这些方法在日语、法语SQuAD数据集上得到了最优表现。此外,我们还提出了一种在目标语言有训练样本的情况下的监督方法。为了评价该方法的有效性,我们对两个真实的公开汉语阅读理解数据集进行了实验:CMRC 2018(简体中文)和DRCD(繁体中文)。实验结果证明了在双语环境下对训练样本进行建模的有效性。

3.回译方法

在这部分中,我们将说明跨语言机器阅读理解的回译方法,这是一种自然且易于实现的方法。在详细介绍这些方法之前,我们将说明本文中的关键术语,以便更好地理解。

  • 源语言:资源丰富且拥有大规模训练数据的语言,我们要从中提取知识。使用下标S表示源语言中的变量。
  • 目标语言:资源不足,只有一些我们希望优化的训练数据。使用下标T表示目标语言中的变量。

本文旨在通过引入英语(源语言)资源来提高汉语机器阅读理解能力。回译方法的基本思想是将<passage,question>翻译成源语言,然后使用源语言的阅读理解系统生成答案。最后,生成的答案被回译成目标语言。在下面的小节中,我们将介绍几种用于跨语言机器阅读理解任务的回译方法。图1描述了所提出的回译方法的体系结构。
论文阅读|Cross-Lingual Machine Reading Comprehension

3.1 GNMT谷歌神经翻译系统

要构建一个简单的跨语言机器阅读理解系统,利用翻译系统来桥接源语言和目标语言是很简单的。简单地说,我们首先将目标样例翻译为源语言。然后我们使用一个源阅读理解系统,如BERT,用源语言生成答案。最后,我们使用反向翻译得到目标语言的答案。由于我们没有利用目标语言中的任何训练数据,我们可以将这种方法视为零资源跨语言基线系统。

具体地,我们使用谷歌神经机器翻译(GNMT)系统进行源到目标和目标到源翻译。我们也可以使用先进的特定领域的神经机器翻译系统来获得更好的翻译性能,这个工作将其留给个人,这超出了本文的研究范围。

然而,对于跨度抽取式阅读理解任务,这种方法的一个主要缺点是翻译的答案可能不是目标语篇中的准确跨度。为了解决这个问题,我们提出了三种简单的方法来提高译文的质量。

3.2 简单匹配

Simple Match:我们提出了一种简单的方法来将翻译后的答案与目标语篇中的提取的跨度对齐。在目标语篇PT[i:j]中,我们计算了翻译答案Atrans和目标语篇的任意滑动窗口之间的字符级文本重叠。滑动窗口的长度范围为len(Atrans)±δ,松弛参数为δ。一般来说,松弛参数δ∈[0,5]作为真实答案和翻译答案之间的长度没有太大的差异。这样,我们就可以计算出每个候选者跨度PT[i:j]和翻译答案Atrans的字符级F1值,并据此选择最佳匹配的一个。利用简单匹配方法,可以保证预测结果在目标通道中的准确跨度。由于简单匹配也不使用目标训练数据,因此它也可以是零资源阅读理解任务的一个组件。

3.3 答案对齐器

尽管我们可以使用无监督的方法来对齐答案,例如提出的简单匹配方法,但是它停留在字符级别,并且在翻译的答案和真实答案之间缺乏语义关系。在本文中,我们还提出了两种有监督的方法来进一步提高在目标语言中有训练数据时的答案广度。

第一种是答案对齐器,我们将翻译后的答案Atrans和目标语篇PT输入到BERT中,并输出真实答案跨度AT。该模型将学习它们之间的语义关系,并为目标语言生成改进的跨度。

3.4 答案验证器

在答案验对齐中,我们没有利用目标训练数据中的问题信息。我们还可以利用问题信息将答案对齐器转换为答案验证器,因为我们在目标语言中使用完整的<PT , QT , AT >和附加的翻译答案Atrans来验证其正确性并生成改进的跨度。

4. Dual BERT

回译法的一个缺点是我们必须将源语言答案恢复到目标语言中。为了解决这一问题,本文提出了一种新的模型Dual BERT来同时对源语言和目标语言中的训练数据进行建模,以更好地利用<passage,question,answer>之间的关系。该模型可以在有目标语言训练数据的情况下使用,并且可以更好地利用源语数据来增强目标语阅读理解系统。Dual BERT完整的神经结构如图2所示。
论文阅读|Cross-Lingual Machine Reading Comprehension

4.1 Dual Encoder(双编码器)

来自于Transformers(BERT)的双向编码器在各种NLP任务中表现出了惊人的性能,其性能大大优于非预训练模型。在本文中,我们使用多语言的BERT来更好地在源语言和目标语言中对文本进行编码。形式上,给定目标语篇PT和问题QT,我们将BERT的输入XT组织如下。
论文阅读|Cross-Lingual Machine Reading Comprehension
同样,我们也可以通过用谷歌神经翻译系统翻译目标样例来获得源训练样本,形成BERT的输入XS。然后,我们使用XT和XS通过共享的多语言BERT获得深层语境表示,形成BT∈RLTh,BS∈RLSh,其中L表示输入长度,h表示隐藏层大小。

4.2 Bilingual Decoder(双语解码器)

在阅读理解任务中,注意机制通常被用来衡量文章和问题之间的关系。此外,由于Transformers是BERT的基本组成部分,因此在输入序列中利用多头self-attention来提取有用信息。

具体来说,在我们的模型中,为了增强目标的表现力,我们使用一个多头self-attention层来提取源BERT中有用的信息表示BS。我们的目标生成目标跨度,该过程不仅依赖于目标表示,而且依赖于源表示。同时考虑两种语言中的<passion,question>关系来生成目标跨度,这可以看作是一个双语解码过程。

简单地说,我们把目标BERT表示BT作为query,把源BERT表示BS作为多头attention机制中的key和value。在原始的多头attention中,我们计算一个原始点的attention如下。这将产生一个attention矩阵ATS,表示每个源和目标令牌之间的原始关系。
论文阅读|Cross-Lingual Machine Reading Comprehension
为了综合inter-attention机制和self-attention机制的优点,我们提出了一种简单的多头注意机制的改进方法,即Self-Adaptive Attention(自适应注意力机制SAA)。首先,我们计算BT和BS的self-attention,并应用softmax函数,如等式2和3所示。这是为了利用self-attention先过滤每个表示中不相关的部分,并通知原始点更多地注意自注意的部分,使注意更加精确和准确。
论文阅读|Cross-Lingual Machine Reading Comprehension
然后,我们使用self-attention的 AT和AS,inter-attention的 ATS来获得带注意的attention ATS~,我们计算了ATS ~和BS之间的点积,得到了带注意的表示表示R’∈RLT*h。(//ATS就是BT和BS之间做attention,ATS ~是BT和BS做attention之前,先分别做了self-attention)论文阅读|Cross-Lingual Machine Reading Comprehension
在得到带注意力R后,我们使用一个附加的完全连接层和剩余层规范化,这类似于BERT实现。
论文阅读|Cross-Lingual Machine Reading Comprehension
最后,计算HT的加权和,得到最终跨度预测PsT,PeT(上标s表示起点,e表示终点)。例如,开始位置PsT由以下公式计算。
论文阅读|Cross-Lingual Machine Reading Comprehension
我们计算目标语言中开始和结束预测的标准交叉熵损失。
论文阅读|Cross-Lingual Machine Reading Comprehension

4.3 辅助损失

为了评估翻译后的样本在源语言系统中的表现,我们还直接使用BERT表示BS生成源语言的跨度预测,而无需进一步计算,从而得到开始和目标预测PsS,PeS(类似于等式8)。此外,我们还计算了翻译样本的交叉熵损失Laux(类似于等式9),其中λ参数应用于该损失。(//中文翻译成英文结果的好坏可能会影响目标语言最后结果的表现)

没有采用直接一启发式值设置λ,在本文中,我们提出一个新颖的方法,以更好地自动调整λ。由于样本是由机器翻译系统生成的,在翻译过程中会出现信息丢失。错误或部分翻译的样本可能会损害阅读理解系统的性能。为了测量翻译后的样本如何与真实的目标样本组合,我们计算了源语言和目标语言中的真实跨度表示的余弦相似性(HS~ 和HT~)。当翻译样例中的真实跨度表示与目标样本相似时,λ增大;否则,我们只使用目标跨度损失,因为λ可能减小到0。
论文阅读|Cross-Lingual Machine Reading Comprehension
Dual BERT的总损失由源语言中的目标跨度损失LT和辅助跨度损失Laux两部分组成。
论文阅读|Cross-Lingual Machine Reading Comprehension

5. 实验

5.1 实验设置

我们在两个公开的中文跨度抽取机阅读理解数据集:CMRC 2018(简体中文)和DRCD(繁体中文)上评估了我们的方法。表1列出了这两个数据集的统计数据。
论文阅读|Cross-Lingual Machine Reading Comprehension
请注意,由于CMRC 2018官方保留了测试和挑战集,以确保评估过程的完整性,因此我们向主办方提交了表现最佳的系统以获得这些分数。源语言资源被选择作为SQuAD训练数据。下文详细列出了方法的设置。

  • 分词:在正式的BERT实现之后,我们对英语使用WordPiece分词器,对汉语使用字符级分词器。

  • BERT:我们使用预训练过的英语BERT在SQuAD1.1上进行初始化,用SQ-Ben(base)和SQLen(large)表示回译方法。对于其他情况,我们使用多语言的BERT作为默认值,表示为Bmul(和SQ-Bmul forthose是在SQuAD上预训练的)。

  • 翻译:我们使用谷歌神经机器翻译(GNMT)系统进行翻译。我们在NISTMT02/03/04/05/06/08 中-英文集上对GNMT系统进行了评估,与之前的最佳工作(43.20)相比,平均BLEU得分为43.24,获得了最优的表现。

  • 优化:在最初的BERT实现之后,我们使用带有权重衰减的ADAM
    优化器,使用4e-5的初始学习率,并使用余弦学习率衰减方案代替原来的线性衰减,这对结果稳定是有益的。batch size设置为64,每个模型训练2个epoch,大约需要1小时。

  • 实现:我们修改了BERT提供的TensorFlow版本的run_squad.py。所有的模型都是在TPU v2训练的,它有64GB HBM。

5.2 总体结果

论文阅读|Cross-Lingual Machine Reading Comprehension
总体结果见表2。我们可以看到,不使用任何对齐方法,无论使用英语BERT base(#1)还是BERT large(#2),零资源结果都非常低。当我们应用SimpleMatch(#3)时,我们观察到显著的改进,证明了它的有效性。答案对齐器(#4)可以进一步提高SimpleMatch方法的性能,说明机器学习方法可以通过学习翻译答案和目标语篇之间的语义关系来动态调整输出跨度。此外,答案验证器(#5)可以进一步提高性能,并超过仅使用目标训练数据的多语种BERT基线(#7),表明采用丰富的资源语言有利于提高其他语言的机器阅读理解能力。

当我们不使用SQuAD预训练权重时,我们提出的Dual BERT(#8)比中文BERT(#6)和多语种BERT(#7)都有显著的改善(所有结果都通过p检验验证,p<0.05)。如果我们只用SQuAD预训练BERT(#9),这是一个零资源系统,我们可以看到它在两个中文阅读理解数据上取得了不错的成绩。此外,我们还可以在系统9的基础上使用中文数据接着训练(#10),或从最初的多语言BERT将汉语数据与SQuAD结合训练来进一步改进(#11)。在强大的SQuAD预训练基线下,Dual-BERT(#12)比级联训练(#10)和混合训练(#11)基线仍有适度和持续的改进,并在两个数据集上取得了了新的最优表现,证明了运用机器翻译样本提高汉语阅读理解能力的有效性。

5.3 在日语和法语SQuAD上的结果

在本文中,我们提出了一个简单而有效的方法,称为SimpleMatch简单匹配,来将翻译后的答案与原文的段落跨度对齐。尽管有人可能会说,使用神经机器翻译的attention weights 将源答案投射到原始目标语篇跨度是Asai等人所使用的理想方法。然而,在神经机器翻译系统中提取注意值并将其应用于原始语篇跨度的提取是一个麻烦且计算效率不高的问题。为了证明使用SimpleMatch而不是使用神经机器翻译attention来提取零资源条件下的原始语篇跨度的有效性,我们将SimpleMatch应用于日语和法语SQuAD上(每种语言304个样本),这正是Asai等人(2018)所使用的方法。结果见表3。
论文阅读|Cross-Lingual Machine Reading Comprehension
从结果可以看出,虽然我们的基线(GNMT+BERTLen)比以前的工作(Back Translation(Asai et al.,2018))要高,但是使用简单匹配来抽取原始的文章跨度可以获得更大的改进。在日语SQuAD上,Asai等人使用神经机器翻译注意的方法使F1提高了9.6分。我们获得了更大的改进,11.8分证明了所提出方法的有效性。在这些系统中,具有预训练SQuAD的BERT性能最好,因为它不需要机器翻译过程,并且对于不同的语言有统一的文本表示。

5.4 消融研究

在本节中,我们消融了模型中的重要组件,以明确展示各部分效性。消融结果见表4。
论文阅读|Cross-Lingual Machine Reading Comprehension
正如我们所看到的,去除SQuAD预训练的权重(即使用随机初始化的BERT)对性能影响最大,这表明尽管源语言和目标语言不同,但使用预训练的权重是有益的。去除源BERT会退化为级联训练,实验结果表明,去除源BERT也会影响整体性能,说明利用翻译后的样本更好地刻画<passion,question,answer>之间的关系是有益的。其他的修改似乎也在一定程度上持续降低了阅读成绩,但没有数据相关的成分(最后两行)那么显著,这表明数据相关方法在跨语言机器阅读理解任务中是重要的。

6. 讨论

在我们的初步跨语言实验中,我们采用英语作为我们的源语言数据。然而,有一个问题仍然不清楚。

是用远程语言(如英语,与简体中文相反)中较多的数据进行预训练,还是用近距离语言(如繁体中文)中较少的数据进行预训练?、

为了研究这个问题,我们在训练前阶段使用不同的语言和不同数据集大小,绘制了CMRC 2018开发数据集上的多语言BERT性能图。结果如图3所示,我们得到了一些观察结果。
论文阅读|Cross-Lingual Machine Reading Comprehension
首先,当预训练数据小于25k(DRCD的训练数据大小)时,我们可以看到,我们使用中文或英文数据进行预训练没有太大的差异,甚至在大多数情况下,英文预训练模型都比中文预训练模型好,这是意料不到的。我们怀疑,通过使用多语种BERT,该模型倾向于为文本提供通用的表示,并学习输入之间独立于语言的语义关系,这是跨语种任务的理想选择,因此该模型在预训练阶段对语言没有那么敏感。同时,由于SQuAD的训练数据量比DRCD要大,所以我们可以在预训练过程使用更多的数据。当我们在预训练阶段增加更多的SQuAD(>25k)时,下游任务(CMRC 2018)的绩效继续显著提高。在这种情况下,我们的结论是。

  • 当预训练数据不足时,对源语言(预训练)的选择没有特殊偏好。

  • 如果有多种语言的大规模训练数据,我们应该选择训练数据量最大的源语言,而不是看它与目标语言的语言相似性。

此外,我们还可以利用各种语言的数据,而不仅仅是在双语环境中,进一步开发来自各种来源的知识,这超出了本文的范围,我们将此留给以后的工作。

7. 结论

本文提出了跨语言机器阅读理解(CLMRC)任务。首先,在没有目标语言训练数据的情况下,我们提供了几种以英语为基础的零资源方法方法,以及三种通过无监督和有监督的方法来促进翻译答案跨度抽取的方法。当目标语言有可用的训练数据时,我们提出了一个称为Dual BERT的新模型,利用多语言BERT同时对源语言和目标语言中的<passage, question, answer>进行建模。该方法利用丰富的源语言的大规模训练数据(如SQuAD),学习源语言和目标语言中的语篇和问题之间的语义关系。在两个中文机器阅读理解数据集上的实验表明,该模型可以在很大程度上对各种最新的系统进行一致和显著的改进,为以后的跨语言阅读理解任务研究奠定了基础。

跨语言机器阅读理解的未来研究将集中在:

  1. 如何利用各种类型的英语阅读理解数据;

  2. 无翻译过程的跨语言机器阅读理解等。

相关文章: