基于CNN词根形态选择模型的改进蒙汉机器翻译研究

2018-06-14 07:38乌尼尔苏依拉刘婉婉仁庆道尔吉
中文信息学报 2018年5期
关键词:蒙古语解码语料

乌尼尔,苏依拉,刘婉婉,仁庆道尔吉

(内蒙古工业大学 信息工程学院,内蒙古 呼和浩特 010080)

0 引言

随着社会交流的发展,信息的传播变得尤为重要,大到国际合作,小到国内交流,都离不开信息传播,文本文字的翻译则是实现信息传播和交流的重要途径,以人工翻译为主的翻译方法翻译质量好,但是翻译速度较慢,以机器翻译为主的翻译方法则能够快速地、较为准确地对文本进行翻译。自20世纪90年代统计机器翻译方法[1]逐渐成为机器翻译的主流方法以来,一直受到科学家和语言学家褒贬不一的评论,科学家认为从大规模语料中利用基于对数线性模型[2]的统计分析方法可以预测每一个目标词出现的概率,尽量提高译文的流利程度,避免非法句子的出现。而语言学家则认为,统计机器翻译方法过分依赖数学统计,对源语言不进行语义分析,会导致歧义译文的产生,从而难以获得更高质量的译文。为此,Cho[3]以神经网络为基础提出了一种全新的机器翻译系统框架,称为编码—解码框架。通过将源语言句子编码为一个长度固定的向量形式,这组向量中包含整句源语言的所有语义信息,然后通过一个解码器将这组向量信息解码为与之对应的目标语言句子,最终实现源语言到目标语言的翻译。但是由于这种框架中的神经网络类型选取的是循环神经网络RNN(recurrent neural network)[4],在模型训练过程中通过时间反向传播算法BP(back propagation)[5]进行反向求梯度时,句子中位置越靠前的词与当前词的相关性越低,梯度变化越小,会导致梯度消失现象的产生,出现的结果就是在翻译长句子时翻译质量很低;Jean[6]提出一种基于句子级别的长短时记忆模型LSTM(long short time memory)的机器翻译系统,这种模型的优势在于,在神经网络隐藏层节点加入记忆单元对向量信息进行记忆,缓解梯度消失;但是缺点仍然明显,由于构建记忆单元中输入门、输出门和遗忘门时还需要分别对每个门控单元添加激活函数,导致训练速度很慢,尤其针对大规模语料,其训练的时间复杂度很高。所以,2013年Kalchbrenner[7]在编码—解码框架基础上首次采用卷积神经网络CNN(convolution neural network)作为源语言编码的载体,以单隐藏层的RNN进行目标语解码,不仅训练速度快而且能够在同一时刻得到句子的语义信息,实现并行计算。国内基于神经网络算法的机器翻译研究虽然在大语种互译方面发展迅速,但在汉 语 和 少 数 民 族 语

言的互译方面发展则较为缓慢;刘宇鹏[8]提出基于层次递归神经网络的方法获取句子的语义关系来改进翻译模型,在英汉翻译任务中获得较好的结果;史晓东[9]提出利用深度神经网络DNN(Deep neural network)对汉英双语添加隐式表达关系,在关系识别中获取高质量译文。而在蒙汉翻译方面,目前内蒙古大学、内蒙古师范大学及内蒙古工业大学在进行基于统计的翻译任务和基于神经网络的翻译任务[10]。本文通过利用CNN对蒙古语进行编码(区别于时间序列模型),能够并行处理句子中的任意词语,在获取语义关系的同时加快训练速度,并利用全局注意力模型的GRU网络对向量解码,以BLEU值为评测指标,通过归一化函数预测译文,最终提高蒙汉机器翻译模型质量。

1 模型搭建

模型的搭建采用端到端的神经网络结构[11],该结构由一个编码器和一个解码器构成,编码器作用是将蒙古语句子词语进行编码,生成包含语义信息的向量集合[12],解码器作用是将这部分向量集合进行解码,预测出译文[13],具体流程如图1所示。

图1 模型结构

如图1所示,当对蒙古语句子进行编码时,首先将句子中的词语向量化处理,向量维度固定为N,句子中词向量个数为M,由此构成一个M×N的输入矩阵,卷积层(conv-layer)通过预设窗口Filter的大小对窗口内包含的蒙古语词语集合进行卷积运算,接着利用池化层(pooling-layer)的采样策略进行特征提取,将所有提取的特征集合传给全连接层,进而完成编码过程。解码阶段,利用全局注意力机制计算当前预测汉语词与每个源语言端蒙古语词的对齐权重,通过一个GRU循环神经网络预测最终译文,完成解码过程。本文以总分形式对模型进行说明。

1.1 向量化

语料的向量化有两种方式,一种以词典大小K为维度的1-of-K模式,在词典中该词出现的位置设为1,其它位置均为0,表示方式简单,但会构成一个维度很大的输入矩阵,且在进行卷积运算时由于0元素过多而造成大量无效运算,造成CPU资源浪费。另一种是以分布式表示的词向量,这种表示方式使得每一个词向量都有一组特定的编码,区别于其他词向量,在处理上下文时根据单词向量的正交运算获取对应的相似度值,便于文本的编码。此外,向量的维度可人工设定,在卷积神经网络后续的卷积计算中CPU可以高效利用。本文采用后一种词向量表示方式。词语向量化处理后采用Skip-gram来预测其周围词,如式(1)所示。

(1)

1.2 CNN编码器构建

CNN的构建包括输入矩阵、卷积层、池化层(采样层)以及全连接层,其中卷积层由若干窗口(卷积核)构成,每个窗口包含输入矩阵中蒙古语词向量的集合,根据窗口移动步长遍历整个输入矩阵。窗口每移动一个步长,都会将该窗口范围内的词向量集合做采样运算,通过采样策略找出该集合内的最优值,最终得到一个包含所有关键词信息的整句源语言向量信息,其过程如图2所示。

图2 CNN编码器

(2)

图3 ELU函数

卷积层ELU激活函数及其导数如式(3)所示。

(3)

式(3)中,ε为常数,x为输入。ELU函数通过在正区间取x减轻梯度消失问题[15],且在负区间取小值时具有软饱和特性,提高噪声的鲁棒性。

(4)

式(4)中,β为乘法偏置,b为加法偏置。Maxpooling为池化层激活函数。最后将所有包含语义信息的向量集合传送至全连接层。

范峥峥从车上下来,打扮得很光鲜,白色的针织衫内衣,黑色的中长外套,下穿当下流行的春秋靴和百褶短裙,让贾鹏飞不敢相信这就是快半年没见面的妻子。

1.3 词根形态选择

本文将蒙古语动词的词干词根进行拆分,并以向量形式作为CNN神经网络的输入。同时构建词根表,汇总出蒙古语语料的词根,在编码器编码时通过遍历词根形态来缓解翻译过程中出现的用词错误等问题。词根形态表示如表1所示。

表1 词根形态表示

1.4 注意力及解码器

编码器工作完成后,进行解码前,通过全局注意力机型来获取与当前汉语词对齐的源语言端蒙古语词位置,利用包含一个隐藏层的GRU神经网络进行解码。GRU解码器结构图如图4所示。

图4 GRU解码器结构图

图4中,通过全连接层将信息传入包含注意力机制的GRU解码器,解码器隐藏层节点中重置门和更新门决定是否对新信息进行记忆。其各门控单元激活公式如式(5)~式(7)所示。

(8)

(9)

通过利用softmax函数进行归一化处理,预测当前时刻的目标词,并将当前目标词向量导入下一个隐藏层状态,配合当前隐藏层状态预测下个目标词。softmax函数如式(10)所示。

p(yt|y

(10)

1.5 系统流程

系统模型构建完成,需要对模型参数初始化,模型训练中利用随机梯度下降SGD[16]对初始化的参数进行调整和优化,获取优化参数。系统的模型流程图如图5所示。

图5 模型流程图

2 实验

本文实验数据为蒙汉双语平行语料67 000句对,此外还有从内蒙古日报网站等相关网站下载的篇章对齐双语语料约2万句,通过对篇章对齐语料的预处理和校对,总计获得可用双语句对齐语料85 000句对。

语料库利用自动法进行划分: 训练集语料75 000句对,验证集语料8 000句对,测试集语料2 000句对。双语词典选取用得最频繁的8 000个单词。模型构建中,CNN编码器采用双卷积双池化层结构,卷积层激活函数为ELU,解码器采用全局注意力的单隐藏层GRU神经网络。词向量维度设为300,卷积窗口大小设为4,迭代训练30轮,初始学习率设为1,每三轮迭代后学习率变为原来0.9,系统采用BLEU作为译文评测指标。实验的硬件环境为Ubuntu14.04,GPU为GTX760。基准系统采用RNN结构的蒙汉机器翻译系统。

2.1 训练速度

本文首先验证训练速度,观察利用CNN的编码器和RNN编码器的工作速度,利用GPU训练并记录前10轮迭代训练时间,实验结果如表2所示。

表2 系统运行速率 单位: min

续表

通过表2可以看出,与基准系统相比,利用CNN编码的系统速度提高了约2.3倍。说明卷积神经网络处理文本信息时采用并行处理和矩阵计算的方法要快于RNN的时间序列模型这类每次只能处理一个蒙古语词的方法。

2.2 实验评测及结果分析

通过训练后的模型,利用3 000句对的蒙古语语料测试集分别在基于CNN的系统和基准系统上进行测试,CNN编码器输入矩阵为30×300,30为蒙古语句子的最大长度,300为每个词对应的词向量维度,滑动窗口步长为1。当采用单卷积单池化层结构,结果如图6(a)所示,采用双卷积双池化层结构时,结果如图6(b)所示,其中横轴表示训练时段,纵轴表示模型BLEU值。

由图6看出,随着CNN结构的改变,通过增加相应的卷积层和池化层来提取特征,其语义信息将被更好地编码,便于目标端解码和预测。

图6 测试结果

图6 测试结果

图6(b)中,当采用双卷积层结构时,译文的BLEU值相比较基准系统有了较大程度的提升,最大提升3.09个BLEU值,说明在保证训练速度的前提下,还保证了译文的质量。表3所示为不同实验下的最优BLEU值及其对应的改进幅度。

表3 各实验BLEU值

由表3可看出,随着增加卷积层、池化层个数,对应的BLEU值也得到了相应的提升,理论上可以进一步增加CNN编码器中卷积层和池化层的数量来改进本文系统,但是势必对CPU的计算造成过量的负担,因此本文在CPU运行负载正常的情况下使用当前配置模式。表4所示为利用测试集语料及基准系统翻译结果和基于CNN的蒙汉机器翻译系统得出的部分结果对比。

表4 部分结果

续表

3 总结

本文提出利用CNN和GRU神经网络分别对蒙古语语料和汉语语料进行相应的编码和解码操作,主要根据CNN神经网络能够并行运算、权值共享和提取采样特征的特点来提升模型的训练速度和语义编码质量,利用GRU神经网络中更新门和重置门的功能对模型中主要语义信息进行记忆,进一步缓解训练中产生的梯度弥散和梯度爆炸等现象,从而解决RNN神经网络在长距离现象中出现的问题。此外,本文通过在预测目标端汉语词汇时计算所有的源语言端蒙古语词汇的权重来获取对齐概率,这样进一步提升了翻译质量。但是针对目前蒙古语到其他语种的翻译问题,都存在一个较为严重的问题,就是语料小、投入力度不足。这不仅在很大程度上限制了少数民族语言机器翻译的发展,更加影响了民族文化事业的进步,因此在今后的工作中,将进一步搜集相关的信息与材料,为蒙古族乃至所有中国少数民族信息文化事业的发展做出自己的贡献。

[1] 苗洪霞,蔡东风,宋彦.基于短语的统计机器翻译方法[J].沈阳航空航天大学学报, 2007, 24(2): 32-34.

[2] 戴维·诺克, 彼得·J.伯克. 对数线性模型[M].上海: 格致出版社,2012: 17-29.

[3] Cho K, VanMerrienboer B, Gulcehre C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[J]. Computer Science, 2014, 2(11): 23-37.

[4] Mikolov T, Karafiát M, Burget L, et al. Recurrent neural network based language model[C]//Proceedings of Conference of the International Speech Communication Association, Makuhari, Chiba, Japan, September. DBLP, 2010: 1045-1048.

[5] Prokhorov D V, Si J,Barto A, et al. BPTT and DAC: A common framework for comparison[M]. Handbook of Learning and Approximate Dynamic Programming. John Wiley & Sons, Inc, 2012: 381-404.

[6] Jean S, Cho K,Memisevic R, et al. On using very large target vocabulary for neural machine translation[J]. Computer Science, 2014: 11(6): 7-16.

[7] Kalchbrenner N,Blunsom P. Recurrent continuous translation models[C]//Proceedings of Association for Computation Linguistics. 2013: 1700-1709.

[8] 刘宇鹏, 马春光, 张亚楠. 深度递归的层次化机器翻译模型[J].计算机学报, 2017, 40(4): 861-871.

[9] 史晓东, 陈毅东.基于语篇的机器翻译前瞻[C]. 曹右琦,孙茂松.中国中文信息学会二十五周年学术会议.北京: 清华大学出版社,2006: 56-68.

[10] 宁静. 基于树到串的蒙汉统计机器翻译研究[D]. 呼和浩特: 内蒙古师范大学硕士学位论文, 2016.

[11] 陈炜. 基于神经网络的机器翻译技术研究[D]. 北京: 中国科学院大学硕士学位论文,2016.

[12] Meng F, Lu Z, Wang M, et al. Encoding source language with convolutional neural network for machine translation[J]. Computer Science, 2015,11(2): 15-22.

[13] Gehring J, Auli M, Grangier D, et al. A Convolutional Encoder Model for Neural Machine Translation[J]. Computation and Language. 2016,8(6): 33-45.

[14] 陈先昌. 基于卷积神经网络的深度学习算法与应用研究[D].杭州: 浙江工商大学硕士学位论文,2013.

[15] 王龙, 杨俊安, 刘辉,等. 基于RNN汉语语言模型自适应算法研究[J]. 火力与指挥控制, 2016, 41(5): 31-34.

[16] 汪宝彬, 汪玉霞. 随机梯度下降法的一些性质[J].数学杂志,2011,31(6): 1041-1044.

猜你喜欢
蒙古语解码语料
《解码万吨站》
基于端到端的蒙古语异形同音词声学建模方法
基于归一化点向互信息的低资源平行语料过滤方法*
解码eUCP2.0
提高翻译水平对年轻一代蒙古语广播工作者的重要性
“守望相助在美好家园”全区蒙古语原创歌曲演唱会精彩上演
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
首届蒙古语RAP专场演唱会——“无线内蒙古MONGOL RAP之夜”
《苗防备览》中的湘西语料