当前位置:巨优公文网>范文大全 > 公文范文 > 基于神经网络的维汉翻译系统实现

基于神经网络的维汉翻译系统实现

时间:2022-12-28 14:20:04 公文范文 来源:网友投稿

关键词: 小语种; 机器翻译; theano; 神经网络; 开源系统; 负载均衡

中图分类号: TN711⁃34                         文献标识码: A                       文章编号: 1004⁃373X(2018)24⁃0157⁃05

Implementation of Uyghur⁃Chinese translation system based on neural network

ZHANG Shenggang1,2, Hasan Wumaier1,2, Tuergen Yibulayin1,2, Mahmut Maimaiti1,2, Mirxat Litip1

(1. School of Information Science and Engineering, Xinjiang University, Urumqi 830046, China;

2. Xinjiang Laboratory of Multi⁃Language Information Technology, Urumqi 830046, China)

Abstract: The machine translation of minority languages is generally to achieve online service system on the basis of the open source system due to reasons such as development costs and user scale. At present, the source codes provided by neural machine translation are mostly written by the theano, but the machine translation written by the theano cannot meet users′ needs due to its slow translation speed. How to realize the stable Uyghur⁃Chinese neural network machine translation system based on the theano is taken as the research object. The multi⁃layer bi⁃directional network framework of the ALU neuron is used as the translation model. The django is used to realize the translation service interface. The nginx+uwsgi is selected to achieve load balancing, so as to improve the translation speed. The experimental results show that, the translation speed of the system constituted by 5 translation engines is 1.3~1.55 times higher than that of the system constituted by 10 translation engines. The research results in this paper have an important reference value for using the open source system to rapidly realize the translation system that can meet daily visits of less than 10 million times per day.

Keywords: minority language; machine translation; theano; neural network; open source system; load balancing

0  引  言

隨着“一带一路”倡仪的提出,为了使得沿线的所有民族之间都可以无障碍自由的沟通,机器翻译变得日益重要。机器翻译(Machine Translation,MT)指的是利用机器实现自动从一种语言转换为另一种相应的语言,在翻译过程中可以分为源语言和目标语言。机器翻译的历史可以大致分为4个阶段。在第一个阶段中机器翻译主要是基于情报学中的“加密/解密”方法,但这一方法并没有获得成功。在第二个阶段中机器翻译主要利用语言学家手工书写翻译规则,然而语言学家编写的规则有限并且成本巨大,若某个句子不符合翻译规则则该句就无法正常翻译。第三阶段的机器翻译主要是基于概率统计的方法[1⁃3]。通俗来讲,基于统计的机器翻译的基本思想是利用概率统计方法找到大规模的平行语料的翻译规律从而构建相应的机器翻译模型。更具体来说就是将源语言的句子分割为词单元或者短语单元等,然后将其输入到翻译模型中并选择最好的目标语言句子进行输出。第四阶段也就是目前阶段主要是基于神经网络的机器翻译(神经机器翻译,NMT)[4⁃7]。通过多个不同的非线性处理单元,基于神经网络的方法能够自动对任意数据进行特征抽取和学习并拟合任意的非线性关系。目前基于神经网络的机器翻译一般采用encoder⁃decoder模型,encoder端主要将源语言句子编码为一个稀疏稠密的实数向量,decoder端则根据编码器端的结果生成目标语言句子。尽管基于神经网络的机器翻译方法目前已经成为主流方法,但是由于网络的复杂性和模型的庞大等原因导致在实际工程应用时翻译速度很慢。本文基于神经网络的机器翻译模型采用 nginx+uwsgi+django组合的方式实现了基于神经网络的维汉机器翻译的服务接口,并利用nginx实现对多个维汉机器翻译引擎进行负载均衡,从而可以同时保证翻译质量和翻译速度。

1  相关工作

端到端神经机器翻译的基本思想是通过神经网络直接实现自然语言之间的自动翻译。因此基于神经网络的机器翻译常采用编码器⁃解码器模型(encoder⁃decoder)来实现序列之间的自动转换。编码器端主要将输入的源语言句子编码为稠密稀疏的实数向量,而解码器端则根据编码器端编码的结果生成目标语言句子。为了获得好的翻译结果,机器翻译需要句子的全局上下文信息。循环神经网络(Recurrent Neural Network,RNN)[5]通常作为基于神经网络机器翻译模型的编码器和解码器。RNN的当前时刻状态不仅受到当前时刻输入的影响,还受到之前时刻状态影响,因此理论上可以捕获句子的全局上下文信息。为了缓解RNN本身固有的梯度消失(Vanishing Gradient)和梯度爆炸(Gradient explosion)的问题,通常实际使用是RNN的两个变体: 长短时记忆网络(LSTM)和门控循环单元(GRU)。在RNN网络中由于存在上下时刻间时序上的依赖从而无法并行计算,因此训练的时间代价很高。卷积神经网络(Convolutional Neural Network,CNN)能够对一个窗口内的局部上下文信息进行特征抽取,而且不同窗口间的计算过程可以并行,从而能够充分利用 GPU设备的并行计算能力。 因此有人提出了CNN⁃based 神经网络机器翻译模型(ConvSeq2Seq)[8]。为了增强CNN的建模能力,ConvSeq2Seq模型通过堆叠多层 CNN来增强感受野的范围。然而原则上ConvSeq2Seq还是存在上下文信息缺失的问题,特别是当序列变得很长的时候。最近有人提出了完全通过Attention机制构建翻译模型(Transformer)并且获得了很大的成功[9]。

此前已有不少研究者和机构尝试搭建维汉机器翻译系统,新疆大学的Tilmach维汉机器翻译系统[10]。该系统主要是基于传统的基于短语的统计方法实现。中国民族语文翻译局的在线维汉翻译系统,该系统则主要是基于self⁃attention机制来构造整个系统,该模型既能保证并行训练的速度优势,又能快速地得到句子中任意两个时刻的交互状态。孔金英等使用带注意力机制的编码器解码器模型搭建了维汉口语机器翻译模型[11]。本文主要从工程角度入手探讨如何同时保证基于神经网络的维汉机器翻译系统的翻译速度和翻译质量。

2  基于神经网络的维汉机器翻译系统

2.1  神经网络机器翻译模型

神经网络机器翻译模型以端到端的方式实现输入序列到输出序列的直接映射。假设给定的源语言为X={x1,x2,…,xn},目标语言为Y={y1,y2,…,ym},基于神經网络建模翻译概率如下:

[P(YX)=t=1mP(yty<t,X)] (1)

式中,y<t=y1,y2,…,yt-1。在基于神经网络机器翻译模型中使用LSTM,GRU或者其他非线性单元根据当前的输入xt和前一时刻的隐藏状态ht-1计算当前的隐藏状态ht:

[ht=RNN(ht-1,xt)] (2)

为了能得到更加丰富的上下文信息,在编码器端通常对源语言进行双向编码;然后对两个方向的编码结果进行整合作为最终的隐藏状态,该过程为:

[h→t=RNN(h→t-1,xt)] (3)

[ht←=RNN(h←t-1,xt)] (4)

[ht=htht←→] (5)

在解码器端生成目标语言过程如下:

[q=g(yt-1,ct,st)] (6)

[p(yty<t,X)=softmax(q)] (7)

式中:q是要预测目标端词的张量;g(·)是一个非线性单元,如第一节提到的LSTM,GRU或者CNN等;st是解码器端的隐藏状态,其计算方法和编码器端相同;ct是源端所有隐藏状态的加权和,通过注意力机制计算得到。ct的计算方法如下:

[ct=attention(st-1,h)=i=1nat,ihi] (8)

[at,i=softmax(VTatanh(Wast-1+Uahj))] (9)

式中,Va,Wa,Ua均为神经网络要训练的参数。模型的整体结构如图1所示。

2.2  维汉机器翻译系统

为了更好地捕获句子中的深层信息提高译文质量,本文构建的维汉机器翻译模型在上文所述的模型的基础上将其变为深层神经网络并且借鉴文献[12]的思想,将网络中的非线性单元从传统的GRU修改为ALU,从而可以减小训练的难度并进一步提高翻译质量。当翻译完成后系统对译文进行了后处理以缓解由于神经机器翻译中的集外词问题导致的译文质量下降[13]。

系统在实现上首先使用Django Web开源框架,在维汉机器翻译引擎的基础上实现维汉机器翻译的网络服务接口。然后使用开源Web服务器nginx不停地监听来自用户的请求并将用户传来的Web请求交给相应的接口进行处理并返回。为了能处理更多的用户请求量,在两者之间设置了uwsgi服务器用来接收来自nginx的服务请求。为了进一步提高翻译速度和并发量,整个维汉翻译系统由多个维汉机器翻译引擎构成,并使用nginx进行负载均衡。本系统采用的负载均衡方法为轮询方式,整个维汉机器翻译系统结构图如图2所示。

3  实  验

为了验证基于神经网络维汉机器翻译系统性能,本文设置了多组实验,从翻译质量、翻译速度和并发量三个方面来进行测试。

3.1  接口调用说明

本文系统的调用方式是基于Web的服务接口,具体关于调用的详细信息如表1所示,输入示例如表2所示,返回结果示例如表3所示。

3.2  实验环境和相关参数设置

基于神经网络的维汉翻译系统的译文质量使用BLUE值作为评测指标,翻译速度方面则以每秒翻译的句子数量作为衡量指标,译文质量的测试数据来自CWMT2011,CWMT2013和CWMT2015的3个测试集。测试工具使用的是mteval_sbp并选取BLEU⁃SBP4和BLEU⁃SBP5作为评测指标。系统翻译速度的维语测试数据来自从天山网收集到的长度适中的句子。并发量的测试则使用多线程的方式来进行模拟。训练和测试环境如表4所示。

实验中,选择开源神经网络翻译系统groundhog中的RNNsearch⁃50模型[13⁃14]作为和本文系统进行比较的基准系统。使用的训练语料来自新疆大学的新疆多语种信息技术重点实验室收集到的包含190万新闻领域的平行语料。基准维汉翻译模型使用的编码器和解码器都是基于门控神经网络LSTM,在编码器和解码器之间使用注意力机制进行连接。在本文所构建的深层神经网络维汉机器翻译系统中编码器端和译码器端设置的层数都为4,词向量的维度为620,隐藏单元维度為1 000,对于方阵的权重参数,使用正交的初始化方式。对于非正交的矩阵权重参数,使用了均值为 0,方差为 0.01的高斯分布进行初始化。参数训练使用基于 batch的随机梯度下降算法, batch的大小设置为80,学习率控制算法基于AdaDelta。Dropout策略只使用在解码器输出层,drop rate为0.5。梯度截断(Gradient Cliping)算法被用来防止梯度爆炸,作用方式为L2正则的梯度大于1.0时重置阈值。解码采用柱搜索(Beam Search)的方式,beam size参数设为12,最终的译文分数除以译文长度作归一化进行重排序。本文的系统采用在5个机器翻译引擎和10个机器翻译引擎这两种情况下进行测试,本文将5个机器翻译引擎的系统命名为系统A,10个翻译引擎的系统命名为系统B。

3.3  实验结果及分析

为了能更加准确地验证本文维汉机器翻译系统的译文质量好坏,选择3个测试集进行测试,并和开源神经网络机器翻译系统(groundhog)[14⁃15]进行比较,测试结果如表5所示。本文以5个机器翻译引擎和10个机器翻译引擎为例测试该系统的翻译速度,同时以多线程的方式测试本系统的并发性能。关于本系统的翻译速度和并发量的测试结果如表6所示。

从表5来看,本文系统的BLEU值高于基准系统,表明本文系统在译文的质量方面有保障,达到了实用的程度。例如本文的系统翻译拉丁化的维语:Naqmaydan nahayiti tinch对应的汉语为:现场好安静啊。从表6来看无论是5个翻译引擎的系统还是10个翻译引擎的系统在基本不丢失数据的情况下最大的并发量为100左右。从表6可以看出,随着并发量的持续增加,相比于5个翻译引擎的系统10个翻译引擎的系统丢失数据量更少。从每秒翻译的句子数量来看10个翻译引擎的系统优于5个翻译引擎的系统;特别是在大数据量情况下更加显著,10个翻译引擎系统每秒翻译的句子数量接近5个翻译引擎系统每秒翻译句子数量的1.3~1.55倍。这表明本文利用nginx对多个翻译引擎进行负载均衡所构成翻译系统可以同时解决在实际工程中遇到的翻译速度和并发量的问题。

4  结  语

本文所构建基于神经网络的维汉翻译系统采用基于ALU深层神经网络模型,并在翻译完成后对译文进行后处理得到最终的译文。最终译文在三个测试集上的BLUE值均高于基准系统的译文。本系统的翻译结果在翻译质量上已经可以满足实用的需求。本文采用diango+uwsgi+nginx的组合方式来构建翻译系统并提供服务接口,利用nginx对多个翻译引擎进行负载均衡使得本文的系统在并发量和翻译速度方面也可以满足用户需求。将来的工作重点将放在提高译文质量上,因此未来将会考虑进行多个模型的集成和优化目标函数,从而进一步提高维汉机器翻译的译文质量。

参考文献

[1] BROWN P F, PIETRA V J D, PIETRA S A D, et al. The mathematics of statistical machine translation: parameter estimation [J]. Computational linguistics, 1993, 19(2): 263⁃311.

[2] KOEHN P, OCH F J, MARCU D. Statistical phrase⁃based translation [C]// Proceedings of the 2003 Conference of the North American Chapter of the Association for Computational Linguistics on Human Language Technology. Stroudsburg: Association for Computational Linguistics, 2003: 48⁃54.

[3] CHIANG D. A hierarchical phrase⁃based model for statistical machine translation [C]// Proceedings of the 43rd Annual Meeting on Association for Computational Linguistics. Stroudsburg: Association for Computational Linguistics, 2005: 263⁃270.

[4] KALCHBRENNER N, BLUNSOM P. Recurrent continuous translation models [C]// Proceedings of the 2003 Conference on Empirical Methods in Natural Language Processing. Washington: Association for Computational Linguistics, 2013: 1700⁃1709.

[5] SUTSKEVER I, VINYALS O, QUOC V L. Sequence to sequence learning with neural networks [J/OL]. [2014⁃12⁃14]. https://arxiv.org/pdf/1409.3215v3.pdf.

[6] BAHDANAU D, CHO K H, BENGIO Y. Neural machine translation by jointly learning to align and translate [C/OL]. [2015⁃04⁃24]. https://wenku.baidu.com/view/68abdce7763231126

fdb1151.html.

[7] CHO K, MERRIËNBOER B V, GULCEHRE C, et al. Learning phrase representations using RNN encoder⁃decoder for statistical machine translation [J/OL]. [2014⁃09⁃03]. https://arxiv.org/pdf/1406.1078v3.pdf.

[8] GEHRING J, AULI M, GRANGIER D, et al. Convolutional sequence to sequence learning [J]. [2017⁃07⁃25]. https://arxiv.org/pdf/1705.03122.pdf.

[9] VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need [C/OL]. [2017⁃12⁃06]. https://arxiv.org/pdf/1706.03762.pdf.

[10] 解倩倩,艾山·吾買尔,吐尔根·依布拉音,等.混合策略的汉维辅助翻译系统的设计与实现[J].现代电子技术,2017,40(20):5⁃9.

XIE Qianqian, Hasan Wumaier, Tuergen Yibulayin, et al. Design and implementation of Chinese and Uyghur computer⁃aided translation system based on hybrid strategy [J]. Modern electronics technique, 2017, 40(20): 5⁃9.

[11] 孔金英,杨雅婷,董瑞,等.基于深度学习的维汉口语机器翻译研究[J/OL].[2017⁃06⁃12]. http:///p⁃2186355938909.html.

KONG Jinying, YANG Yating, DONG Rui, et al. Research of deep learning for Uyghur⁃Chinese oral machine translation [J/OL]. [2017⁃06⁃12]. http:///p⁃2186355938909.html.

[12] WANG M, LU Z, ZHOU J, et al. Deep neural machine translation with linear associative unit [J/OL]. [2017⁃05⁃02]. https://arxiv.org/pdf/1705.00861.pdf.

[13] LUONG M T, SUTSKEVER I, LE Q V, et al. Addressing the rare word problem in neural machine translation [J/OL]. [2015⁃05⁃30]. https://arxiv.org/pdf/1410.8206v4.pdf.

[14] 刘洋.神经机器翻译前沿进展[J].计算机研究与发展,2017,54(6):1144⁃1149.

LIU Yang. Recent advances in neural machine translation [J]. Journal of computer research and development, 2017, 54(6): 1144⁃1149.

[15] 哈里旦木·阿布都克里木,刘洋,孙茂松.神经机器翻译系统在维吾尔语汉语翻译中的性能对比[J].清华大学学报(自然科学版),2017,57(8):878⁃883.

Halidanmu Abudukelimu, LIU Yang, SUN Maosong. Performance comparison of neural machine translation systems in Uyghur⁃Chinese translation [J]. Journal of Tsinghua University (Science and technology), 2017, 57(8): 878⁃883.

推荐访问:神经网络 系统实现 翻译

版权所有:巨优公文网 2018-2024 未经授权禁止复制或建立镜像[巨优公文网]所有资源完全免费共享

Powered by 巨优公文网 © All Rights Reserved.。备案号:沪ICP备18054162号-1