基于重解码的神经机器翻译方法研究

2021-07-23 06:56宗勤勤李茂西
中文信息学报 2021年6期
关键词:英中下文解码器

宗勤勤,李茂西

(江西师范大学,计算机信息工程学院,江西 南昌 330022)

0 引言

近年来,基于Transformer[1]的编码器—解码器结构抛弃了传统的CNN[2]层和RNN[3]层,完全利用注意力机制实现序列转换任务,极大地提高了机器翻译的质量、训练效率和系统的并行性。

尽管Transformer编码器并行地读取源语言句子中每个词语,使用自注意力机制使每个词均由其上下文进行表示;但是,其解码生成机器译文是自左向右单向的,译文中当前位置词的生成只能根据已翻译的历史信息和源端信息来预测。由于词的依存关系包括上文和下文,因此,一些情况下利用已翻译的上文信息不足以准确预测目标词,尤其是决定当前位置词的依赖信息位于未翻译的下文时,极易导致出现词语搭配不当等翻译错误。表1给出具体示例来解释这种情况,给定源句“He was wearing a hat.”,当解码“wearing”这个词时,解码器只会利用译文中已生成的前文信息“他”,而不能利用对其生成更重要的未翻译后文信息“帽子”,导致生成的词“穿”与后文的词“帽子”搭配不当。针对这种情况,我们探索将已解码生成的机器译文作为目标语言的近似上下文,重新对其中每个词依次进行重解码,在本例中即利用已生成的机器译文“ 他 穿了 一个 帽子。”中“穿”的后文信息“帽子”将词“穿”校正为词“戴”,通过这种方式提高机器译文质量。

表1 Transformer解码器自左向右生成机器译文容易导致翻译错误的简单示例

为了利用已生成的机器译文作为目标语言的近似上下文环境校正其中的翻译错误,我们将Transformer解码器中遮挡多头注意力(masked multi-head attention)修改为仅遮挡当前重解码词的遮挡矩阵,并探索多种Transformer解码层堆叠方式,提高译文质量的同时将解码器简化为一层。在多个WMT机器翻译评测任务测试集上,使用该方法对Transformer的输出译文和参与评测的最优翻译系统的输出译文,以及WMT18 APE测试集中的机器译文分别进行重解码,重解码的机器译文在BLEU指标上均得到了一定提高。对重解码译文的进一步分析揭示了本文的方法能较好地校正翻译中的搭配不当和主谓不一致等错误。

1 相关工作

在传统统计机器翻译中,为了研究上文信息和下文信息对翻译质量的影响,Watanabe和Sumita[4]在英语-日语和日语-英语翻译中尝试了自左向右和自右向左的两种解码方式,发现不同方向的解码适合不同的翻译任务,并提出了双向解码合并从左到右和从右到左生成的机器译文;Finch和Sumita[5]收集前向和后向解码产生的所有翻译假设,然后基于两个方向的线性插值对所有假设进行重新排序,以生成高质量的机器译文。

在基于RNN的编码器—解码器神经机器翻译方面,Liu等[6]通过联合搜索算法在从左到右解码和从右到左解码生成的译文中寻找最优的译文;Sennrich等[7]利用Liu等人的方法参加WMT16机器翻译评测,并取得了较好的成绩;另一种利用目标端上下文信息的有效途径是训练新的神经机器翻译模型以合并预解码器的目标译文,这些方法通常是多源神经机器翻译模型的变体[8]。在基于Transformer的编码器—解码器神经机器翻译方面,Zhou等[9]提出了同步双向序列生成模型,同时从两边向中间生成机器译文;Zheng等[10]提出利用动态路由机制,在每一个解码步中根据当前状态显式地将源语言句子中的词语分为已翻译的和未翻译的,以充分利用目标端上下文信息。Zhang等[11]提出一种迭代正则化的策略,强制前向和后向翻译模型保持相互一致,以从对等的翻译模型中生成上下文信息,从而获取语义信息;Fan等[12]提出的QEBrain模型使用两个独立的Transformer解码器来关注机器译文的上文和下文信息。

与前人的工作不同,我们将已解码生成的机器译文作为目标端近似上下文环境,利用新的遮挡方式构建编码器—解码器模型,在已生成的机器译文基础上对其进行重解码,以提高机器译文质量。

2 基于重解码的神经机器翻译模型

为了对已生成的机器译文进行校正,我们把译文重解码任务转化为完形填空任务,即给定源语言句子和其已生成的机器译文,逐个遮挡机器译文中每个词,由重解码模型重新生成该位置的词。根据这样的设置我们改进了Transformer模型,使其适应对机器译文进行重解码,改进后的模型称为TransRedecoder,模型结构如图1所示,它包含6层编码器和1层解码器。TransRedecoder模型的输入由源语言句子和已生成的机器译文组成,即图中最下一行src和mt,模型的输出是重解码生成的机器译文,即图中最上一行redecoder mt。它与Transformer模型的主要区别表现在:

(1) TransRedecoder为了利用下文信息,改变了遮挡多头注意力中遮挡方式,而Transformer的遮挡多头注意力中采用的是下三角遮挡矩阵;

图1 TransRedecoder模型的结构

(2) TransRedecoder重解码是并行的多个分类过程,而Transformer解码是自左向右自回归的自由文本生成过程。

下面对该模型进行详细的阐述。

给定一个包含m个词的源语言句子x= (x1,x2,…,xm),Transformer模型利用已训练好的模型参数θ和已生成的机器译文上文信息y

(1)

在模型测试解码时,Transformer模型只能看到前面已生成的局部译文信息,而在模型训练时,双语平行语料中目标语言端译文信息全部呈现给Transformer模型,为了模拟测试阶段输入信息的方式,Transformer模型在训练时采用遮挡多头注意力遮挡目标语言端当前位置词后面的词语信息。其遮挡矩阵如图2(a)所示,矩阵中元素为0的位置表示在进行softmax计算分配概率时,将相应位置的词语注意力权值设为一个很小的负常数值,通常为“-1e9”,以使该位置的词语不参与注意力分配;而矩阵中元素为1的位置表示其值原样输出,参与多头注意力的计算。

小班化教学所提倡的新型评价理念,在评价内容上的反映是要求教师不仅只着眼于学习成果,还应综合考虑学生在小组合作中的合作、社会交往以及语言表达的能力。小班教学要求广大教师必须更加关心学生的合作学习过程,将学术性评价与合作能力评价相结合,努力使两种评价方式为提高合作学习的效率发挥作用,尽最大的努力给予学生公平、客观的评价。

基于重解码的方法以给定(x,y)为出发点,把已生成的机器译文y看作是目标语言端的近似上下文环境,对y中词语逐个进行重新解码生成新的机器译文y′,如式(2)所示。

(2)

图2 不同遮挡方式对比示意图

其中,参数θ′是重解码模型的参数。由于重解码当 前位置词生成的新词可能为空,因此,新的机器译文y′包含的词语数量不严格等于原机器译文的长度。需要说明的是,重解码生成的新词不参与译文中后续词语的校正,即重解码并没有在线更新译文中的词语,这主要是为了避免读入新词的词向量和重新计算多头注意力,以加速解码过程和支持并行化。在后续的实验中,我们将验证可以通过二次重解码来批量更新译文中的词语。

为了利用已生成的机器译文,我们对Transformer解码器的遮挡多头注意力中的遮挡方式进行了修改,以使重解码当前位置词时可以看到近似的下文信息y>i,典型的遮挡方式如图2(b)所示,重解码时仅遮挡译文当前位置的原词(记为Mask-CURRENT),以生成新的词语,如式(3)所示。

(3)

在实验中,我们还尝试给出其他不同的目标端下文信息,即其他遮挡方式进行重解码的性能,比如图2(c)和图2(d)两种遮挡方式。如无特殊说明,以Mask-CURRENT遮挡方式为准。

3 实验

3.1 实验设置

为了测试基于重解码的神经机器翻译方法的性能,我们在WMT19和WMT18以及WMT17英中和英德语言对翻译任务和WMT18英德方向自动后编辑任务上进行了实验。评测官方发布的训练集被用来训练重解码神经机器翻译模型TransRedecoder,模型的性能在测试集上给出。表2统计了实验使用的语料规模,包括双语平行语料中的句对数量和词语数量。语料中英语和德语端句子分别进行了规范化(normalize)、大小写转换、符号化(tokenize)以及BPE[16]子词切分等处理,中文端句子采用Stanford分词工具对其进行切分。

表2 实验使用的语料规模统计

在译文性能评价方面,我们对所有机器译文均采用大小写不敏感的BLEU值和TER值进行测定,并且中文机器译文以字为单位进行打分,使用常用的开源打分脚本“mteval-v13a.pl”和“TERcom”[17]计算机器译文的BLEU值、NIST值以及TER值。

我们在开源工具包Fairseq[18]上实现基于重解码的神经机器翻译模型TransRedecoder,除了解码层层数设为1外,其余参数均与Transformer-base模型[1]一致,即编码器层数设为6,词向量维度设为512,编码器和解码器中前馈神经网络层的输出维度设为2 048,注意力头设为8,模型训练时使用Adam优化器,学习率lr=0.000 3,最小学习率min_lr = 10-9。在后续实验中我们将验证为什么将重解码模型的解码层层数设置为1。

3.2 重解码实验结果

首先,在WMT19和WMT18评测官方发布的英中、中英、英德和德英平行语料上训练了Transformer-base模型[1],并将其在测试集上的输出译文记为原机器译文,基于重解码的神经机器翻译模型TransRedecoder对原机器译文进行了重解码,其输出译文记为重解码机器译文。表3给出了译文质量的BLEU值,TransRedecoder模型在WMT19、WMT18和WMT17英中方向上对机器译文的BLEU值分别提升了1.26、1.04以及1.17;在中英方向上,BLEU值分别提升了1.36、1.32以及1.49;在英德方向上BLEU值分别提升了1.09、1.08以及0.88;在德英方向上,BLEU值分别提升了1.05、0.96以及0.81。这表明基于重解码的神经机器翻译模型在不同测试集上一致地提高了原输出机器译文的质量。

表3 在WMT不同语言对的测试集上对Transformer输出译文重解码的结果(BLEU值)

由于Transformer-base模型作为朴素的Transformer模型,其翻译性能与参与评测的最好翻译系统有一定的差距。因此,我们进一步对参与英中和英德语言对评测的最优翻译系统Baidu[19]、KSAI[20]、Facebook-FAIR[21]、Microsoft[22]和RWTH-Aachen[23]的输出译文进行了重解码。Baidu翻译系统使用Transformer-big模型[1]参数,在更大的训练语料(英中为15.7 M,中英为10.8 M)上,使用反向翻译、联合训练、知识蒸馏、微调、模型融合和重排序等方法提高翻译质量;KSAI翻译系统在24.22 M规模的双语平行语料上使用数据筛选、反向翻译、模型增强、微调、模型融合和重排序等方法来提高译文质量;同时,Facebook-FAIR、Microsoft和RWTH-Aachen也在大规模语料上使用了数据筛选、反向翻译、微调、模型融合和噪声信道重排序等方法来提高译文质量。尽管这些翻译系统在WMT19英中和英德语言对上取得了最好的翻译性能,然而表4的结果表明它们还有一定的提升空间,基于重解码的神经机器翻译模型TransRedecoder对其输出机器译文进行重解码能在一定程度上提高翻译性能。在英中方向上,BLEU值分别提高了0.16和0.19;在中英方向上,BLEU值分别提高了0.50和0.54;在英德方向上,BLEU值提高了0.83和0.68;在德英方向上,TransRedecoder模型将重解码译文的BLEU值显著提高了0.84和1.03。进一步分析不同翻译系统输出译文重解码的结果,我们发现原机器译文质量越低,其重解码后的译文质量提高幅度越大,在表4中,重解码译文质量提高幅度最大的是英德语言对上的RWTH和Fackbook-FAIR翻译系统,其次是Microsoft翻译系统,然后才是KSAI和Baidu翻译系统。

对重解码的机器译文进行重解码,能否进一步提高译文质量呢?基于重解码的神经机器翻译模型TransRedecoder以重解码的机器译文为目标语言上下文环境对其进行了二次重解码,其输出译文记为二次重解码机器译文。表3、表4的实验结果表明,二次重解码进一步提高了译文质量,在Transformer-base重解码机器译文上其提高幅度最大,在WMT19英中和中英方向上BLEU值分别提高了0.21和0.26;而在Baidu重解码机器译文上其提高幅度最小,在英中和中英方向BLEU值分别提高了0.08和0.09,趋于利用上下文信息提高的极限。

表4 在WMT19不同语言对的测试集上对优秀参与系统输出译文重解码的结果(BLEU值)

为了比较基于重解码的机器翻译方法与经典自动后编辑方法,我们在WMT18 APE任务上将TransRedecoder与CopyNet[13]、Tsinghua[14]、FBK[24]、USAAR_DFKI[25]和POSTECH[15]进行了对比,表5给出了重解码生成译文的TER值和BLEU值。在开发集上,基于重解码的神经机器翻译模型生成的重解码机器译文显著优于CopyNet[13],尽管TER值稍低于性能最优的Tsinghua系统[14],但BLEU值高出其0.55;在测试集上,重解码译文优于在WMT18 APE任务上的最优FBK[24]系统,这表明基于重解码的神经机器翻译方法能有效地对原机器译文进行修正,从而显著提高输出译文的质量。

表5 在WMT18英德方向自动后编辑机器译文上重解码的结果

3.3 不同遮挡方式的实验结果

为了研究利用不同的下文信息进行重解码对翻译性能的影响,我们尝试了在遮挡注意力中使用多种下文遮挡方式,以下给出其中三种典型遮挡的对比结果。

一种遮挡方式是重解码时给出当前位置词的上文信息和下文中下一个词的信息,遮挡矩阵如图2(c)所示,记为Unmask-NEXT;另一种遮挡方式是重解码时给出所有上文信息和下文信息,包括重解码位置原来词的信息,遮挡矩阵如图2(d)所示,记为Unmask-ALL。

在WMT19英中方向上对Transformer-base模型输出机器译文进行重解码,将利用这两种遮挡方式的重解码结果与默认的仅遮挡当前位置词的Mask-CURRENT遮挡方式的重解码结果进行对比。表6的结果表明,仅遮挡当前位置词的Mask-CURRENT遮挡方式对翻译性能的提高幅度最大;给出待预测词下一个词信息的Unmask-NEXT遮挡方式对翻译性能的提高幅度次之;而给出原机器译文所有词信息的Unmask-ALL遮挡方式不仅没有提高重解码的翻译质量,反而降低了翻译的质量,这可能是由于引入原来词的信息不利于重解码生成新的词语来校正当前翻译错误的词,使重解码仍然趋向于生成原来的词。

表6 设置不同遮挡方式在WMT19英中方向上对Transformer-base机器译文进行重解码的性能

3.4 不同解码器层数的实验结果

在遮挡当前位置词的基础上,我们尝试了堆积多个解码器层时重解码模型的性能。表7给出了当设置不同解码器层数时(分别为1层、2层、3层和6层),TransRedecoder模型在WMT19英中方向上对Transformer-base模型输出机器译文进行重解码的性能。结果表明,随着解码器层数的增多,译文重解码的性能不仅没有提高,反而有所下降。产生这种现象的一个原因是模型在正确的机器译文上进行训练,而在不一定正确的机器输出译文上进行测试,训练和测试之间存在差异;随着解码器层数的增多,参数空间随之增大,容易导致模型在测试集上出现欠训练现象,导致翻译质量下降。

表7 设置不同解码器层数在WMT19英中方向上对Transformer-base机器译文进行重解码的性能

3.5 实验分析

根据Maja的工作[26],机器翻译错误类型主要有以下五类,分别是词序错误(Rer)、漏词(MISer)、增词(EXTer)、屈折(形态)错误(INFer)和错词(LEXer)。我们在WMT19、WMT18以及WMT17英中和中英测试集上,使用“Hjerson”[26]工具分别计算原机器译文和重解码译文中不同类型翻译错误所占比例,由于中文属于孤立词,不是屈折词,没有显著的时态标记,且缺乏词形变化,所以表8只展示了其他四种错误类型。统计结果表明,TransRedecoder模型能有效地降低机器翻译错误类型中占比最大的错词率LEXer,尽管在其他翻译错误类型上重解码机器译文与原机器译文相当。综上,Trans-Redecoder模型能有效校正原机器译文中的翻译错词。

表8 原机器译文和重解码译文各种翻译错误比例

为了定性揭示基于重解码的神经机器翻译方法的有效性,表9给出了两个在WMT19英中和中英方向上,Transformer-base模型原输出机器译文以及利用所提方法重解码生成的译文示例,并将其分别与人工参考译文进行对比,对比发现重解码方法能对原机器译文中的错误翻译词进行有效校正。在英中翻译方向上的例子中,利用“禁止”的下文信息,对其进行重解码,重生成词“拒绝”与下文的“提供 庇护”搭配更好;在中英翻译的例子中,利用“hope”的下文信息“meeting”,重解码生成词“intention”与源语言下文“会谈”搭配更恰当。对更多重解码译文的分析表明,重解码方法能较好地校正翻译中的搭配不当和主谓不一致等错误。

表9 原机器译文和重解码机器译文的对比示例

4 结论

为了缓解神经机器翻译模型的解码器自左向右生成机器译文时只能利用上文信息,而不能利用下文信息的问题,本文提出了基于Transformer的重解码神经机器翻译模型,该模型改变了Transformer解码器的遮挡多头注意力中遮挡矩阵,以使解码器可以利用已生成的机器译文作为重解码时目标语言的近似上下文环境。实验结果表明,所提方法显著提高了机器译文质量。在今后的工作中,我们将探索利用语境词向量来进一步解决目标语言端下文信息缺乏的不足。

猜你喜欢
英中下文解码器
新媒体视野下文创产品的营销与创新
科学解码器(一)
科学解码器(二)
科学解码器(三)
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
从《神秘博士》到英中创意经济
去古代吃顿饭(上)
水能生火
完形填空三则