APP下载

神经机器翻译中英语单词及其大小写联合预测模型

2019-04-17靳晓宁

中文信息学报 2019年3期
关键词:词表解码器语料

张 楠,李 响,靳晓宁,陈 伟

(1. 北京工业大学 北京未来网络科技高精尖创新中心,北京 100124;2. 中国科学院 计算技术研究所,北京 100190;3. 中国科学院大学,北京 100049;4. 北京搜狗科技发展有限公司,北京 100084)

0 引言

受现实应用的驱动,机器翻译近几年一直是备受关注的研究热点[1]。针对机器翻译,传统的解决方案是统计机器翻译。近几年深度学习在图像领域得到了很好的发展,在分类领域取得了超越人类的成绩[2],受此影响,深度学习的方式也迅速在机器翻译中得到广泛应用。2014年,Jacob Devlin提出了神经网络联合模型,相对于传统的统计机器翻译方法获得了显著的性能提升[3]。今年,微软Hany等又应用神经机器翻译的方式将翻译的质量首次超越人类[4]。神经机器翻译逐渐成为机器翻译的主流方法,本文亦是采用神经机器翻译进行汉英翻译任务。

以往的汉英翻译任务,生成的英文译文多为小写,需要额外的步骤恢复译文中单词的大小写信息。一般情况下,单词的大小写形式可分为三种: 全大写(USA、WTO等)、首字母大写(China、Bill等)、全小写(prediction、model等)。同一单词的不同大小写形式,有时会代表不同的含义。比如“the white house” 可翻译为白色房子,但是“the White House” 则特指“白宫”。不规范的书写形式,会极大地阻碍文本的可读性,降低阅读速度。当前,很多机器翻译方法得到小写形式的英文译文后,通过使用大小写词表或者训练好的单词大小写恢复模型来恢复单词的原有大小写信息,增强译文的可读性。大小写恢复是对输入的单词序列恢复其应有的大小写信息[5]。这在命名体识别和语音识别等领域中亦有广泛应用[6-7]。

本文基于目前主流的Transformer翻译模型[8],提出了一种联合预测小写形式英文单词及其对应大小写属性的神经机器翻译方法,在同一个解码器输出层分别预测单词及其大小写属性。预测单词和预测单词大小写两项任务共享模型中的同一个解码器,在预测单词大小写属性时,不仅考虑了译文中单词的属性及位置,还充分融合了源端汉语的上下文信息。解码端预测单词及其对应单词的大小写是同时进行的,相较于传统方式减少了处理流程和处理时间。翻译预测结束后,根据解码得到的大小写类别信息,对小写译文中的单词进行大小写还原。在WMT 2017汉英新闻翻译任务测试集上,相比基线方法,我们提出的方法在大小写敏感和大小写不敏感两个评价指标上分别提高0.97 BLEU和1.01 BLEU。

1 相关工作

针对恢复译文中英语单词的大小写,传统的处理方式主要有两种。一是基于查表的方式,通过对训练语料中单词的各种大小写形式进行统计,将含有特定大小写信息的单词构建成一个表。在翻译得到译文后,译文中的每个单词根据词表选择一个可行性最大的形式进行恢复。该方法一般需要较大的词表才能达到一定的词语覆盖度。单词大小写形式与单词属性、在句子中所处的位置以及上下文语境都有关系,这种方式没有考虑译文的上下文信息,因此也容易产生错误恢复。而且在实际的数据中,同一单词可能有多种不同的大小写形式,会造成恢复结果的歧义。另一种译文大小写恢复的方法是训练一个单词大小写的恢复模型。例如,Lita等使用trigram 模型恢复句子中的大小写信息[5];Chelba和Acero 将大小写恢复视为一个序列标注问题[9],并使用最大熵马尔科夫模型来融合单词和它们的大小写信息;Raymond 利用循环神经网络在字符级别上预测单词大小写信息[10]。以上这些训练恢复模型的方法都是在单语料上进行,翻译结束后,针对目标端译文进行大小写恢复,增加了处理流程和时间开销。并且这些方法都没有考虑源端语料的情况,当翻译结果不准确时将对单词大小写信息的恢复产生极大干扰。

除了以上两种方式,Sennrich和Haddow提出的BPE(Byte Pair Encoding)[11]方式也能在一定程度上解决译文大小写恢复的问题。BPE将单词拆解为更小、更常见的子词单元。通过这种方式既在词表中保留字词的大小写属性,词表大小也未显著增大。

我们提出的联合预测模型,将预测单词和预测单词的大小写属性进行联合,在翻译预测单词的同时,也预测单词的大小写属性。预测大小写时,不仅考虑了目标端英文单词的上下文信息,也考虑了源端汉语的上下文语义信息,因此能得到质量更好的译文。

2 联合预测模型

基于Transformer模型的联合预测架构,将预测单词的任务task1和预测单词大小写属性的任务task2进行联合。

2.1 整体架构

在进行大小写预测时,用一个独立的解码器来预测单词的大小写属性,实际上会给模型增加很多的参数,加大了模型的训练难度及解码时间。单词的大小写形式很少,大致可以分为4类: 全大写、开头大写、小写、其他。对于这种较少属性类别的预测,不需过多的参数,所以我们针对单词预测和大小写预测这两个任务采用共享解码器的方案。

训练联合预测模型需要汉语语料、英语语料,以及根据英语语料中单词原有大小写属性构建的英语单词标签语料。选取公开数据集中的汉英平行语料,根据其中英语语料中单词的大小写属性构建英语标签语料。根据英语单词具有首字母大写、全大写、小写、其他四种大小写属性,构建对应的单词属性训练语料。英语标签语料构建完成后,将英语语料中的单词全部转为小写。由此得到汉语语料、英语语料和英语标签语料。

基于Transformer模型,翻译模型由两部分组成: 编码器和解码器。编码器由一个多头注意力结构和一个前向反馈组成,解码器由两个多头注意力结构和一个前向反馈组成。多头注意力结构是用于学习单词或者词组之间的注意力,前向反馈学习语言内部的关系。将汉语语料输入编码器,经过多头注意力结构,编码器学习汉语词组之间的注意力,然后经过正则化处理做前向反馈,再经过正则化处理输出到下一部分。此编码器处理过程重复N次。编码器每次正则化处理都要加上前一步的输入。编码器的输出是解码器的部分输入。解码器的另一部分输入为英语语料。将英语语料输入到解码器时,英语词向量要右移一位。将输入的英语词向量序列通过做标记(Mask)的方式,屏蔽还未翻译到的单词。然后解码器通过多头注意力结构学习英语单词之间的注意力,将结果正则化处理后与编码器的输出再次输入到一个多头注意力结构中,学习汉语与英语之间的注意力,再将结果正则化处理后进行前向反馈,对前向反馈的结果再正则化处理后输入到下一部分。此解码器处理过程处理N次。解码器每次正则化处理也都要加上前一步的输入。有异于Transformer模型,本模型的解码器输出有两个预测任务,一个预测单词task1,另一个用于预测单词的大小写信息task2。解码器输出经过线性映射和softmax处理后预测单词,以英语词向量语料为真实标签求取预测损失。另一个解码器输出经过线性映射和softmax处理后预测单词大小写,以英语单词大小写标签为真实标签求取预测损失。所以,模型损失函数Loss由两部分组成,一部分是预测单词task1的损失,另一部分是预测单词大小写task2的损失,如式(1)所示。

Loss=losstask1+λlosstask2

(1)

两部分均使用交叉熵损失函数[12]。

2.2 点积注意力函数

图1中,模型注意力函数的输入Q、K、V,分别代表query、key、value。具体实现操作如图2(a)所示,根据 query和 key 的相似度计算注意力权重。然后根据注意力权重对value每个词向量进行加权即得到注意力。模型采用了缩放点积注意力(scaled dot-product attention),如式(2)所示。

(2)

图1 共享解码器联合预测架构

图2 多头注意力机制模型

其中,queryQ和keyK的维度是相同的,都是dk。ValueV的维度是dv。其中标记(mask)主要是用来去除矩阵乘后对角线之间的关系。

2.3 多头注意力的机制

模型采用了多头注意力的机制(multi-head attention),如图2(b)所示,将Q、K、V进行h次不同的线性映射,然后再将线性映射的结果映射到dk、dk、dv维。分别对每一个映射之后得到的queries,keys以及values进行注意力函数的并行操作,生成dv维的输出值,如式(3)、式(4)所示。

Transformer模型没有使用循环神经网络或者卷积神经网络,为了使用序列的顺序信息,需要将序列的相对位置及绝对位置信息加入到模型中去。对汉英语料、标签语料分别抽取词表,建立单词与ID的映射,通过词表将语料转换成ID序列。再将汉、英序列以及标签序列转换成对应的词向量,在词向量中采用正弦和余弦函数[8]加入位置编码信息后输入到模型中。

3 实验及数据分析

3.1 实验数据

本实验采用的平行语料为WMT 2017汉英任务训练数据中的CWMT部分数据,共700万条汉英数据。测试用的是WMT 2017汉英新闻翻译任务测试集。

根据汉英训练语料里英语语料单词的大小写属性构建英语标签语料。我们将英语单词分为4种类别: ①其他; ②小写; ③开头大写; ④全大写。根据英语语料里英文单词的大小写属性,构建对应的单词属性标签训练语料。英语单词标签训练语料构建完成后,将英语语料中的单词全部转换为小写形式。对于源端汉语语料,我们用jieba分词[注]https: //github.com/fxsjy/jieba将训练语句进行分词。至此得到了训练要用的汉语语料、英语语料以及英语标签语料。

对汉语语料、英语语料分别进行词频统计,取词频出现较高的单词构建汉语词表以及英语词表。针对训练语料中词表未覆盖到的单词,用UNK来表示。英语单词大小写的分类很少,所以选取全部的类别,得到英语标签语料的标签词表。

3.2 实验设计

3.2.1 基本实验

本文设计了3组实验,如表1所示。

Baseline1: 将训练数据和验证集中英语单词转为小写,抽取英语词表大小6万,词表对英文数据中单词的覆盖率达到98%。汉语词表大小4万,对训练数据中分词后词组覆盖率达到97%。同时验证集的英语端也转小写,用于测试,作为Baseline1。

表1 实验词表大小

Baseline2: 保留英语数据大小写信息,重新抽取英文词表,词表大小9.3万(与实验1 英语词表的覆盖率保持一致),汉语词表大小不变。

Our_Method: 我们提出的联合预测方法根据单词所处的位置预测大小写信息。模型在预测单词的同时预测该单词可能的大小写信息。词表大小和Baseline1相同,汉语词表4万,英文词表6万。

3.2.2 BPE实验

目前处理翻译译文大小写的主要方法是BPE(Byte Pair Encoding)。BPE方法将大小写敏感的语料拆解为常见的子词,在降低词表的同时又减少了译文中UNK的数量,从而极大地保存了句子的结构特征和流畅性。用BPE汉英平行语料进行处理。效果如下:

源端: 企业 集团 就 网络 安全@@ 法 向 中国 提@@ 诉求 。

目标端: Business Groups Appeal to China Over Cyber@@ security Law.

BPE将单词或词组拆解成了更小的组成部分。比如“安全法”拆解成“安全@@”和“法”,将“提诉求”拆解成“提@@”和“诉求”,将“Cybersecurity”拆解成了“Cyber@@”和“security”

这个实验主要是用来验证联合预测的方式在BPE的方法下是否依然能取得较好的效果。根据BPE处理后的训练数据抽取词表。以3.2.1节中Baseline2和Our_Method为基础设置对比实验Baseline3和Our_Method_BPE。

Baseline3: 除词表大小和训练数据与Baseline2不同外,其余操作、设置均相同。

Our_Method_BPE: 除却词表大小和训练数据与Our_Method不同外,其余操作、设置均相同(表2)。

表2 BPE实验词表达小

Baseline3的目标端词表大小为35 599,Our_Method_BPE的目标端词表大小为29 457,两个词表对英文数据单词的覆盖度达到100%。

在预测使用beam search 解码时,大小写分类的选择并不参与beam search,只是选取概率最大的一个类别作为预测单词大小写属性的结果。

我们在两张Titan XP上训练我们的模型。在tensor2tensor框架[13]下,基于Transformer模型实现程序。Transformer中N=4,4个编码层4个解码层,词向量(embeding)为512维度,隐层的维度是1 024。batch大小为4 096,学习率0.1,warm up为4 000。损失函数中λ=1。其他参数选用的均是transformer_base的参数。

3.3 实验结果

我们使用机器翻译领域常用的BLEU[14]作为评价指标来比较各个实验的结果, 脚本使用Moses系统[15]提供的multi-bleu.pl[注]https: //github.com/moses-smt/mosesdecoder/blob/master/scripts/generic/multi-bleu.perl。

3.3.1 基本实验

由表3可知,我们的方法在大小写敏感和不敏感的两个指标上均高于Baseline2 1BLEU左右。大小写不敏感也高于Baseline1联合的方式,不仅在翻译的同时预测单词大小写,还提升了译文的质量。

表3 基本实验结果

由于3个实验的词表大小写有所不同,我们还统计了4个实验结果中UNK字符的数量(表4)。

表4 实验结果UNK数量

由表4可知,Baseline2和Our_Method的UNK均比Baseline1少。Baseline2的目标端英文词表(9.3万)比Baseline1的词表(6万)要大,所以降低了译文中的UNK数量。Baseline1和Our_Method的英文词表虽然相同,但是由于Our_Method同时预测了单词的大小写信息,所以Our_Method的英文词表的可表示单词量远大于Baseline1,以此降低了UNK的数量。

由于Baseline1的UNK数量非常多。在去除结果中所有的UNK后,再次测试了BLEU结果,如表5所示。

表5 去除UNK后结果

由表5可知,在排除UNK影响后,Baseline1的大小写不敏感结果要优于Baseline2。虽然Baseline2的英文词表(9.3万)与Baseline1的词表对训练语料具有相同的单词覆盖度,但是词表的增大也增加了模型的训练参数,提升了模型的训练难度,进而影响译文质量。由于Baseline2和Our_Method的UNK数量较少,所以去除UNK后的结果基本没有变化。Our_Method结果依然比两个Baseline的翻译质量要好。与Baseline1相比,两者具有相同的词表大小,但是Our_Method由于预测了大小写属性,增加了可表示单词的数量,扩大了单词覆盖率。从图1联合预测的翻译架构可知,模型学习的注意力分为3个部分: 源端汉语注意力、目标端英语注意力以及源端汉语和目标端英语之间的注意力。当扩大了英文词表的大小或者提升了词表的可表示单词数量,可以让模型学习到更多英语单词之间的注意力分配机制以及汉语字词与英语单词之间的注意力关系,使模型在翻译预测单词时能够做出更精确的预测。Our_Method与Baseline2相比,虽然汉语词表大小相同且英语词表对训练数据具有相同的覆盖度,但是由于Our_Method预测单词有四种分类,所以实际可表示的单词数量比Baseline2的词表要多。另一方面,Our_Method的词表大小比Baseline2小了3.3万,这也减少了模型的参数,更有利于模型训练。

3.3.2 BPE实验

从表6可知,多任务联合预测的Our_Method_BPE结果要好于Baseline3的结果,但是不像Our_Method与Baseline2相比提升得那么明显。同时,通过比较Baseline2和Baseline3,我们可知BPE处理数据后训练出的模型,性能也较优。通过统计翻译结果,译文中未发现UNK,这是由于BPE通过分解子词的方式,有效地提升了词表对训练数据的覆盖度,英语词表对训练数据的覆盖度达到了100%,所以在结果中没有出现UNK的情况。在英语词表对训练数据的覆盖度达到了100%的情况下,通过预测子词的大小写属性,增加的可表示单词数量有限。同时联合预测方式,英文词表比Baseline3英文词表小了6 142,在一定程度上有所减小,所以Our_Method_BPE的结果对Baseline3有所提升,但是提升不像之前实验那么明显。

表6 BPE实验结果

4 总结

本文以汉英翻译中英文单词的大小写预测为研究对象,提出了一种在神经机器翻译训练中联合预测英语单词及其大小写属性的方法。以往的大小写恢复多是在机器翻译结束后根据译文进行恢复。本文提出的方法,综合考虑了源端和目标端两者的信息,根据单词所处的位置以及单词本身的属性预测,达到了很高的准确度。由于联合预测大小写的方式降低了词表的大小,并且提升了词表的可表示单词数量,使模型可以学习到更多单词之间的注意力关系,降低模型参数数量的同时还提升了译文的质量。在WMT 2017汉英新闻翻译任务测试集上,本文提出的联合预测方法在大小写敏感和不敏感两个指标上均高于基线实验。

猜你喜欢

词表解码器语料
基于VOLT的藏汉双向机器翻译
基于归一化点向互信息的低资源平行语料过滤方法*
科学解码器(一)
科学解码器(二)
科学解码器(三)
A Chinese-English List of the Sports Programmes in Winter Olympics 冬奥会项目名称汉英对照词表
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
近十年国内外专业学术词表建立文献综述*
濒危语言与汉语平行语料库动态构建技术研究
对外汉语教学领域可比语料库的构建及应用研究
——以“把”字句的句法语义标注及应用研究为例