法律状态公告日
法律状态信息
法律状态
2020-07-07
授权
授权
2020-01-14
实质审查的生效 IPC(主分类):G06F17/28 申请日:20190829
实质审查的生效
2019-12-20
公开
公开
技术领域
本发明属于机器翻译技术领域,特别涉及一种利用生成对抗网络构造蒙汉平行语料提高蒙汉翻译质量的方法。
背景技术
机器翻译能够利用计算机将一种语言自动翻译成为另外一种语言,是解决语言障碍问题的最有力手段之一。近年来,许多大型搜索企业和服务中心例如谷歌、百度等针对机器翻译都进行了大规模的研究,为获取机器翻译的高质量译文做出了重要贡献,因此大语种之间的翻译已经接近人类翻译水平,数百万人使用在线翻译系统和移动应用实现了跨越语言障碍的交流。在近几年深度学习的浪潮中,机器翻译已成为重中之重,已经成为促进全球交流的重要组成部分。
基于Seq2Seq的神经机器翻译框架由编码器和解码器组成,编码器读取输入序列并输出单个矢量,解码器读取该矢量以产生输出序列。自2013年以来,该框架获得了迅速的发展,相对于统计机器翻译而言在翻译质量上获得了显著的提升。句子级最大似然估计原理、LSTM和GRU中的门控单元以及注意力机制的加入使得NMT翻译长句子的能力得到了提高。2017年AshishVaswani等人提出了Transformer架构,一种完全依赖于注意机制来绘制输入和输出之间全局依赖关系的架构。这样做的好处是实现了并行化计算、有效减少了模型的训练时间、在一定程度上提高了机器翻译模型的质量。避免了RNN及其衍生网络慢且无法实现并行化等缺点。
目前,神经机器翻译已经很成功了,但是最好的NMT系统和人们的期望任有较大的差距,翻译质量有待提高。因为NMT通常采用最大似然估计训练模型,即最大化以源句为条件的目标真实句子的概率,即:模型可以为当前生成最佳的候选词,但是从长远来看对整个句子的翻译并不是最佳翻译,这给NMT留下了一个隐患。就连强大的Transformer也不例外。与人类的真实翻译相比,这样的目标并不能保证翻译结果的自然性、充分性和准确性。
另外,大语种之间的互译已经相对比较成熟,但小语种之间的机器翻译由于各种挑战尤其是语料库的严重缺乏,人工构建平行语料代价十分昂贵,因此翻译效果仍不尽人意。
发明内容
为了克服上述现有技术的缺点,本发明的目的在于提供一种利用生成对抗网络构造蒙汉平行语料提高蒙汉翻译质量的方法,该方法主要针对蒙汉平行数据集严重匮乏以及NMT不能保证翻译结果的自然性、充分性和准确性等的问题,将生成对抗网络应用在蒙汉神经机器翻译中。
为了实现上述目的,本发明采用的技术方案是:
一种利用生成对抗网络构造蒙汉平行语料提高蒙汉翻译质量的方法,将生成对抗网络用在蒙汉机器翻译中来缓解蒙汉平行语料库匮乏导致的蒙汉机器翻译质量较低的问题以及最小化人类翻译与NMT模型给出的翻译之间的区别,所述生成对抗网络主要包括生成器和鉴别器,生成器的加入可以有效的利用蒙汉单语数据,缓解机器翻译任务中蒙汉平行语料匮乏的问题。在所述生成器中,为了缓解蒙汉机器翻译中的UNK现象,使用混合编码器将源语言句子蒙古语编码为向量表示,使用基于双向Transformer的解码器结合稀疏注意力机制将该向量表示转化成为目标语言句子汉语,从而生成更加接近人类翻译的蒙古语句子和更多的蒙汉平行语料,提高蒙汉机器翻译的质量和效率。在所述鉴别器中,判断生成器生成的汉语句子与人类译文的差距,所述生成器的目标主要是生成更加接近人类翻译的蒙古语句子以及有效的利用蒙汉单语数据生成更多的蒙汉平行语料,而所述鉴别器的目的是计算生成器生成的汉语句子与人类翻译的汉语句子之间的差距。将生成器和鉴别器进行对抗训练,直到鉴别器认为生成器生成的汉语句子与人类译文非常相似时,即生成器和鉴别器实现纳什均衡时,得到高质量的蒙汉机器翻译系统和大量的蒙汉平行数据集,利用该蒙汉机器翻译系统进行蒙汉翻译。
所述混合编码器由句子编码器和单词编码器组成,为了捕获句子之间的语义信息及编码器效率,句子编码器由双向Transformer组成,单词编码器使用双向LSTM,在保证编码器质量的条件下提高了单词编码器的效率。所述双向Transformer为优化Transformer1,在原Transformer的基础上首先加入了门控线性单元,以有效的获取源语言句子中的重要信息并舍弃多余信息;其次加入了分支结构,以有效地捕获源语言句子之间的多样化语义信息;最后,在分支结构上以及第三个层标准化之后加入了胶囊网络,使编码器可以捕获到源语言句子中词的准确位置,进一步强化编码器的准确性,提高了编码质量;所述解码器中,双向Transformer为优化Transformer2,在原Transformer的基础上首先加入了分支结构;其次加入了胶囊网络;最后加入了Swish激活函数,以有效地提高解码器解码的准确率。
所述单词编码器和句子编码器先后将源语言句子进行编码,然后通过融合函数进行融合得到带有上下文信息的向量表示,其中,单词编码器将每个单词表示成向量形式,构建以单词为基本单元的蒙古语句子的向量表示,其模型公式为:
h1i=Φ(h1i-1,Wi)
其中,Φ为激活函数,Wi为权重,h1i-1为第i-1个字的隐层状态。
句子编码器将一整个蒙古语句子表示成向量形式,构建以句子为基本单元的向量表示,其模型公式为:
其中,vj表示第j个字的值(Value),
其中,αi,j的计算如下式所示:
其中,qi为第i个字的查询(query),kj为第j个字的键(key),·表示点积运算,d表示q和k的维度;
所述融合函数如下式所示:
ψ(h1i,h2i)=a1h1i+a2h2i
其中,ψ为融合函数,a1,a2表示两种编码器通过随机初始化的相应权重,通过两种编码融合成包含句子、单词两种向量信息的编码器。
所述句子编码器中,双向Transformer是指一次性读取整个文本序列,即基于句子的两侧学习,而不是从左到右或从右到左地按顺序读取,从而能够学习文本中单词之间的上下文关系。
所述解码器中,双向Transformer指一次性读取源语言句子的向量表示,即基于整个句子向量表示的两侧进行解码,以进一步提高解码器解码的准确率。
为了增强鉴别器的鉴别能力,所述鉴别器为多尺度鉴别器,能够鉴别生成器生成的汉语句子的大体句意和细节信息(例如短语和单词等),以协助生成器生成更加接近真实翻译的句子;同时,为了克服卷积神经网络的平移不变性,所述多尺度鉴别器使用胶囊网络来实现,在不降低训练效率的条件下可以有效的提高鉴别器的鉴别能力,所述平移不变性是指:比如在人脸识别中,卷积神经网络认为一张有眼睛有嘴巴等特征的脸就是人脸,忽略了脸中五官的具体位置。如果将其用在生成对抗网络中作为鉴别器,因为它的平移不变性会认为生成器生成的汉语句子中只要有全部的人工翻译的句子中的词的句子就是人工翻译的句子。而忽略掉词的位置信息,从而导致鉴别失误。胶囊网络包括卷积层、主胶囊层、卷积胶囊层和全连接胶囊;为了使用一个网络表示多个鉴别器,提高训练效率,在卷积层中,不同子层的激活值代表不同粒度句子的激活值,低层的激活值表示单词的激活值,高层的激活值表示整个句子的激活值,最后将不同层的特征映射变换到通道数为1的同尺度特征映射。
给定句子对(x,y),每个胶囊网络首先通过连接x和y中单词的嵌入向量来构造类似2D图像的表示,即对于源语言句子x中的第i个词xi和目标语言句子y中的第j个词yj,有如下的对应关系:
其中:xiT表示xi的转置,yjT表示yj的转置,
基于所述虚拟2D图像表示,依次经过所述胶囊网络的卷积层、主胶囊层、卷积胶囊层、全连接胶囊层,来捕获在源语言句子x的条件下,生成器翻译的句子y'与人工翻译的句子y之间的相似程度。
所述虚拟2D图像表示,依次经过所述胶囊网络的卷积层、主胶囊层、卷积胶囊层、全连接胶囊层的具体过程为:
(1)经过卷积层,首先进行步长为1的、卷积核为9×9的卷积运算,通过如下的特征映射捕获x与y中句子之间的对应关系。
其中,f为第一次卷积运算的激活函数,
然后进行步长为1,卷积核为3×3的卷积运算,通过如下的特征映射捕获x与y中单词之间的对应关系。
其中,
经过两次卷积运算后分别得到两个大小不同的特征图
(2)进入主胶囊层即第一个胶囊层,对卷积层的输出进行如下计算
p=g(WbM+b1)
其中,g为通过整个向量的非线性挤压函数squash,M表示胶囊的输入,b1为胶囊的偏置,Wb为权重;在主胶囊层中,胶囊将卷积操作的标量输出替换为了矢量输出;
(3)通过动态路由算法代替最大池化,动态地加强或者减弱权重来得到有效的特征;
(4)进入卷积胶囊层;在该层以后,上一层的所有胶囊都改成一些列胶囊,通过动态路由算法进一步动态的加强或者减弱权重,从而获得更有效的特征;
(5)进入全连接胶囊层,将所有提取到的特征进行连接;
(6)将所有的特征输入到多层感知器中,使用激活函数得到生成器生成的数据集(x,y')为真实数据(x,y)的概率即与真实句子的相似程度。
所述生成对抗网络的最终训练目标是:
其中:G表示生成器,D表示鉴别器,V(D,G)表示生成器G和鉴别器D的损失函数,
过程中:
对蒙古语语料格的附加成分进行处理,方法如下:
将蒙古语句子中的控制符与格的附加成分一同去除,只留下词干部分;
对蒙古语语料进行不同粒度的切分,对汉语进行分字处理,以缓解蒙汉机器翻译中的UNK现象,通过对蒙古文格的附加成分进行处理来进一步提高蒙汉机器翻译的质量。
切分方法如下:
(1)首先将所需预处理的语料以最小的单元切分开,对于蒙古语而言,最小的单元为蒙古语字母。
(2)然后对语料中所有相邻的最小单元组合出现的次数进行统计并且排序,找出出现频率最高的组合,并将这些组合加入到词典中同时删除掉词典中频率最低的词使词典的大小保持不变。
(3)重复步骤(1)(2),直至词典里的词在自身语料库中出现的频率都高于设定值;
神经机器翻译(Neural machine translation,NMT)在端到端的框架上取得了较好的翻译效果,但是最好的NMT系统和人们的期望任有较大的差距。相较于此,本发明可最小化人类翻译与NMT模型给出的翻译之间的区别、缓解蒙汉机器翻译中的数据稀疏问题以及缓解蒙汉机器翻译中的UNK现象,不仅得到了高质量的蒙汉机器翻译系统,同时也得到了大量的蒙汉平行数据集。
附图说明
图1为优化Transformer1架构。
图2为优化Transformer2架构。
图3为生成器框架。
图4为鉴别器框架。
具体实施方式
下面结合附图和实施例详细说明本发明的实施方式。
本发明利用生成对抗网络构造蒙汉平行语料提高蒙汉翻译质量的方法,主要包括编码器和解码器的构建以及鉴别器模型的构建。
图1所示为优化Transformer1架构。在原Transformer的基础上首先加入了门控线性单元,有效的获取源语言句子中的重要信息并舍弃多余信息;其次加入了分支结构,该结构可以有效地捕获源语言句子之间的多样化语义信息;最后,在分支结构上以及第三个层标准化之后加入了胶囊网络,使编码器可以捕获到源语言句子中词的准确位置,进一步强化编码器的准确性。
图2所示为优化Transformer2架构。在原Transformer的基础上首先加入了分支结构;其次加入了胶囊网络;最后加入了Swish激活函数,该激活函数的加入可以有效地提高解码器解码的准确率。
图3所示为生成器框架。主要由混合编码器、稀疏注意力及解码器3大部分组成,编码器接受输入的蒙古语句子如:
图4所示为胶囊网络的框架,包括卷积层、主胶囊层、卷积胶囊层、全连接胶囊层等。其中卷积层包括两层,一层捕获句子级别的特征,另外一层捕获单词级别的特征,实现所述的多尺度鉴别功能。
蒙汉机器翻译中的数据稀疏问题的缓解:
生成对抗网络中生成器的加入可以有效的缓解蒙汉机器翻译中目前存在的数据稀疏问题,具体的,首先通过蒙汉对齐语料对生成器进行预训练,得到预训练模型后,借助该模型利用蒙古语单语数据生成蒙汉伪双语数据,然后在鉴别器的协助下,生成更加接近人工翻译的汉语句子,形成蒙汉对齐语料。
蒙汉机器翻译译文的准确性以及自然性的提高:
生成器生成的汉语句子往往是比较生硬、不自然的,此发明中,鉴别器相当于生成器的老师,协助生成器生成更加自然准确的汉语句子。多尺度鉴别器表示老师具有从多方面判断生成器生成的句子与人工译文是否相似的能力。
决策变量:在生成器的编码器端输入的蒙古语句子x,在生成器的解码器端输出对应的机器翻译的汉语句子y。在鉴别器的输入端输入的蒙古语句子x、对应的人工翻译的汉语句子y以及对应的生成器翻译的汉语句子y′
本发明包括以下部分:
1、基于生成对抗网络的蒙汉神经机器翻译系统模型,包括以下几个部分:
A.基于生成对抗网络的蒙汉神经机器翻译系统生成器中混合编码器描述:混合编码器由句子编码器和单词编码器融合而成,单词编码器和句子编码器先后将源语言句子进行编码,其中,单词编码器将每个单词表示成向量形式,构建以单词为基本单元的蒙古语句子的向量表示,其模型公式为:
h1i=Φ(h1i-1,Wi)
其中,Φ为激活函数,Wi为权重,h1i-1为第i-1个字的隐层状态。
句子编码器将一整个蒙古语句子表示成向量形式,构建以句子为基本单元的向量表示。所述句子编码器中,双向优化Transformer1一次性读取整个文本序列,即基于句子的两侧学习,从而能够学习到句子之间的上下文关系并且实现并行化。其模型公式为:
其中,vj表示第j个字的Value(值),
其中,αi,j的计算如下式所示:
其中,qi为第i各字的query(查询),kj为第j个字的键(key),·表示点积运算,d表示q和k的维度。
最后通过融合函数进行融合得到编码为带有上下文信息的向量表示。融合函数如下式所示:
ψ(h1i,h2i)=a1h1i+a2h2i
其中,ψ为融合函数,a1,a2表示两种编码器通过随机初始化的相应权重,通过两种粒度编码融合成包含句子、单词两种向量信息的编码器。
B.基于生成对抗网络的蒙汉神经机器翻译系统生成器中解码器描述:解码器由双向优化transformer2组成,优化Transformer2与编码器中的优化Transformer1结构基本类似,不同的是,该部分的优化Transformer中加入了Swish激活函数。解码器在解码的过程中结合稀疏注意力机制将源语言句子的向量表示解码为目标语言句子。
C.基于生成对抗网络的蒙汉神经机器翻译系统鉴别器描述:所述鉴别器为多尺度鉴别器,该结构不仅可以鉴别生成器生成的汉语句子的大体句意,而且还可以鉴别生成器生成的汉语句子的细节信息(例如短语和单词等),可以协助生成器生成更加接近真实翻译的句子。所述多尺度鉴别器使用胶囊网络来实现,胶囊网络包括卷积层、主胶囊层、卷积胶囊层和全连接胶囊。为了使用一个网络表示多个鉴别器,提高训练效率,在卷积层中,不同子层的激活值代表不同粒度句子的激活值,低层的激活值表示单词的激活值,高层的激活值表示整个句子的激活值,最后将不同层的特征映射变换到通道数为1的同尺度特征映射。具体的,给定句子对(x,y),每个胶囊网络首先通过连接x和y中单词的嵌入向量来构造类似2D图像的表示,即对于源语言句子x中的第i个词xi和目标语言句子y中的第j个词yj,有如下的对应关系:
其中:xiT表示xi的转置,yjT表示yj的转置,
基于这样的虚拟2D图像表示,依次经过所述胶囊网络的卷积层、主胶囊层、卷积胶囊层、全连接胶囊层来捕获在源语言句子x的条件下,生成器翻译的句子y′与人工翻译的句子y之间的相似程度。具体过程为:
(1)经过卷积层,首先进行步长为1的、卷积核为9×9的卷积运算,通过如下的特征映射捕获x与y中句子之间的对应关系。
其中,f为第一次卷积运算的激活函数,
然后进行步长为1,卷积核为3×3的卷积运算,通过如下的特征映射捕获x与y中单词之间的对应关系。
其中,
经过两次卷积运算后分别得到两个大小不同的特征图
(2)进入主胶囊层,对卷积层的输出进行如下计算。
p=g(WbM+b1)
其中,g为通过整个向量的非线性挤压函数squash,M表示胶囊的输入,b1为胶囊的偏置,Wb为权重。
这是第一个胶囊层,在这个胶囊层中,胶囊将卷积操作的标量输出替换为了矢量输出。
(3)通过动态路由算法代替最大池化,动态的加强或者减弱权重来得到有效的特征。
(4)进入卷积胶囊层。在这一层以后,上一层的所有胶囊都改成一些列胶囊,通过动态路由算法进一步动态的加强或者减弱权重,从而获得更有效的特征。
(5)进入全连接胶囊层,将所有提取到的特征进行连接。
(6)将所有的特征输入到多层感知器中,使用激活函数得到生成器生成的数据集(x,y')为真实数据(x,y)的概率。
2、优化的蒙汉机器翻译模型,包括以下部分:
A.对蒙古语进行BPE处理
现行蒙古文是一种纯粹的拼音文字,它在拼音的方法上与西欧以及世界各地的主要拼音文字没有什么不同,BPE技术是一种通过统计邻近字符出现频率对拼音文字进行切分的算法,出现频率较高的连续字符被认为是一个组合。一般情况下,蒙古文中的各种词根词缀就是出现频率较高的蒙古文字符组合,因此本发明将BPE算法应用在对蒙古文的切分上。具体算法描述如下:
(1)首先将所需预处理的语料以最小的单元切分开,对于蒙古语而言,最小的单元为蒙古语字母。
(2)然后对语料中所有相邻的最小单元组合出现的次数进行统计并且排序,找出出现频率最高的组合,并将这些组合加入到词典中同时删除掉词典中频率最低的词使词典的大小保持不变。
(3)重复步骤(1)(2),直至词典里的词在自身语料库中出现的频率都是较高的。
B.去除蒙古语中格的附加成分
在蒙古语语料中,蒙古文空格与普通空格之间的成分被标注为格的附加成分。蒙古文的词与词之间需要格的附加成分,格的附加成分本身仅有语法意义而无语义。蒙古文加上格的附加成分之后,句子才能变得通顺。在蒙汉机器翻译中,如果不对格的附加成分进行处理,机器翻译模型会将蒙古文空格识别为普通的空格进行处理,从而容易使一个蒙古文词从中间被切分开来而被识别成两个词甚至多个词。这会使蒙古文句子长度明显增长而影响翻译质量和最终的BLEU测评。因此,本发明将蒙古语句子中的控制符与格的附加成分一同去除,只留下词干部分。
C.对汉语进行分字处理
汉语属于汉藏语系,每句话只由单个的字和标点符号构成,这样计算机在处理的时候只能将整句话看成一个单元,不利于计算机的计算与处理,因此在蒙汉机器翻译模型训练之前需要对汉语语料进行分隔处理,本发明采用对汉语进行分字的方法。
本发明的整体流程如下:
(1)搭建生成对抗网络中生成器的混合编码器
(2)搭建生成对抗网络中生成器的解码器
(3)搭建生成对抗网络中的鉴别器
(4)对蒙古语语料进行格的处理
(5)对蒙古语语料进行不同粒度的切分
(6)对汉语进行分字处理
(7)训练生成器
(8)通过训练好的生成器模型生成消极数据
(9)训练鉴别器
(10)进行对抗训练
(11)对所得蒙汉机器翻译模型的BLEU值进行测试。
机译: 希蒙诺·汉格
机译: 希蒙诺·汉格
机译: 希蒙诺·汉格