基于统计和神经网络的蒙汉机器翻译研究

2018-12-20 06:08侯宏旭王洪彬李金廷樊文婷申志鹏
中文信息学报 2018年11期
关键词:蒙古文蒙汉解码器

任 众,侯宏旭,武 静,王洪彬,李金廷,樊文婷,申志鹏

(内蒙古大学 计算机学院,内蒙古 呼和浩特 010021)

0 引言

蒙汉机器翻译属于稀少资源及少数民族语言翻译领域任务,对于促进语言、文字和文化交流,以及民族团结进步具有重要意义。然而,此类翻译任务普遍面临双语对齐语料不足,资源稀少,蒙古文形态复杂,翻译研究时间短,成果少等困难。

本文中共提及四个系统分别为: CNN(Convolutional Neural Network)系统、RNN(Recurrent Neural Network)系统、SMT (Statistical Machine Translation)系统和以上三个系统的句子级融合系统。其中,CNN系统取得最好的翻译效果(BLEU5-SBP=0.702 4),其次分别是融合系统、RNN系统以及SMT系统。蒙汉翻译任务主要面临的困难是资源稀少和蒙古文形态复杂。针对这两个问题,本文的CNN系统和RNN系统采用短语和字融合训练方法以获取多粒度特征,RNN还采用了Giza++对齐指导模型来调整注意力机制产生的对齐;本文的SMT系统采用了从小粒度到大粒度的重对齐算法。通过蒙古文形态分析,对格的附加成分进行预处理。这几种模型和语言学方面的处理技术都使得蒙汉翻译实验结果有显著提升。本文将CWMT2017去重后的蒙汉测试集作为测试集合进行测试,并对实验结果进行了比较和说明。

1 蒙古文形态分析

蒙古文词汇丰富,形态构成复杂。因此,蒙古文的形态分析是语料预处理的关键步骤,对翻译结果有着重要影响[1]。本文对蒙古文语料进行了格的附加成分的预处理。

蒙古文有多种词缀。其中一种称为格的附加成分,通常为蒙古文词缀中的最后一个附加成分,包含部分句法信息。例如,名词在句子中作为主语还是宾语,就通过其后缀接的格的附加成分来说明。对格的附加成分的处理对词本身的词性、词义影响不大。蒙古文中格的数量庞大,因此对其进行预处理可以充分缓解数据稀疏。有别于一般处理蒙古文词缀的方法,我们只对蒙古文进行格的附加成分预处理[2]。

图1列出蒙古文中的七类格的附加成分的样例。我们通过编码方式识别出格,进行处理。

图1 格的附加成分

格的附加成分处理方法主要有三种[3]。第一种是将控制符去除,然后将格的附加成分与前面的词干进行连接,形成一个新的词,这种处理方法意义不大。第二种方法是将控制符与格的附加成分一同去除,只留下词干部分。第三种方法是将格的附加成分保留,但与词干分开,作为新的处理单元。经过实验证明第二种方法在缓解数据稀疏方面最为有效,在SMT上表现最好。本文在SMT实验中采用去除格的附加成分的方法(第二种方法)。然而,这种方法在NMT系统上却不如切分并保留格(第三种方法)效果更好。因为,NMT擅长处理更多特征,去除格会丢失一部分句法特征,不利于NMT网络的学习。

表1分析了格的处理对语料数据稀疏性的影响。没有进行任何处理的蒙古文语料单频词数量巨大,处理后的蒙古文数据稀疏问题明显改善。格处理对翻译结果的提升也比较显著。

表1 蒙古文预处理数据稀疏分析

2 系统描述

在实验中本文搭建了CNN、RNN以及SMT三个系统。在基于神经网络的CNN和RNN模型中采用了短语和字融合训练方法;对RNN模型中还采用了Giza++对齐指导模型;在SMT上采用了基于小粒度向大粒度重对齐的SMT模型[4]。SMT的译文结果BLEU得分低于CNN和RNN系统译文结果BLEU的得分,但该重对齐模型为SMT基线系统带来明显的翻译效果提升。本文采用了基于双语N-gram词嵌入的相似度重排序方法对三个各异的系统进行句子级重排序,但由于语料规模较小,双语词嵌入相似度准确率受限,融合系统结果并没有高于最优的单系统。

2.1 深度神经网络NMT系统

2.1.1 CNN系统概述

本文的CNN系统采用以Facebook AI Research开源系统fairseq为基础构建的蒙汉翻译系统[5-6]。该系统实现序列到序列翻译,系统架构分为编码器和解码器两部分。两部分均利用CNN卷积核获取短距离依赖信息,并通过增加CNN深度来获取远距离依赖信息。此外,每层解码器配备一个注意力机制。下面对该架构进行介绍。

1. 位置向量。因CNN无法获取输入词在句子中的位置信息,故需要在输入词时为词添加位置信息。CNN输入为词向量与位置向量相加形成,这里位置向量为词在句子中的绝对位置向量,如式(1)~式(4)所示。

其中,x表示输入序列,w表示输入序列对应的词向量,p表示位置向量,e表示词向量和位置向量相加而成的CNN的输入向量。

2. 卷积层结构。编码器和解码器使用相同的卷积层结构,每一层均由一个一维的卷积网络加一个非线性层组合而成,如式(5)、式(6)所示。

3. 多步注意力。解码器部分为多层深度CNN结构,系统为解码器每一层都配备一个注意力机制,如式(7)~式(9)所示。

2.1.2 RNN系统概述

RNN在基于注意力机制GroundHog开源RNN系统上重现神经网络的编码、解码翻译模型[7]。系统由双向RNN编码器[8]和解码器构成。注意力机制基于解码器隐层状态zi-1以及相应编码器隐层状态hj,针对源语言句子每个处理单元获得对齐aj,由此得到ci作为编码器输出的摘要。在有了前一个编码器生成的词wi-1,以及上一个编码器隐层状态zi-1和向量ci的基础上,解码器更新隐层状态zi。根据zi对目标词典中所有词计算概率分布,如式(10)~式(14)所示。

2.1.3 对齐融合

本文使用的是含有注意力机制神经网络翻译系统。注意力建模预测某个目标语言单词时,对于源语言句子中单词的依赖关系,称作对齐权重。基于注意力机制的神经网络翻译模型中,对齐权重表示当前产生的目标词与源语言单词对齐的概率。而对齐权重的产生依赖于上一个隐层状态、当前的输出及前一步产生的目标单词。神经网络翻译模型对齐权重的产生依赖的信息过多导致独立性较差。当前一个单词出现翻译错误会影响神经网络下一步对齐结果的准确性。与注意力机制模型的对齐相比,IBM翻译模型产生的对齐结果更为准确。在IBM翻译模型中目标语言句子中的第i个单词与源语言句子中第j个单词对齐的概率仅依赖于源语言的第j个词以及第j个词的位置。每个对齐位置的产生过程均有很好的独立性。所以本文使用Giza++的对齐结果[9]指导神经网络训练从而提高翻译结果。

神经网络翻译模型的代价函数是利用系统的翻译结果与标准译文的相似度衡量的。为了提高注意力机制产生的对齐结果,本文把Giza++产生的对齐结果作为标准的对齐加入到神经网络翻译模型的训练中,使神经网络注意力对齐权重的训练过程变为有监督的训练。通过修改代价函数将Giza++的对齐加入到神经网络翻译模型中,神经网络翻译模型的代价函数包含两部分: 一部分是原本的翻译代价Lde(y,x),另一部分是新加入的对齐代价,如式(15)所示。

(15)

其中,A是统计方法的对齐矩阵,a是神经网络翻译模型的注意力权重。T是目标语言句子长度,s和t是源语言句子和目标语言句子单词下标。

神经网络翻译模型与基于统计方法的对齐结果意义不同,若要融合两种对齐,需把统计方法的对齐结果转换为可以融合到神经网络的训练中的对齐。加入对齐后重新定义的代价函数,如式(16)所示。

Loss=wal·Lal(A,a)+(1-wal)·Lde(y,x)

(16)

其中,wal是对齐代价和翻译代价的线性组合权重。

2.1.4 多粒度融合

目前的神经网络机器翻译(NMT)模型倾向于为解码器采用较小粒度的翻译单元,来减少由有限的目标词典引起的未登录词(OOV)问题[10-11]。然而,句子级别翻译任务本身需要更大的语义单位。因此,基于短语的SMT模型也优于基于词的SMT模型。此外,短语和词包含比字或字符更完整和精确的语义特征[12]。通过句法分析或共现概率等方法获得的短语包含更多的句法特征。尤其对于缺乏局部特征表示的RNN,短语能够为解码提供更多的局部语义和句法特征选择。

如何解决这种矛盾呢?本文提出了一种短语和字符多粒度融合方法。我们引入短语和字词混合解码器,在训练中使短语和字词共享向量空间和概率空间,且不设置选择粒度的优先级,解码器根据共享概率空间中的概率分布选择粒度。这有别于一般的一个解码器对应一个解码器的模型,一个源语言句子映射到解码器中的两个不同切分粒度的目标句子,即短语级和字级的汉文句子序列。2.1.3中所述的加入对齐信息的有监督训练的注意力机制,将不同粒度的目标语言单词与源语言单词对齐,同时得到短语和字词在同一空间的概率分布。如图2所示,左边为汉文字级的解码器,右边为汉文短语级的解码器。本文提及的短语是从语料库中得到的连续出现的相邻词和字,可以通过基于浅层句法分析[13]或共现词概率分析[14]等方法获得。

图2 多粒度融合的注意力循环神经网络解码器模型

多粒度融合方法,是由解码器来选择粒度较大还是较小的单元作为翻译候选。短语和字符的联合训练尤其适合于稀少资源翻译任务,一方面丰富了NMT解码器的多个粒度特征,另一方面扩大了训练语料。短语和字按照词频排序进入目标词典。中文常用词汇和短语的数目庞大,但常用汉字不超过一万字。因此,即使限制目标词典大小,绝大部分中文字也都在词典中。联合训练在解码端共享字和短语概率分布,因而即使目标词典中没有充足的短语表示,也能够通过选择概率相近的字来避免未登录词问题。此外,由于稀少资源翻译中一般语料和目标词典都很小,训练时间和复杂度有限,可以在训练中不限定目标词典规模。这种情况下联合训练方法充分扩大了词典和多粒度特征,可以取得更理想的效果。我们提出的联合训练方法在蒙汉机器翻译NMT系统上提升明显。

2.2 SMT系统

2.2.1 系统描述

我们使用 Moses作为统计机器翻译的基础系统[15],采用基于短语的统计机器翻译解码方式进行解码[16],GIZA++进行词对齐,采用Och等提出的MERT进行权值的优化[17],使用3-gram语言模型。

2.2.2 重对齐模型

本文在SMT系统上也采用了多粒度的融合。基于蒙古文和汉文都存在多粒度切分的可能,而统计机器翻译的对齐模型和解码模型,分别在小粒度和大粒度上会取得更好的效果。因此,我们提出了一个基于小粒度融合为大粒度的转换算法。对齐阶段采用汉字和蒙古文词干的小粒度,在解码阶段无误差合成大粒度的汉文词和蒙古文词进行解码,以通过在保证解码大粒度优势不变的前提下,优化对齐模型。从而在整体上优化统计机器翻译模型,获得更好的译文质量。该方法流程图如图3所示。

图3 多粒度对齐融合模型流程图

2.3 系统融合

本文使用基于双语N-gram词嵌入的相似度计算方法来对多个系统译文进行句子级重排序。该重排序方法由于没有利用各系统内部产生的概率分布,因而可以对多个完全不同的模型译文进行重排序。也正因为如此,其排序算法全部依赖于双语向量表示。然而在蒙汉双语语料规模较小、单语语料领域庞杂的情况下,在重排序上的表现不稳定。参与融合的三个系统为第3节描述的CNN、RNN和SMT系统字级别译文。

3 实验

3.1 实验数据

实验数据均基于CWMT2017提供的蒙汉评测提供的训练集(26.16万句)、开发集(1 000句)和测试集(1 001句)。由于测试集重复问题,本文实验中所采用测试集为去重后的678句。评测指标为BLEU5-SBP。实际训练数据包含训练集和开发集经过长度处理后的全部数据。中文语料处理方面采用中科院计算所开发的ICTCLAS中文分词系统按字进行切分。

为了分别分析多粒度融合方法和对齐指导方法对RNN的影响,本文从CWMT2017提供的蒙汉双语语料中随机抽取了五组包含1 000句的语料作为测试集。

3.2 实验配置

本文的CNN系统使用Facebook AI Research开源系统fairseq。CNN翻译系统,系统参数配置如下: 编码器层数5层,解码器层数9层,解码器的每一层均配备一个注意力机制。编码器和解码器的核宽度均为3,词向量维度500,每个隐层单元数量500。batchsize 32,训练算法Nesterov’s accelerated gradient (NAG)。

RNN系统使用基于注意力机制的开源实现dl4mt-tutorial作为RNN翻译系统。系统参数配置如下: 词向量维度500,隐层单元数量500,batchsize 32,训练算法SGD,优化算法采用adadelta。

SMT系统使用Moses基础系统。通过Och等提出的GIZA++进行词对齐,采用Koehn等提出的基于短语的统计机器翻译解码方式进行解码。采用Och等提出的MERT进行权值的优化,使用3-gram语言模型。采用训练集和开发集为目标语言训练语言模型,并未采用评测主办方提供的中文单语语料。

因蒙汉翻译训练语料小,词汇规模小,训练时间短,所以采用较大词典对计算复杂度、计算时间和内存占比不仅不会造成过大压力,还能使取得的翻译结果明显提升。因此,CNN和RNN源和目标语言词典均采用全部训练语料中获取的词(实验中字和短语融合系统词典最大,蒙文和汉文词典均为8万词左右)。

3.3 实验结果与分析

表2所示为四个系统以及各模型对比系统。提交的单个系统中CNN系统取得的效果最好,BLEU5-SBP值达到0.702 4;其次是RNN系统为0.599 8,SMT系统为0.568 6。融合系统在对以上三个系统进行句子级别融合时,由于2.3节提到的原因,在开发集上融合系统表现高于单个最好成绩。但在评测中融合系统BLEU5-SBP的值为0.668 0,并没有超过单个BLEU5-SBP值最高的系统。

本文针对字和短语融合方法、对齐指导方法和重对齐方法在各系统基线系统上进行了比较试验。所有基线系统配置按系统描述所述配置,蒙文进行了格的附加成分预处理,汉语部分均为分字处理。

实验可见,基于NMT的机器翻译,无论是RNN和CNN,其在蒙汉机器翻译上的表现已经超过了SMT。然而,简单利用神经网络基础模型来进行蒙汉翻译实验效果并不理想。我们在不对语料进行任何处理,也没有采用相关技术的情况下,得到的蒙汉NMT和SMT翻译结果并不理想。而本文将多种粒度融合方法及对齐技术运用于基本的SMT和NMT上,却取得了非常好的效果。

SMT重对齐方法,通过提高蒙汉双语对齐准确率来提升模型性能,其实验结果较基线SMT提升0.053 9个点。

本文使用的RNN是单层循环神经网络。RNN因其自身的网络结构,特别适合于序列的建模,尤其适合序列化的自然语言处理问题。从表2中看到,RNN的基线系统与目前较为成熟的SMT基线系统基本持平。而加入多粒度融合和对齐指导技术,RNN网络已经完全超过了传统的SMT。

机器翻译不是简单的序列处理。句子中的词和短语包含大量重要的局部信息,且对于蒙汉两种句法差异较大的语言,局部信息显得更加重要。但是RNN缺乏对局部信息的把握,相比CNN的优势就在于学习局部信息,且CNN可以在有限的实验条件下采用多层网络,获取全局信息。因此,从实验中也取得了更好的效果。

CNN和RNN中,均使用了字词和短语融合方法,且都使得系统有较为显著的提升。

如表3所示,RNN中单独加入Giza++对齐指导方法,提升相对较小。加入多粒度融合的方法,在缺乏局部信息学习的RNN网络中加入短语级的局部信息,因此,BLEU值均有显著提升,且Contrast c对比RNN基线系统BLEU5-SBP提升了0.092 3个点。

表3 RNN对比实验结果

在CNN中加入多粒度融合方法后提升0.122 8个点,提升非常明显。CNN本身就是通过抽象局部信息来得到全局信息,因此多粒度融合方法对于CNN来讲,主要是通过扩大训练集语料大小以及丰富目标词典中的语言现象来提升翻译效果。

本文还参考了CWMT2015最佳系统以及CWMT2017厦门大学和呼和浩特民族学院的测试结果,如表4所示。在完全相同的语料条件下,本文的CNN和融合系统均已赶超了CWMT2015最佳系统(best in 2015);厦门大学的参赛系统(S12-primary-a)主要运用了蒙古文转拉丁以及多系统融合等方法,可以看到的CNN以及多系统融合系统效果要好于厦门大学的最好结果;呼和浩特民族学院(S8-primary-a)主要在SMT使用了与本文类似的方法对蒙古文词缀进行了处理,且在蒙古文端使用了BPE算法。可以看出,SMT中加入重对齐方法的效果与该系统基本持平,且本文其他三个系统明显好于该系统。

表4 多单位对比实验结果

4 总结

本文构建了三个蒙汉翻译系统,以及一个融合系统,分别使用多种技术提升翻译效果。并在实验中对多种系统及技术进行了比较研究。

在蒙汉机器翻译任务中,最为严峻的两个问题就是资源较少,不足以训练出好的SMT或者NMT系统,以及蒙古文本身形态复杂,难以处理。二者也是困扰资源稀少翻译任务,或者说少数民族语言翻译任务的主要问题。在对蒙汉翻译进行研究的过程中,我们发现: 一方面蒙古文的处理对其翻译质量有较大的影响,尤其是形态分析与处理,但是仅仅依靠形态分析难以进一步提升;另一方面在大语种任务上取得成果的一些技术方法如何因地制宜地用到蒙汉翻译上,如何开发适用于蒙汉,乃至整个稀少资源语言翻译任务特殊性的翻译技术方法,则更为重要。

本文在蒙汉翻译研究中,重视蒙古文的形态分析和处理,进行了大量实验来分析多种处理方法对不同翻译模型的影响。同时及时学习国内外机器翻译研究优秀成果,研发多种蒙汉翻译系统及其融合技术。此外,针对蒙汉翻译实际研究中遇到的困难和不足,提出多种具有创新性的技术方法,这些技术方法对蒙汉翻译有显著提升。

猜你喜欢
蒙古文蒙汉解码器
敖汉旗万寿白塔蒙古文碑文新释
科学解码器(一)
科学解码器(二)
科学解码器(三)
“对这片土地爱得深沉”
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
部分海外藏蒙古文文献及其目录
《内蒙古艺术》(蒙汉刊)首届作者培训班掠影
蒙古族民间游戏在幼儿“蒙汉双语”教育活动中的运用
乌兰察布蒙古文网站正式上线