摘 要

尽管神经网络机器翻译模型在拥有大规模高质量平行语料的语言对中取得了很好的性能,但是实验证明,神经网络机器翻译性能在资源匮乏的语言对中大幅下降,甚至不如传统的统计机器翻译模型。本文针对当前的低资源语言神经网络机器翻译所面临的的训练语料稀少的问题,从数据增强和模型融合两方面进行分析。按照训练过程所使用的语料类型,将低资源语言神经网络机器翻译方法划分为监督方法、半监督方法和无监督方法。使用数据增强技术初步尝试了有监督方法的工作,开展了基于枢轴语言的半监督神经网络机器翻译研究,并在最新提出的词嵌入无监督神经网络机器翻译模型的基础上,对翻译模型进行了改进。实验结果表明,有监督和半监督机器翻译方法结果提升较为明显。

关键词

低资源语言;神经网络机器翻译;数据增强;模型融合

虽然自然语言处理各项技术已经得到了很大的进展,但是当今世界有 7 000 多种语言,自然语言处理的研究大多集中于诸如英语或其他具有大规模文本语料库的几种语言中(约 20 种左右),世界其他大多数语言都急需相应的语言处理工具和语料资源,以满足当前深度学习模型的计算需求,这些语言被称为低资源语言(low-resource languages)。自 2014 年以来,端到端及基于注意力机制的神经网络机器翻译模型日趋成熟,其翻译性能相比于传统的统计机器翻译模型有了很大提升。拥有高质量、大规模的两种或多种语言之间的平行语料,是当今神经网络机器翻译模型获得良好性能的前提。然而,除了英文、德文、中文等少量几种资源丰富语言外,世界大多数语言都无法找到大规模的双语平行语料,以满足神经机器翻译模型的需求。如何解决低资源语言的机器翻译问题,成为当今机器翻译研究的热点领域。

1 数据增强与模型融合

数据稀缺是低资源语言机器翻译面临的主要问题,解决这一问题有两个思路,一是充分利用既有的双语平行训练语料,此思路都是对现有数据的增强,称之为“数据增强”;二是融合单语训练语料的语言模型和翻译模型,此思路是在现有深度学习算法和神经网络模型基础上的融合,称之为“模型融合”。

1.1 增强现有双语平行语料

反向翻译(back translation)又称为“回译”,是目前机器翻译任务中最常见的一种数据增强方法,其主要思想是利用目标语言 - 源语言翻译模型(反向翻译模型)生成伪双语句对,用于训练源语言 - 目标语言翻译模型(正向翻译模型)。反向翻译方法只需要一个反向翻译模型,就可以利用机器翻译产生的数据增加训练语料的数量,因此得到了广泛应用。对于低资源语言机器翻译,通过将目标语言句子复制到源语言端构造出伪训练语料,能够提升机器翻译的性能。即使构造的伪训练语料是不准确的,其目标语言端仍然是真实语料,这样既保留了两种语言之间的互译信息,又存在一定的噪声。神经网络机器翻译模型在伪双语句对上进行训练,可以学习到如何处理带有噪声的输入,从而提高了模型的健壮性。由于反向翻译模型的训练只依赖于有限的双语语料,因此生成的源语言端伪语料的质量难以保证,为此可以采用迭代式反向翻译(iterative back translation)的方法,不断通过反向翻译的方式提升正向和反向翻译模型的性能。如果只有源语言的单语语料,也可以通过一个双语语料训练的正向翻译模型获得相应的目标语言翻译,从而构造出正向翻译模型的伪训练语料。然而,由于生成的译文质量很难保证,构造的伪训练语料对译文的流畅性并没有太大帮助,其主要作用是提升编码器的特征提取性能。

词替换(word replacement)是将双语语料中的部分词替换为词表中的其他词。通过替换词,在保证句子语义或者语法正确的前提下,将替换后的句对添加到训练语料中,可以增加训练语料的多样性。可以替换源语言中的词,也可以替换目标语言中的词;可以替换常用词,也可以替换稀有词;可以“刻意”替换,也可以随机替换;可以替换一个词,也可以丢弃这个词或者用掩码屏蔽该词;可以用词表中的其他词替换,也可以用本句中的其他词替换。词替换方法的本质是对原始双语训练语料进行修改,得到加噪声后的伪双语训练语料,以上词替换方式都是对原始语料进行加噪处理。在神经网络机器翻译中,通过加噪进行数据增强的常用方法是在保证句子整体语义不变的情况下,对原始的双语语料适当加入一些噪声,从而生成伪双语语料来增加原始训练语料的规模。

相比词替换方法,转述就不只是对句子做轻微的修改,而是考虑到了自然语言表达的多样性。即通过对原始句子进行改写,使用不同句式来表达同样意思。通过转述方法对原始语料进行改写,可以使训练语料覆盖更多的语言现象,在神经网络机器翻译任务中得到了广泛应用。同时,由于每个句子可以对应多个不同译文,转述方法可以避免模型过拟合,从而提高模型的泛化能力。

1.2 融合单语语言模型

通常情况下,在机器翻译系统中单语语料会被用于训练语言模型,训练好的语言模型既可以用于源语言端,也可以用于目标语言端。在源语言端,语言模型可以用于句子编码和生成句子的表示;在目标语言端,语言模型会帮助系统选择更流畅的译文。在低资源机器翻译中,语言模型融合可以在一定程度上弥补双语训练数据稀缺的缺陷。

因为神经网络机器翻译模型的解码器在本质上也是一个语言模型,用于描述生成译文词串的规律,那么将解码器与目标语言端的语言模型融合就成为一种最直接使用单语数据的方法。常用的融合方法分为浅层融合和深度融合,前者独立训练翻译模型和语言模型,在生成每个词时对两个模型的预测概率进行加权求和得到最终的预测概率;而后者则联合翻译模型和语言模型进行训练,从而在解码过程中动态地计算语言模型的权重,计算预测概率。

同样,神经网络机器翻译模型的编码器是源语言的语言模型,但编码器并不直接输出源语言句子的生成概率,因此可以使用更大规模的单语语料对编码器进行训练。可以直接使用一个预先训练好的编码器,与机器翻译的解码器配合完成翻译任务,这种方法叫做预训练(pre-training)。即把句子的表示学习任务从翻译任务中分离,从而利用额外更大规模的单语语料进行学习,得到神经网络机器翻译模型中部分模型的参数初始值;然后,在双语数据上进行调参得到最终翻译模型。对每个独立单词进行的表示学习结果称为固定词嵌入(word embedding),但在不同上下文中,同一个单词经常表示不同意思。

模型需要通过上下文理解每个词在当前语境下的具体含义,因此就需要上下文词嵌入。和固定的词嵌入相比,上下文词嵌入包含了当前语境中的语义信息,丰富了模型的输入表示,降低了训练难度。然而,为方便提取整个句子的表示,模型仍有大量参数需要学习。因此,大量预训练模型被提出。目前,应用最为广泛的有生成式预训练(Generative Pre-training,GPT)和来自 Transformer 的双向编码器 表 示(Bidirectional Encoder Representations from Transformers,BERT)。预训练模型在资源充分的语言翻译中效果并没有明显提升,但在低资源语言机器翻译中效果却比较显著。这是因为预训练阶段的训练语料规模非常大,因此在下游任务的数据量较少情况下帮助比较大,低资源语言机器翻译就刚好符合这个特征。机器翻译是一种典型的语言生成任务,不仅包含源语言表示学习的问题,而且包含序列到序列的映射、目标语言端序列生成的问题,这些知识无法通过源语言单语语料训练和学习得到,因此,需要使用单语语料对编码器 - 解码器结构进行预训练。

2 低资源语言神经网络机器翻译方法

尽管神经网络机器翻译模型在拥有大规模高质量平行语料的语言对中取得了很好性能,但是实验证明,神经网络机器翻译性能在资源匮乏的语言对中性能大幅降低,甚至不如传统的统计机器翻译模型。研究者们充分利用可以利用的语料资源,探索了多种在低资源场景下的神经网络机器翻译方法。本文对当前的低资源语言神经网络机器翻译方法进行归类,按照训练过程使用的语料类型,将低资源语言神经网络机器翻译方法分为监督方法、半监督方法和无监督方法。

2.1 低资源语言神经网络机器翻译方法中的监督方法

低资源语言神经网络机器翻译方法中的监督方法,指的是在整个模型训练过程中,需要直接提供源语言和目标语言之间的双语平行语料。监督方法又可以进一步分为反向翻译、词替换、迁移学习和元学习四种方法。前两种方法侧重增加训练语料,在前文中已有提及,此处不再赘述值得一提的是,反向翻译方法在国内外机器翻译评测比赛中,已经被认为是提升机器翻译性能必不可少的步骤。迁移学习方法指的是利用从已知任务中获得的知识来改进相关任务性能,这种方法通常可以减少所需的训练数据量。对于神经机器翻译模型的迁移学习,其主要思想是,首先,在资源丰富语言对中训练一个神经机器翻译模型(父模型);然后,使用父模型的神经网络参数初始化和约束低资源语言对(子模型)的模型训练。

元学习算法是“快速适应新数据”的最有效算法。Gu等首次将元学习算法运用在神经机器翻译任务中,其基本思想为,首先,在多对资源丰富语言平行语料中训练高性能的神经网络机器翻译模型;其次,构建一个所有语言的词汇表;最后,根据词汇表和模型参数进行低资源语言神经机器翻译模型的初始化。可以看到,元学习模型更像是迁移学习运用在神经机器翻译中的进一步深化表示,实验结果也表明,元学习神经机器翻译在低资源语言对中表现出很好性能。

虽然监督方法在很多翻译任务中取得了很好性能,但同样存在一些局限。首先,该方法的最终性能很大程度取决于利用现有平行语料训练的机器翻译质量,不适用于零资源语言(无平行语料的翻译任务);其次,该方法运用在低资源语言机器翻译任务中存在一些语言自适应问题,即语言本身的特点对最终模型性能也有一定影响。

我们使用数据增强技术初步尝试了有监督方法的工作,不同于传统的反向翻译方法,提出了一种基于语义相关词替换的数据增强方法,目标是在保持源语言和目标语言句子结构的前提下,丰富两种语言句子的语义信息以达到扩充语料的目的。具体地,首先,训练目标语言的词向量模型选取语义相关词;其次,根据选取的语义相关词结合语言模型寻找语义相近的替换词;然后,根据词对齐模型生成扩充的双语平行语料;最后,对生成的伪语料进行语法纠错。实验结果表明,所提的基于语义相关词替换的方法能达到甚至超过当前数据增强技术的基线。

2.2 低资源语言神经网络机器翻译方法中的半监督方法

低资源语言神经网络机器翻译方法中的半监督方法,指的是在整个模型训练过程中,不直接使用双语句对的平行句对,而是采用间接的方式利用双语语料库。半监督方法又可以进一步可以分为枢轴方法(pivot-based)和双语语料挖掘方法(parallelextraction)两种方法。

枢轴方法指的是利用第三种语言作为枢轴语言(通常为英语),搭建枢轴语言与源语言和目标语言之间的机器翻译模型,进而构建源语言与目标语言之间的机器翻译模型。该方法的主要步骤为,首先,训练源语言与枢轴语言(记作 S-P)和枢轴语言与目标语言(记作 P-T)的神经机器翻译模型;然后,利用 S-P 和 P-T 机器翻译模型将源语言翻译到目标语言,形成源语言和目标语言之间的平行语料;最后,根据构建出的源语言与目标语言之间的双语语料进行机器翻译模型训练。基于枢轴的神经机器翻译方法在零资源语言对(两种语言之间没有直接的平行语料)取得出很好性能,是零资源机器翻译的最主要方法。

双语语料挖掘指从大规模的互联网数据中,挖掘出双语平行语料进行机器翻译的一种方法。该方法主要步骤为,首先,从网络中提取大规模的语料(非平行对齐语料);然后,将这些语料通过现有方法(知识库、多语言句子嵌入等)进行双语平行语料挖掘;最后,使用挖掘生成的平行语料构建神经网络机器翻译模型。双语语料挖掘是构建机器翻译所需平行语料的主要手段,是从无到有搭建零资源语言(尤其是濒临灭绝的语言)机器翻译的有力手段。

半监督方法在挖掘平行语料资源方面取得了很好效果,但是该方法存在一定局限性:间接使用的平行语料质量得不到保障,存在明显的错误传播问题,即神经网络机器翻译模型的最终性能会随着错误语料堆积而放大。

我们开展了基于枢轴语言的神经网络机器翻译研究工作,借鉴传统的枢轴机器翻译方法,结合对偶翻译模型和模型融合技术。与传统的多次翻译的枢轴翻译相比,我们的目标是尽量减轻多次翻译累积的错误。在爱沙尼亚语、拉脱维亚语、罗马尼亚语与汉语翻译任务中的实验表明,所提方法大大超过了传统的多次迭代翻译方法。

2.3 低资源语言神经网络机器翻译方法中的无监督方法

低资源语言神经网络机器翻译方法中的无监督方法,指的是在整个模型训练过程中,不使用双语句对的平行句对,仅利用源语言和目标语言中的单语数据搭建神经网络机器翻译模型的一种方法。

无监督神经机器翻译方法是仅利用两种语言的单语数据进行神经网络机器翻译模型搭建的一种方法。该方法一般有三个步骤,一是利用大规模的单语数据训练跨语言词嵌入,根据跨语言词嵌入初始化一个源语言到目标语言的机器翻译模型;二是利用两种语言大规模单语数据分别训练源语言和目标语言的语言模型,作为降噪自编码器;三是利用反向翻译将无监督机器翻译问题转化为监督机器翻译问题,并进行多次迭代。无监督神经机器翻译方法的提出,在机器翻译领域引起了轰动,颠覆了传统的机器翻译训练必须依赖平行语料的限制,并在两种语言比较相近的语言对 ( 例如英语和德语 ) 中取得了很好性能。

无监督神经网络机器翻译在一定程度上颠覆了人们对机器翻译研究的认识,在零资源机器翻译任务中取得了很好效果,但实验表明,该方法仅在语言相似的两种语言对中取得了很好性能,在远距离语言对中的性能极差。

我们在最新提出的无监督神经网络机器翻译模型的基础上,对翻译模型进行了改进。具体地,首先,在大规模的维基百科语料中训练多语言句子嵌入模型挖掘平行语料;然后,从挖掘出来的平行语料中抽取双语词典作为监督信号指导跨语言词嵌入的生成;最后,将训练好的跨语言词嵌入对无监督神经网络机器翻译模型进行初始化。我们分别在阿拉伯语、俄语、葡萄牙语、印度语与汉语的翻译任务的实验结果表明,所提方法可以提升无监督跨语言词嵌入性能,但受限于这些语言与汉语之间的差异较大,最终在无监督神经网络机器翻译中仅有微弱提升。

3 结束语

目前低资源语言神经网络机器翻译是机器翻译领域的研究热点,未来还有很大发展空间。现有方法基于语料使用情况将低资源语言神经网络机器翻译划分为有监督、半监督和无监督方法。当然,除了按照语料使用情况分类,如何在低资源的其他场景下 ( 多领域低资源、低资源形态丰富语言、远距离低资源语言对合低资源多语言等 ) 研究新方法、新模型都是值得深入研究的任务。

(参考文献略)

来源: 《中国人工智能学会通讯》