APP下载

基于多编码器多解码器的大规模维汉神经网络机器翻译模型

2018-10-19张金超艾山吾买尔买合木提买买提

中文信息学报 2018年9期
关键词:解码器语料编码器

张金超,艾山·吾买尔,买合木提·买买提,刘 群

(1. 中国科学院 计算技术研究所 智能信息处理重点实验室,北京 100190;2. 中国科学院大学,北京 100049; 3. 腾讯科技(北京)有限公司,北京 100080;4. 新疆大学 信息科学与工程学院,乌鲁木齐 新疆 830046;5. 都柏林城市大学,都柏林 爱尔兰)

0 引言

机器翻译任务致力于使用计算机实现源端语言到目标端语言的自动化翻译,降低不同语种群体之间的沟通代价,是人工智能学科的一个重要分支。统计机器翻译模型(statistical machine translation model,SMT)在神经网络翻译模型(neural machine translation model,NMT)被提出之前是主流的翻译模型,主要的模型有基于词的机器翻译模型[1]、基于短语的机器翻译模型[2]、基于句法的机器翻译模型[3]。在统计机器翻译模型中,翻译知识是从双语平行句对中使用统计方法学习到的显式规则。统计机器翻译模型通常包括多个子模型,比如翻译概率子模型、调序子模型、语言模型子模型,这些子模型被流水线式地一步步搭建和调优。与统计机器翻译模型不同,神经网络翻译模型[4-7]使用一个神经网络直接进行端到端(end-to-end)的训练来拟合翻译知识。具体地,神经网络翻译模型借助于编码器(encoder)对源端的句子进行向量化的分布式表示,使用解码器(decoder)根据源端的分布式表示逐词地生成目标端的句子。注意力(attention)机制被引入来建模词对齐的信息。通过这样的方式,模型中所有的参数都统一到一致的目标函数下调整,模型中的翻译知识通过神经元之间的连接权重隐含地表达。神经网络翻译模型自提出以来,在多个语言对上的表现显著地超过了统计机器翻译模型,成为当前主流的翻译模型。

维汉神经网络机器翻译模型面临着两个困难: 一方面,维吾尔语是一种黏着语,通过在词干上附加各种不同的词缀来实现语法功能。维吾尔语的词汇具有丰富的词形变化,这就造成了严重的数据稀疏问题;另一方面,目前搭建维汉机器翻译模型的语料规模都较小,在小规模的训练语料上得到的系统翻译质量低。对于神经网络机器翻译模型,数据规模十分影响模型质量。为提高维汉神经网络机器翻译模型的能力,本文提出使用多编码器多解码器的结构,搭建大规模的神经网络模型。同时,分别探索了适合神经网络机器翻译的维汉翻译单元粒度。本文的实验在190万句的维汉平行语料上进行,该语料是目前最大的维汉平行语料库,实验结果参考性高。本文的实验结果证明,在大规模训练数据的条件下,基于神经网络的维汉机器翻译模型的能力显著地超过了统计机器翻译模型;多编码器多解码器的网络结构能够有效地提高神经网络机器翻译模型的能力;维吾尔语端采用字节对编码作为基本翻译单元,汉语端采用汉字作为基本翻译单元,可以摆脱对汉语端分词器的依赖,并得到效果很好的翻译系统。

1 相关工作

神经网络机器翻译模型的基本结构是编码器—解码器(encoder-decoder)结构。编码器通常是循环神经网络(recurrent meural network,RNN)[7]或卷积神经网络(convolutional neural network,CNN)[8],最新的研究也有使用基于自注意力机制(self attention)的编码器[9]。编码器的主要功能是对源端待翻译的句子进行向量化的压缩表示。基于RNN的编码器视句子为一个序列,对句子中出现的词汇按时间顺序逐个处理,形成压缩表示。两个不同的RNN分别处理正向和逆向的词汇序列,两种表示被连接起来作为最终的源端表示。基于门(gate)控机制的门控循环神经网络(gated recurrent neural network,GRU)[5]和带有记忆模块和门控机制的长短时记忆循环神经网络(long-short term memory recurrent neural network,LSTM)[10]使得RNN具有选择性捕获和遗忘历史信息的能力。基于CNN的编码器通过使用不同宽度的滑动窗口,从序列中捕获上下文局部信息。多层的CNN编码器和池化(pooling)机制可以实现对全局信息的学习。基于自注意力机制的编码器,使句子序列中词汇之间的交互距离成为与句子长度无关的常数,对于捕获长距离依赖信息具有显著优势。解码器会根据编码器对源端句子的表示和已经生成的目标端的局部译文,逐翻译单元地生成目标端译文。对已生成的目标端的局部译文的建模,同编码器一样可以使用循环神经网络、卷积神经网络、自注意力机制等。注意力机制[6]被引入到神经网络翻译模型中,目的是对词对齐信息进行显式的建模。

之前已有研究者尝试使用神经网络模型搭建维汉机器翻译模型的工作。孔金英[11]等使用带注意力机制的编码器解码器结构搭建了维汉口语机器翻译模型。哈里旦木[12]等对比了多种神经网络机器翻译模型。这些工作都是基于单编码器单解码器的基本神经网络结构。训练数据分别为50万句和10万句的小规模语料,神经网络规模较小,结构较简单。本文提出使用多编码器多解码器的结构,搭建结构更复杂的大规模维汉机器翻译模型来提高维汉机器翻译译文的质量,并在大规模数据上进行了有效性验证。

神经网络机器翻译模型以端到端的方式对输入序列和输出序列的映射进行直接建模。给定源端输入X={x1,…,xm}和目标端输出Y={y1,…,yn},翻译概率被建模成,如式(1)所示。

(1)

其中,y

h={h1,…,hm}=Encoder(X),

Y={y1,…,yn}=Decoder(h)

(2)

其中,h是源端句子的分布式表示,目标语言的生成过程如式(3)所示。

q=g(yt-1,ct,st),

P(yt|y

(3)

其中,q是预测目标端词的张量,g(·)是一个线性函数,st是解码器的隐层状态,ct是源端分布式表示的权重加和,通过注意力机制计算得出。ct的计算方式如式(4)所示。

(4)

其中,Wα,Uα,Vα为矩阵参数。 图1展示了一个基本的神经网络机器翻译模型的架构,包括编码器、解码器和注意力机制。

图1 带注意力机制的神经网络机器翻译模型

2 基于多编码器多解码器结构的维汉神经网络模型

为提升维汉机器翻译的译文质量,本文提出使用多编码器多解码器结构,搭建大型的神经网络机器翻译模型。该模型结构如图2所示,可以容纳任意个数的编码器和解码器,易于扩展和增强。多个编码器独立工作,对源端句子进行分布式表示,所有编码器的输出通过一个前馈神经网络结合到一起,构成源端句子的最终分布式表示。多个解码器具有独立的注意力机制,所有解码器的输出同样被一个前馈神经网络结合到一起,最终被集成到目标端词汇表,分类层: 计算每个目标端翻译单元的概率。网络中所有的参数都统一到一致的目标函数下进行训练学习。

图2 多编码器多解码器结构示意图

2.1 多编码器结构

编码器的作用是对源端句子进行分布式的表示,基本的神经网络机器翻译模型使用一个编码器来处理源端的句子。多编码器的思路是使用不同深度和结构的多个编码器对源端句子分别进行分布式表示,然后将这多个分布式的表示融合起来作为源端句子最终的表示。不同深度的编码器对源端句子具有不同的分布式表示能力,不同结构的编码器对句子表示过程中关注的句子特征的方式不同。我们期望通过这种方式能得到一个对源端句子更全面的表示,增强模型能力。

图3展示了一个由三个RNN和一个CNN构成的编码器。四个子编码器共享词向量矩阵,其他参数独立。输入一个源端句子,句子中的翻译单元,例如字或词,经过词向量矩阵的映射成为向量,每个子编码器对该向量序列进行压缩表示。我们使用GRU作为RNN的单元,逐层地堆叠RNN,形成深度网络结构。前向的RNN和后向的RNN依次堆叠,来捕获正向和反向的上下文环境。图中所示的三个基于RNN的编码器具有不同的深度,层数分别为2层、4层、6层。CNN子编码器使用一个固定大小的滑动窗口来捕获局部的上下文信息。为减少梯度传播损失,我们使用一个门控单元来将每个子解码器的原始输出和词向量通过一个门控单元进行重组。我们以encoder2的输出为例,门控单元具体的计算如式(5)所示。

图3 由三个RNN和一个CNN构成的编码器

(5)

其中,Wxz,Woz,Wxh,Woh∈Rd×d为矩阵参数,bz,bh∈Rd为偏置参数。最终门控单元的输出被一个前馈神经网络组合起来,作为源端句子的分布式表示。该前馈神经网络的计算如式(6)所示。

(6)

其中,Whk∈Rd×d是矩阵参数,b∈Rd是偏置参数。

2.2 多解码器结构

解码器逐翻译单元地生成目标端译文,我们提出使用多解码器的结构提升解码器的生成能力。为了方便表述,我们将注意力机制视为解码器的一部分,我们的每个子解码器中都包含一套独立的注意力机制。所有子解码器的输出最终被结合到一起,用于目标端译文的生成。

图4展示了由三个子解码器构成的解码器结构,每个解码器具有不同的深度。以decoder2为例,该子解码器的计算逻辑,如式(7)所示。

(7)

图4 由三个子解码器构成的解码器

(8)

其中,z是更新门,r是重置门,Wcz,Wsz,Wcr,Wsr,Wss,Wcs是矩阵参数。每个子解码器的输出qk,t使用一个前馈神经网络组合到一起,输入到目标端词汇表分类模块,得到归一化的翻译单元概率,计算过程如式(9)所示。

(9)

3 实验

我们进行了多组实验来验证多编码器多解码器结构的有效性,并探索了翻译单元的粒度对翻译结果的影响。

3.1 实验数据与评价指标

训练数据我们采用了新疆大学收集的新闻领域数据,数据规模在190万句左右,是到目前为止维汉机器翻译实验使用的最大的平行语料。开发数据采用了CWMT2017维汉机器翻译评测提供的开发集,测试数据使用了CWMT2017维汉机器翻译评测提供的去重版测试集。数据规模如表1所示。

表1 数据规模

维吾尔语端进行了拉丁化处理和简单的切分,拉丁化采用的是新疆大学提出的维吾尔语拉丁化方案,切分的目的是将标点符号和维吾尔语词语分开。对于汉语,我们使用了中科院计算所的分词工具进行了分词处理,分词标准遵循《人民日报》标准。翻译结果的评价指标与CWMT2017保持一致,即基于字的BLEU-SBP分数。译文没有做任何后处理操作,统计机器翻译模型的输出译文保留未登录词,神经网络机器翻译的输出译文保留未登录词符号。

3.2 实验设计和参数细节

统计机器翻译模型使用了基于短语的模型,模型采用开源Moses系统训练得到。词对齐使用GIZA++工具,对齐策略为“grow-diag-final-and”。四元语言模型使用了SRLIM工具,借助Kneser-Ney算法做平滑。我们使用了MERT工具在开发集上进行调优。解码搜索空间stack参数设为100。

我们实现了神经网络机器翻译模型RNNSearch*作为神经网络翻译模型的基线系统。该模型的编码器和解码器都基于门控神经网络GRU,使用注意力机制连接编码器和解码器。我们搭建了多个多编码器和多解码器的模型,来探究该结构的有效性。神经网络机器翻译中,词向量维度和隐层神经元的个数均设为512。对于方阵的权重参数,我们使用正交的初始化方式。对于非正交的矩阵权重参数,我们使用均值为0、方差为0.01的高斯分布进行初始化。所有的偏置参数初始化为0。参数训练使用基于batch的梯度下降算法,batch的大小设置为80,学习率控制算法基于AdaDelta,其中衰减参数ρ=0.95,分母常量ξ=1E-6。Dropout策略只使用在解码器输出层,drop rate为0.5。梯度截断(gradient cliping)算法被用来防止梯度爆炸,作用方式为L2正则的梯度大于1.0的时候重置为阈值。解码采用柱搜索(beam search)的方式,beam size参数设为12,最终的译文分数除以译文长度做归一化处理后进行重排序。

针对神经网络翻译面对的词汇数据稀疏问题,我们在维吾尔语端进行了使用词和字节对(BPE)编码作为基本翻译单元的实验。字节对编码使用了BPE开源工具,在维吾尔语端单语迭代5万次。在汉语端进行了使用词、汉字和字节对编码作为基本翻译单元的实验。维吾尔语端5万词表在训练语料上的文本覆盖率约为94.6%; 5万BPE单元词汇表在训练语料上的文本覆盖率约为100%。汉语端3万词表在训练语料上的文本覆盖率为96.5%;1万字单元词汇表文本覆盖率约为99.9%; 3万BPE单元的词汇表在训练语料上的文本覆盖率约为99.3%。

3.3 实验结果及分析

下面我们对实验系统进行具体描述:

(1) Moses是基于短语的统计机器翻译系统;

(2) RNNSearch*是带注意力机制的单编码器单解码器结构的神经网络机器翻译系统;

(3) 3encoder是具有三个编码器的多编码器结构的神经网络机器翻译系统,编码器基本单元是GRU,每个编码器的深度分别为2,4,6;

(4) 3encoders_3decoders是具有三个编码器三个解码器的多解码器多编码器结构的神经网络模型,编码器和解码器基本单元是GRU,每个编码器的深度分别为2,4,6,每个解码器深度分别为2,4,6;

(5) 4encoders_3decoders是具有四个编码器三个解码器的多解码器多编码器结构的神经网络机器翻译系统。编码器中三个是使用GRU的RNN,深度分别为2,4,6,还有一个是窗口宽度为3的CNN;多解码器端有三个解码器,都是使用GRU的RNN,深度分别为2,4,6。

表2展示了我们的实验结果。通过分析实验结果,我们可以看到统计机器翻译模型的BLEU值明显低于所有的神经网络模型。对比系统1和系统2,在测试集的BLEU-5指标上,基于词单元粒度的基本神经网络翻译模型RNNSearch*超过Moses约1.70个点。这说明在大规模训练数据的条件下,即使维吾尔语由于其语言特点存在比较严重的词汇稀疏问题,基于神经网络的维汉机器翻译模型的性能依然可以显著超过基于短语的统计机器翻译系统。

系统2~5用来对比不同粒度的翻译单元对模型能力的影响。对比系统2和3,我们发现对维吾尔语端做字节对编码后,测试集BLEU-5指标增长约2.11个点。实验说明,维吾尔语端字节对编码能够改善其词汇稀疏导致的词汇表覆盖率低、未登录词较多的问题。对比系统3和系统4,当我们在汉语端使用字作为翻译单元时,可以进一步得到约2.14个BLEU-5点的提升。汉语端使用字作为翻译单元具有多个优点:

(1) 可以缓解词汇稀疏问题,有效地提升翻译质量;

(2) 不再需要额外的分词工具对训练语料和测试语料进行分词,同时也避免了不同分词标准对模型的影响;

(3) 词汇表的规模可以大幅度缩小,有效地减少训练时间和解码时间。

对比系统3~4和5,我们发现在RNNSearch*模型上,维吾尔语端和汉语端都基于BPE单元,可以在测试集上得到最高的BLEU-5值。

系统6~7和10用来分别验证多编码器结构和多解码器结构对模型能力的提升效果。对比系统4和系统6,我们发现多编码器结构的神经网络机器翻译系统虽然在参数量上要小于RNNSearch*系统,但是效果却优于RNNSearch*,这证明了多编码器结构的有效性。对比系统6和系统7,我们发现通过扩展单解码器到多解码器结构,进一步带来了翻译效果的提升。对比系统7和系统10, 我们发现引入基于CNN结构的编码器会进一步提高测试集BLEU-5分数约1.04个点的提升。这些实验证明了我们提出的多解码器多编码器结构的有效性。

表2 维汉实验结果

系统8~11是我们提出的使用多编码器多解码器结构搭建的大型神经网络机器翻译模型,我们同时也对其进行了不同翻译单元粒度的测试。基于词—词粒度的多编码器多解码器系统8,与RNNSearch*系统2对比,测试集上BLEU-5指标提升了约1.2个点;基于BPE-词的多编码器多解码器系统9与RNNSearch*系统3相比,测试集上BLEU-5指标提升了约1.95个点;基于BPE-字的多编码器多解码器系统10与RNNSearch*系统4相比,测试集上BLEU-5指标提升了2.08个点;基于BPE-BPE的多编码器多解码器系统11和RNNSearch*系统5相比,测试集上BLEU-5指标提升了1.56个点。这四组实验对比,说明多编码器多解码器结构对于提升维汉神经网络翻译的性能有明显的效果。对比系统10和11,我们发现在RNNSearch*系统上带来了提升的汉语端BPE方案并没有在大模型上带来显著性的提升。系统11是我们所有实验中最优的模型,在BLEU-5指标上,超过了基于短语的统计机器翻译系统约8.17个点,超过了基于词的基本的神经网络模型RNNSearch*约6.47个点。我们的实验结论对于搭建高性能的维汉机器翻译系统具有重要的参考价值。

3.4 汉英翻译实验及与集成方法的对比分析

我们在汉英翻译方向上对多编码器多解码器神经网络机器翻译模型进行了实验对比。训练集选用的语料是语言数据联盟(Linguistic Data Consortium)发布的语料(LDC2002E18,LDC2003E07,LDC2003E14,LDC2004T07 Hansards,LDC2004T08,LDC2005T06),共125万句对,开发集使用的是2002年NIST评测发布的测试集,测试集使用的是2003—2006年NIST评测发布的测试集。实验参数配置与维汉系统一致,双语词汇表规模限定为三万,评价指标采用四元的BLEU值(mteval-v11b.pl)。

我们的实验结果如表3所示。通过对比系统2、3、4、5,可以看出基于多编码器多解码器结构的神经网络机器翻译系统性能有了显著的提升,这说明该结构在汉英翻译方向上也可以有效地改善译文质量。我们同时也和集成方法做了性能对比,这里使用的集成方法(ensemble)是独立训练了三个具有不同深度编码器和解码器(2、4、6层)的神经网络机器翻译模型,然后在解码搜索的过程中,对三个模型输出的目标端词汇的概率分布做了平均化。我们可以看到,集成方法对于提升翻译效果是有效的,但是会带来总参数量成倍地增加。在训练的时候,要针对每个模型进行独立训练和调优,在解码的时候,所需的时间相对于单模型也会成倍的增加。我们提出的多编码器多解码器,参数统一训练,共享结构使得参数量增长速度是线性的,解码时最终计算目标端词汇表概率分布的时候,只需要一次大矩阵的变换和一次softmax归一化,计算量比集成方法要小很多,对于提升单模型的性能是十分经济有效的。

表3 汉英实验结果

4 总结与展望

本文提出使用多编码器多解码器的结构,搭建大规模的维汉神经网络机器翻译模型的方法。该结构可以对源语言进行多层次、多视角的压缩表示;同时具有多个解码器,可以增强目标语言的生成能力。实验证明,在大规模的训练数据上,使用该方法搭建的大规模维汉神经网络机器翻译模型,译文质量可以大幅度地超过基于短语的统计机器翻译模型和基本的神经网络翻译模型;维吾尔语端使用字节对编码(BPE)单元、汉语端使用字单元,可以摆脱对汉语端分词器的依赖,得到较强的翻译系统。未来我们会考虑根据维吾尔语的特点,从语言学的角度提出更具有针对性的解决方案来缓解数据稀疏的问题,进一步提高维汉机器翻译系统的性能表现。

猜你喜欢

解码器语料编码器
融合CNN和Transformer编码器的变声语音鉴别与还原
基于归一化点向互信息的低资源平行语料过滤方法*
科学解码器(一)
科学解码器(二)
科学解码器(三)
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
基于双增量码道的绝对式编码器设计
基于数字信号处理的脉冲编码器
光电编码器故障诊断技术研究现状与展望
《苗防备览》中的湘西语料