APP下载

融合先验信息的蒙汉神经网络机器翻译模型

2018-07-18樊文婷侯宏旭王洪彬李金廷

中文信息学报 2018年6期
关键词:蒙古文语料词典

樊文婷,侯宏旭,王洪彬,武 静,李金廷

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

0 引言

神经网络机器翻译模型被提出之后成为机器翻译的一个研究热点[1-2]。神经网络机器翻译模型是基于词、短语和句子的连续表示,连续的词向量更能准确地表示词的形态、语义和语法信息,刻画近义词之间的关系[3-4]。蒙古文的构词形式是在词干后不断缀接词缀来构成词汇,且词形变化丰富,词汇的连续表示更容易捕捉到蒙古文词的形态和构词信息。目前在蒙古文到汉文的机器翻译任务上基于注意力机制的神经机器翻译模型取得了较好的效果,但仍然存在一些不足。

在神经网络翻译模型的框架下,训练翻译模型往往需要大规模的训练语料。模型的训练仅仅依赖双语训练集,网络学习的特征全部依赖双语训练集。但是蒙古文这样的低资源语种并不能获得大规模蒙汉双语平行语料用来训练翻译模型,仅使用双语语料训练翻译模型又学习不到足够多的特征。针对蒙古文—汉文平行语料规模较小的情况,本文将外部特征融合到蒙古文—汉文神经网络翻译模型的训练过程中,来指导网络训练,缓解蒙古文—汉文翻译中因训练语料不足导致网络学习到的特征不足的问题。为此,我们将先验信息融合到神经网络的训练中。

首先,词向量表示的精确度对网络的翻译性能有很大影响,神经网络翻译模型以one-hot为初始词向量,且初始词向量对模型有较大的影响。在网络训练过程中,词向量表示不断调整。词向量的学习与翻译模型的训练同时进行,然而双语平行语料的获得要比单语语料更为困难,有限的双语语料限制了词向量对词本身所包含信息的学习。大规模的单语训练语料有助于更精准的词向量表示。蒙古文属于低资源语言,可利用的双语句对齐语料较少,与之相比汉文的单语语料则较为丰富。本文利用大规模的汉文单语语料来训练得到较为准确的汉文词向量表示。其次,蒙古文到汉文的翻译任务中可利用的双语平行语料较少,网络自动学习到的特征较少。针对上述神经网络机器翻译模型在蒙古文到汉文的翻译任务上存在的问题,本文提出将可利用的先验信息融合到蒙古文到汉文的神经网络翻译模型中。第一,使用大规模单语语料预先训练词向量,用得到的词向量作为神经网络机器翻译模型的初始词向量。这样词向量的训练不仅限于有限双语平行语料,还可以利用大规模的单语语料,为翻译模型提供语义表达更精准的词向量表示。第二,神经网络机器翻译模型训练时仅使用语料文本信息,并没有使用外部的标注特征。本文采用有效的外部特征来增加蒙古文到汉文翻译任务中的可用信息。这些丰富的先验特征更有利于网络学习到语言特征,充分发挥神经网络特征学习的优势。本文提出在词向量中融入词性特征,可以起到消除歧义的作用。

对于神经网络翻译模型来说,目标语言词典的大小对翻译结果的影响较大。如果目标语言词典包含训练集中的所有词,翻译效果会有很大程度提升,但训练时间和规模会相应增加。因此,翻译中通常会限制目标词典大小,这就导致翻译中未被词典覆盖的词会增加。在翻译过程中,通常使用未知词(UNK)来代替所有的未登录词。神经网络的主要优势是可以利用长距离依赖信息,而词的连续表示是在翻译模型的训练过程中学习而成,所以未登录词的出现会影响整个句子的翻译以及词向量的学习。本文采用的方法是在词典规模不变的情况下,让词典包含更多目标语言单词信息、提高词典利用率。该方法利用加入词性特征的词向量计算词与词之间的相似度,然后将未登录词用目标词典中与之最相近的词替代。

为了证明本文提出的融合先验信息的神经网络翻译模型的有效性,在蒙古文到汉文翻译任务上进行了实验比较,使用基于注意力机制的重现神经网络作为基线系统。采用大规模单语蒙古文以及汉文语料预先训练词向量方法的实验结果比基线系统提高了1.98个BLEU点;此外,在预先训练得到的词向量中融入词性特征的实验结果比未加入词性特征的实验结果提高0.7个BLEU点;相同参数下,利用加入词性特征的词向量计算相似度做低频词替换实验结果比基线系统提高0.6个BLEU点;相比基线系统,本文将蒙古文—汉文的翻译结果提高2.68个BLEU点。

1 相关研究

1.1 基于注意力机制的神经网络翻译模型

目前翻译效果较好的是基于注意力机制的重现神经网络编码器—解码器翻译模型,在文献[5-7]中有详细介绍。本文使用含有记忆单元的注意力机制的重现神经网络[8]。基于重现神经网络编码器—解码器的机器翻译模型是一种端到端翻译模型。它由编码器和解码器两部分构成。源语言句子X=(x1,...,xM)作为编码器的输入,(h1,...,hM)表示编码器的输出。解码器利用编码器的输出和注意力机制产生的对齐权重产生向量序列(c1,...,cM),从而生成目标语言句子。目标语言句子Y=(y1,...,yT)的联合翻译概率定义为:

(1)

每一个目标单词的翻译概率为:

p(yt|y

(2)

其中,ct是编码层输出(h1,...,hM)的加权和:

(3)

M表示源语言句子长度,T表示目标语言句子长度,g是非线性激活函数。st表示解码器隐层的输出,ct由编码器的输出和注意力机制的对齐权重得到,{y1,...,yt-1}表示已经翻译出来的目标语言单词,权值αij由编码器的输出和解码器上一步的隐层输出计算得到。

1.2 受限的目标词典大小

神经网络机器翻译模型预测当前目标单词时,会计算目标语言词典中每一个单词作为当前预测单词的概率,目标词典的大小就是网络的搜索空间。为了减小网络训练时间,通常会限制目标语言词典大小。这样会导致训练语料中的低频词不会被词典包含从而变为未登录词。从式(2)可看出,计算目标单词的预测概率时,会依赖前面已经预测出来的单词。若译文的前一个单词是UNK则会影响后面目标单词的预测,UNK不仅会影响预测下一个词的准确率,还会影响整个网络的训练。

2 融合先验信息的神经网络翻译模型

本节介绍将先验信息融合到神经网络翻译模型中的具体方法。首先,将大规模单语语料预先训练得到的词向量作为神经网络机器翻译模型的初始词向量。其次,在词向量中融入词性特征,可以起到消除语义、词义上的歧义的作用。针对神经网络的未登录词问题,利用加入词性特征的词向量计算词与词之间的相似度,然后将未登录词用目标词典中与之最相近的词替代。

2.1 词向量预训练

神经网络机器翻译模型中词向量学习仅使用有限双语平行语料,且词向量的初始值采用随机赋值。训练词向量时语料的规模对词向量准确性影响较大。本文采用大规模的单语语料训练得到的词向量可以更准确地表示词汇本身携带的信息,将得到的词向量作为神经网络机器翻译模型的初始词向量。第四节的实验结果表明该方法的有效性。

自然语言相关任务中最常见的第一步是创建一个词典并把每个词顺序编号,也就是词向量表示方法中的 one-hot 表示。向量的维度等于词典的大小,这种方法无法捕捉词与词之间的相似度,且容易发生维数灾难。最早由 Hinton 在 1986 年提出一种分布式词向量表示方法,该方法可以利用词向量较为精确的表示单词的词义。2013年Mikolov Tomas提出两种学习单词连续向量表示的新模型[9-11]。2016年Facebook提出一种学习连续词向量的方法[12]。本文词向量预先训练采用的是Facebook提出的连续词向量学习的方法。图1表示词向量训练模型。图中W是给定的词典,假设存在一个w1,w2,…,wT,的词组序列,则最大化公式如式(4)所示。

(4)

图1 词向量训练模型

Ct是wt的上下文,(|C)t|是上下文窗口大小,(|C)t|越大则考虑的上下文越多,词向量的表示相对更准确。同时,训练时间也会增加,每个词向量表征了单词的上下文分布。s是计算得分函数,s(w,c)表示已知单词w预测下一个单词c的得分。根据得分定义上下文单词预测概率如式(5)所示。

(5)

得分函数s定义为:

(6)

zg是w的n-gram片段的向量表示,vc是c的向量表示。集合Gw表示给定一个单词w的n-gram片段集合。

2.2 融合词性特征

近年来,研究者将词的形态信息或主题信息融入到词向量表示中,来丰富词向量的信息。本文在神经网络翻译模型中融入词性特征来指导网络的训练,从而得到更准确的翻译结果。

自然语言中词含有多个词义,在各个层面上存在歧义。语法层面上,一个词可以有多种词性,语义层面上,一个词有多个词义[13-15]。根据上下文关系得到的词性标注特征可以消除句子中词的语法兼类现象,有助于在特定句子中选择正确的词义。通常可以在语言模型或翻译模型中加入外部特征信息[16-17],起到消除歧义的作用。神经网络翻译模型仅使用词本身作为学习信息,事实上更多的先验信息可以指导神经网络机器翻译模型的学习,从而提高模型对语境知识的学习能力。本文提出一种方法将汉文的词性标注信息融入到神经网络机器翻译训练过程中。首先,在预先训练得到的词向量中融入词性特征。然后,把得到的词向量作为神经网络机器翻译模型的初始词向量。利用词向量将词性特征带入到网络训练中,具体融合方法如图2所示。首先,得到词性对应的词性向量。之后,将其与词向量进行融合。

图2 词性向量与词向量融合方法

本文采用的词性特征融合方法有两种: 第一,训练维度相同的词向量和词性向量,根据汉文语料的词性标注信息,将两个向量直接相加得到最终词向量。作为网络的初始向量。第二,使用向量拼接方法训练维度不同的词向量和词性向量,将得到的两个向量直接拼接作为最终词向量,两个向量的维度之和是最终词向量的维度。针对拼接方法,词性向量维度与词向量维度的比例会影响加入词性的翻译效果。如果词性向量维度过低,则带入的信息过少对翻译结果的提升不明显。如果词性向量维度过高,则会导致词向量携带词本身信息被削弱。在本文的实验部分对词向量与词性向量不同拼接维度进行了分析。

2.3 低频词替换解决未登录词问题

未登录词问题是神经网络机器翻译研究的重要部分。2015年,Jean S提出一种在使用大规模目标端词典的前提下,提高翻译结果且不增加训练时间的方法[18]。该方法使用子采样技术,把总的训练语料分成多个集合,分别为其建立目标端词典。Quoc V.Le提出了 一种后处理的方法来缓解未登录词问题[19],增加对齐算法,利用对齐将未被翻译出来的目标词用与之对应的源语言单词替换。Rohan Chitnis 提出了利用哈夫曼编码的方法编码目标语言词典从而使词典覆盖更多的目标端单词[20]。本文采用在词典规模不变的情况下,让词典包含更多目标语言单词信息,提高词典利用率。该方法利用加入词性特征的词向量计算词与词之间的相似度,然后将未登录词用目标词典中与之最相近的词替代,减少了未登录词的数量,且不会增加网络的训练时间。

具体方法是: 首先得到训练语料中出现的所有词的融合词性特征的分布式词向量,再根据词典大小把所有的词划分为两部分。一部分是被词典覆盖的词,另一部分是未被词典覆盖的词。前者称为高频词,后者称为低频词。其次,利用词向量计算低频词与高频词的相似度。最后,根据相似度替换训练语料中的低频词。具体的操作流程如图3所示。

图3 低频词替换方法流程图

低频词w1和高频词w2的词向量可以分别表示为w1=(x11,x12,…,x1N),w2=(x21,x22,…,x2N),其中N表示词向量的维度。单词之间相似度的计算为:

(7)

如果训练语料中的单词wt不在目标语言词典中,则在目标语言词典中搜索与之最为相近的词替换:

|V|是目标语言词典的大小,vi是目标词典中的单词。低频词替换的过程中会引入一些噪声,所以在替换的过程中加入一些限制条件,以免引入过多的噪声。首先,每个高频词只可以被用于一次替换。如果多次使用同一个高频词替换,则会影响高频词本身词义的表达。其次,为了减少噪声的引入我们不对所有低频词进行替换。

3 实验分析

3.1 实验数据及参数配置

本文在蒙古文到汉文的翻译任务上验证所提出方法的有效性。使用CWMT2009蒙汉双语平行语料作为训练数据集,双语平行语料中选择长度为2~50的汉文和蒙古文句子。蒙古文的形态多变低频词较多。传统的基于统计的蒙古文到汉文翻译方法中,通常采用基于词典、规则和统计相结合的蒙古文词切分方法,从而缓解蒙古文的数据稀疏问题[21-22]。然而神经网络机器翻译模型优势主要体现在对于特征的学习能力,数据稀疏并不是影响其效果的最主要问题。在本文的实验中不对蒙古文做词缀切分或词缀提取等预处理工作。中文语料处理采用Zhang等人提出的ICTCLAS中文分词系统对中文语料按词切分[23]。本文采用BLEU值作为翻译结果的评测[24]指标,为了表明方法的有效性,本文所有实验结果都使用均值,而不是最高值,实验数据集具体信息如表1所示。

表1 实验语料统计信息

基线系统是基于注意力机制的重现神经网络的编码器—解码器翻译模型[5]。系统参数配置如下: 词向量维度500,隐层单元数量500,批大小32,优化算法采用adadelta。

3.2 融合词性特征对比实验

使用大规模单语语料来获得更准确的词向量,本文使用Fasttext开源工具获得词向量表示。使用大规模单语语料训练得到融合词性特征的词向量,将其作为神经网络机器翻译模型的初始词向量。实验结果如表2所示。实验中汉文按词切分,词向量预先训练的翻译结果比基线系统的BLEU值提高了1.98个点。且使用预先训练词向量作为翻译模型的初始词向量后,模型训练时间比基线系统更短。主要原因是,首先预先训练词向量使用了大规模单语语料从而获得更准确的词向量表示,也可以得到更好的翻译结果。其次与随机初始化词向量比较,经过训练的词向量有利于模型初始训练对单词的选择,也可以减小翻译模型的初始错误率。

表2 预训练词向量对比实验结果

为了证明融合词性标注信息到神经网络中的有效性,本文对汉文做分词处理后使用斯坦福开源标注工具Stanford-postagger获取汉文词性标注。目标词典包含所有训练集中的单词,词典大小为22 270。从表3中的实验结果可以看出,本文提出的两种词性特征融合的方法对翻译结果都有明显提高,向量相加的方法相对更好一些。词性向量与词向量直接相加的方法比仅使用词向量的BLEU值提高了0.7个点,拼接方法将BLEU提高了0.62个点。其中词性维度不同,拼接效果也有差异,词性向量为50维的翻译结果比100维的效果更好。主要原因是词性向量维度过高时会导致原本的词向量维度变低,以至于词向量没有携带更多的词信息,但是相比于未加词性特征的翻译结果也有一定提高。

表3 词向量中融入词性实验结果

表4是不同系统的翻译结果,从翻译结果中可以很明显看到翻译质量相比于基线系统都有明显的改善。相比于基线系统的翻译结果,加入词向量预先训练的翻译结果的语义更为完整。而加入词性特征的翻译结果比仅利用词本身词向量的翻译结果更为流畅,更符合汉语的语言习惯。

表4 翻译结果比较

续表

3.3 低频词替换对比实验

由于模型训练时目标词典大小的限制,原本在训练语料中出现的单词可能变为未登录词。表5是第三部分针对是否在算法中引入限制条件的实验结果。从表中可以看到采用低频词替换方法,但是未加限制条件的翻译评测结果与基线系统的评测结果差异很小。主要原因是由于不加限制条件,该方法引入的噪声太大,抵消了低频词替换的积极作用。当加入限制条件后翻译效果则会有明显提升,相比于基线系统BLEU值提高了0.6个点。实验结果证明在相同目标词典大小的情况下,本文使用的低频词替换方法在没有增加模型训练时间的前提下,有效的缓解了未登录词问题,提高了翻译译文的质量。

表5 加入限制条件的实验结果

本文采用词向量相似度将低频词替换为高频词。从表6可以看出,替换过程中会出现词义不相近的替换实例。例如, “私心”与“核心”作为近义词替换是不正确的。但是从替换后的句子来看,相比于直接将句子中的低频词“私心”去掉,将其替换为“核心”可以保证句子结构的完整性。表7显示,目标端词典大小相同时,使用高频词替换替低频词方法后的翻译结果要优于直接从词典中去掉低频词的翻译结果。虽然低频词与高频词替换过程中会出现词义不一致的替换,但从翻译结果来看与该方法引入的噪声相比,其积极作用要更大,有效地提高了基于神经网络机器翻译模型从蒙古文到汉文的翻译质量。对于低频词与高频词替换过程中出现词义不一致的替换问题,会在之后的工作中继续研究,进而提高替换准确率及翻译质量。

表6 低频词高频词替换实例

表7 低频词替换实验结果

低频词与高频词替换比例会影响翻译结果。低频词替换比例相对较高,会影响高频词原本的词义。低频词替换比例较低则对翻译效果影响不明显。经过一组实验找到更合适的低频词与高频词的比例,分别替换训练语料中全部词频小于等于2、小于等于1和部分词频小于等于1的词。表8的对比实验结果证明,当替换全部小于等于2的低频词时翻译结果与相同目标词典大小的基线系统没有差异。主要原因是采用低频词替换方法虽然缓解了未登录词问题,但替换比例太大对高频词原有词义有消极影响,引入的噪声会过大。替换小于等于1频词的翻译结果与相同目标词典大小的基线系统相比BLEU值提高了0.6个点。采用替换部分1频词的翻译结果与相同目标词典大小的基线系统相比有一定提高。虽提高有限,但译文质量达到了包含全部训练语料中单词的译文质量。

表8 低频词替换实验结果对比

4 总结

本文主要针对基于神经网络翻译模型在蒙古文到汉文翻译任务上的不足提出相应解决方法,主要将先验信息融合到蒙古文到汉文的神经网络中指导翻译模型训练。使用大规模单语语料预先训练词向量来提高词向量的精确度。为了消除句子中单词的语法兼类等歧义问题,将汉文训练语料的词性特征加入到神经网络机器翻译模型训练过程中。神经网络机器翻译模型在训练中限制了目标语言词典大小,导致原本在训练语料中出现过的词变为未登录词。本文提出通过在相同词典规模下提高词典的利用率,从而有效缓解因为目标词典规模大小限制带来的未登录词问题。最终将蒙古文到汉文的译文BLEU值提高了2.68个点。本文提出将蒙古文—汉文的外部信息融合到神经网络翻译模型的训练中,而对于模型本身的改进较少,在之后的研究中将实现对神经网络模型本身的改进。在未来的研究中,主要着重在蒙古文到汉文的翻译任务上把已有文本的先验信息融入到网络训练过程中,用以指导网络训练。例如在网络训练过程中融入句法特征来指导网络学习句子内部的句法结构信息。

猜你喜欢

蒙古文语料词典
基于归一化点向互信息的低资源平行语料过滤方法*
敖汉旗万寿白塔蒙古文碑文新释
米兰·昆德拉的A-Z词典(节选)
米沃什词典
词典引发的政治辩论由来已久 精读
部分海外藏蒙古文文献及其目录
三田渡汉文满文蒙古文碑文对比研究
《苗防备览》中的湘西语料
国内外语用学实证研究比较:语料类型与收集方法
漫画词典