法律状态公告日
法律状态信息
法律状态
2020-07-17
授权
授权
2019-04-16
实质审查的生效 IPC(主分类):G06F17/28 申请日:20181025
实质审查的生效
2019-03-22
公开
公开
技术领域
本发明属于机器翻译技术领域,特别涉及一种基于编码器-解码器的神经网络蒙汉机器翻译方法。
背景技术
神经机器翻译(NMT)自首次被提及以来,已在机器翻译领域取得了巨大成就,它全面优于统计机器翻译(SMT),快速成为在线翻译系统的主流标配。
市面上的神经机器翻译系统越来越多,国外的谷歌和国内的腾讯、阿里巴巴、百度、搜狗、科大讯飞等针对机器翻译都进行了大量的研究,取得了显著的研究成果,稀少资源语言和少数民族语言的机器翻译任务也越来越受道重视。
蒙古语属黏着语,主要使用者在蒙古国、中国蒙古族聚居区和俄罗斯联邦西伯利亚联邦管区。蒙古语有传统蒙古文和西里尔蒙古文,我们所研究的蒙汉翻译,特指的是传统蒙古文到汉语的翻译。蒙汉机器翻译研究不仅可以促进民族文化传播和多民族人民交流,而且有利于稀少资源和少数民族语言机器翻译的研究。然而,由于人才匮乏,资源短缺等原因,蒙汉机器翻译的性能质量还是比较落后。因此,如何提高汉蒙机器翻译的性能是我们研究的难点与创新点。
基于编码器-解码器结构的神经网络模型已被越来越多地用于序列到序列的任务,包括神经机器翻译,如图1所示,在这个框架中,编码器将长度为Lx的源语言x逐词编码并得到相应的隐藏状态{h1,h2,...hLx},解码器则根据编码器的输出逐词解码。
使用流程:首先,编码器将源语言文本构建的词向量转变为有相关语义特征信息的低维稠密的中间向量表示,然后解码器将中间向量进行解码预测,转换为目标语言。
其中,x表示源语言;Lx表示输入的源语言句子词语的长度;{h1,h2,...hLx}表示编码器的网络隐藏层状态。
所述翻译解码模型建模的公式为:
其中,x表示当前输入端的源语言;y表示源语言x在语料库里所对应的标签;m表示源语言句子词语的长度;yi表示解码器产生的第i个单词;θ表示需要优化的参数;P代表源语言x通过模型生成目标语言y的概率。
但是这种模型存在一些问题,如:在生成单词的时候,不能利用目标语言整体的信息,只能利用已经生成的单词来预测后续单词。即,当解码器产生第i个单词yi时,仅有单词y<i可以被利用,而单词y>i是没有被考虑的。然而,人类在认知的时候,过去的信息和将来可能的信息都是被考虑进来的,并且会经过一个迭代的过程不断更新认识。由此,现有模型的翻译性能还不够完善。
发明内容
为了克服上述现有技术存在的翻译准确率低的缺点,本发明的目的在于提供一种基于编码器-解码器的神经网络蒙汉机器翻译方法,结合编码器-解码器神经网络结构和蒙古文语言特点,通过基于seq2seq的架构中使用在编码器的隐藏层采用带有注意力机制的“回顾”步骤和双层解码器的蒙汉机器翻译框架来完善蒙汉机器翻译系统。同时,利用细化翻译粒度和构建蒙汉专有词汇词典来减少未登录词,提高蒙汉机器翻译的性能,达到较好蒙汉翻译准确率的目标。
为了实现上述目的,本发明采用的技术方案是:
一种基于编码器-解码器的神经网络蒙汉机器翻译方法,其特征在于,所述编码器-解码器由一个编码器E和双层解码器D1和D2构成,编码器E将源语言蒙文编码成一个向量列表,其中每个向量都表示了到目前为止所有被读取到的词的含义,在解码过程中,先由解码器D1得到softmax前的隐含状态和草稿句子,然后解码器D2以编码器E和解码器D1的隐含状态作为输入,得到第二道序列,即最终的译文。
在利用编码器-解码器翻译之前,先选取蒙汉双语语料的语料库,对蒙汉双语语料库进行预处理。
所述对蒙汉双语语料库进行预处理是先对汉语语料库进行分字处理,进行字节层面的翻译,对蒙古语词汇进行词干、词缀和格的附加成分切分,然后采用单词片段的切词方式(BPE)处理蒙汉双语语料库,细化翻译粒度来减少未登录词,最后使用Word2vec构建蒙汉双语词向量。
对于蒙汉双语语料库中的未登录词,细化翻译粒度和构建蒙汉双语专有词汇词典。
在编码器E的隐藏层采用带有注意力机制的“回顾”步骤,在得到向量后,解码器就开始工作,把所有的注意力操作都应用在这些“回顾”向量上。
所述编码器E基于原始词嵌入和来自词之间顺序的上下文信息为源句的每个词Lx生成词表征,这些表征组成序列h,编码器E读取源语言(词向量)x后,通过自我注意力输出带有隐藏状态的序列h;在编码器的隐藏状态中使用若干带有注意力的“回顾”步骤,在每一次“回顾”后输出向量,第一阶段解码器D1把“回顾”向量作为输入,执行第一阶段解码,得到用于生成
第二阶段解码器D2以来自编码器E和解码器D1的隐含状态都作为自己的输入。
编码器E的“回顾”工作流程,假设i时刻“回顾”得到的“回顾”向量为fi,T为超参数,指定“回顾”步骤的数量。在编码器隐藏状态H上执行T次“回顾”步骤,并在每一次之后输出一个“回顾”向量fi。定义如下:
fi=gi(H,fi-1)
即i时刻“回顾”得到的“回顾”向量和编码端的所有隐状态H以及上一步的“回顾”向量相关。
其中,H表示编码器E神经网络隐藏层状态,fi表示i时刻得到的“回顾”向量。fi-1表示i-1时刻得到的“回顾”向量。
其中,H表示编码器E神经网络隐藏层状态;fi-1表示i-1时刻得到的“回顾”向量;
其中:fi′是第i时刻的LSTM单位;0表示0向量;W表示模型矩阵的参数;
F={fi}i
其中,F表示输出的“回顾”向量集。
所述编码器E以及第一阶段解码器D1和第二阶段解码器D2构成均为多层神经网络,第一阶段解码器D1和第二阶段解码器D2均包含了一个注意力模型,编码器E和第一阶段解码器D1以注意力机制连接。
在第j时刻,第一阶段解码器D1的注意力模型首先生成一个上下文ω,定义如下:
获得
其中,ω表示第一阶段解码器D1的注意力模型生成的上下文;Lx表示输入的源语言词语的长度;χi表示D1阶段的注意力模型分配的自适应权重;φ、λ0和λ1表示待学习的参数;
在时刻t,第二阶段解码器D2的注意力模型生成的上下文υ,定义如下:
st=RNN([ο;υ;y′t-1];st-1)
获得st以后,[st;ο;υ;y′t-1]进行全连接网络,并最终得到y′t。
其中,υ表示第二阶段解码器D2的注意力模型生成的上下文;ο表示编码端的上下文信息;γj表示D2阶段的注意力模型分配的自适应权重;φ1、k1和k2表示待学习参数;st表示第二阶段解码器D2在t时刻的神经网络隐藏层状态,y′t-1表示第二阶段解码器D2在t-1时刻生成的单词。
翻译的目标函数表示为:
其中:θe表示编码器E需要优化的参数,θ1表示第一阶段解码器D1需要优化的参数,θ2表示第二阶段解码器D2需要优化的参数,y′表示经过模型翻译的译文,Y表示经过模型翻译的译文的集合,y表示语料库中正确的译文。
与现有技术相比,本发明的有益效果是:
在编码器的隐藏层采用带有注意力机制的“回顾”步骤,输出一些"回顾"向量,其能通过解码器的注意力机制来获取全局属性。总的来说,就是编码器所得的所有信息产生一个更加抽象,全局、紧密的向量,相比之前方法所得到隐藏层状态。
双层解码器,可在序列解码过程中同时检查句子前后的内容,从而可以利用全局信息,得到更为准确的译文。
对于蒙汉翻译来说,翻译过程中获得全局信息尤为重要,因为汉语的语法顺序为主-谓-宾(S-V-O)结构,而蒙语采用的语法顺序为主-宾-谓(S-O-V)结构。本技术同时利用在编码器的隐藏层采用带有注意力机制的“回顾”步骤和双层解码器能够来获得整体的信息,由此来改善翻译模型,有效地提高蒙汉翻译的质量。
附图说明
图1是现有技术中的编码-解码结构。
图2是本发明加入“回顾”部分编码-解码框架结构。
图3是本发明改进编码器端的“回顾”部分的实现结构。
图4是本发明双层解码器的编码-解码结构。
图5是本发明翻译流程示意图。
图6是本发明词缀切分示意图。
图7是本发明词干切分示意图。
具体实施方式
下面结合附图和实施例详细说明本发明的实施方式。
如图2所示,本发明同样基于编码-解码框架结构。不同之处在于,本发明蒙汉机器翻译系统的建模方案包含在编码器的隐藏层采用带有注意力机制的“回顾”步骤和双层解码器模型的建模:
(1)在编码器的隐藏层采用带有注意力机制的“回顾”步骤,输出一些“回顾”向量,其能通过解码器的注意力机制来获取全局属性,所得的所有信息能产生一个更加抽象,全局、紧密的向量,有效提高翻译质量。
通过在编码端上多次的基于注意机制的“回顾”操作,计算得到总结了输入信息的“回顾”向量的集合。这些“回顾”向量被用于解码端的注意机制的输入。
具体来说,在解码阶段开始前,首先在编码端的隐状态上进行多次的基于注意机制(attention mechanism)的操作,通过一串称为“回顾”的结构,并在每次操作后得到一个“回顾”向量。这些“回顾”向量被用于解码端的注意力机制的输入。“回顾”的数量由一个超参数控制,在得到“回顾”向量后,解码端将把所有的注意力操作都应用在这些“回顾”向量上,而不去对编码端的隐状态做注意力操作。通过在编码端上多次的基于注意机制的操作,计算得到总结了输入信息的“回顾”向量的集合。
(2)基于编码器-解码器的框架结构在生成序列的时候只生成一次,而没有反复“推敲”的过程。然而,对于蒙汉翻译来说,反复“推敲”的过程显得尤为重要,因为汉语的语法顺序为主-谓-宾(S-V-O)结构,而蒙语采用的语法顺序为主-宾-谓(S-O-V)结构;因此本发明采用了双层解码器,通过一个推敲过程可在序列解码过程中同时检查句子前后的内容,从而可以利用全局信息。具体而言,本发明采用了这样的编码器-解码器框架——它由一个编码器E以及第一阶段解码器(first-pass decoder)D1和第二阶段解码器(second-pass)D2构成,如图4所示。其中,编码器E以及第一阶段解码器D1和第二阶段解码器D2构成均为多层神经网络,第一阶段解码器D1和第二阶段解码器D2均包含了一个注意力模型,编码器E和第一阶段解码器D1以注意力机制连接。
具体地,本发明基于的系统包括以下部分:
1、机器翻译系统模型
(1)在编码器的隐藏状态中使用了若干带有注意力的“回顾”步骤,在每一次“回顾”后输出“回顾”向量,该“回顾”向量被用于解码器中的注意力机制中的输入从而来获取全局属性。具体来说,编码端的隐状态上进行多次的基于注意机制(attention mechanism)的“回顾”操作,并在每次“回顾”操作后得到一个“回顾”向量。这些“回顾”向量被用于解码端的注意机制的输入。
(2)编码器E会基于原始词嵌入和来自词之间顺序的上下文信息为源句的每个词Lx生成词表征,这些表征组成序列h。编码器E读取源语言蒙语(词向量)x后就可以通过自我注意力输出带有隐含状态的序列h。在编码器的隐藏状态中使用若干带有注意力的“回顾”步骤,在每一次“回顾”后输出“回顾”向量,第一阶段解码器D1把“回顾”向量作为输入,执行第一阶段的解码,得到用于生成
2、减少未登录词
(1)神经机器翻译除了模型层面的研究,也包括对翻译粒度的研究,更细粒度会减少未登录词。
a.在对蒙汉双语语料库进行预处理时,首先,对汉语语料库进行分字处理。进行字节层面(character-level)的翻译能够更加节省词表的空间,也就是,翻译的基本单位是字符。
b.蒙古文词形变化比较复杂,词干加词缀的方式构成蒙古文单词。同一个词干后面加一个或者多个词缀会构成不同的词汇,词缀同时也可以表达时态等等。格的附加成分是特殊的词缀。
为解决蒙古文形态复杂在翻译中造成的数据稀疏等问题,本发明采取了不同粒度的词缀切分,词干切分和格的附加成分的切分。
本发明主要采用基于词干、词缀和格的附加成分字典的切分。先建立词干词典、词缀词典、格的附加成分词典和切分规则库。
本发明结合蒙古语语法语义特征,对词干、词缀和格的附加成分采用不同粒度的切分,从一定程度上降低了训练数据的稀疏问题的影响。
c.接下来,采用基于单词片段的切词方式(Bype Pair Encoding,简记为BPE)处理蒙语语料和分字后的汉语语料;不经常出现的单词会被分割成更细粒度的经常出现的单词片段,进而减少未知单词,节省了词表的空间。
(2)构建蒙汉双语词典D,词典包括物理化学专有名词,人名,地名等等。当在翻译译文中出现未登录词时,首先去我们构建的蒙汉双语词典里寻找,以此来减少未登录词。
参考图5,本发明翻译过程如下:
1:蒙汉双语语料库进行预处理;
2:编码解码过程;
3:生成译文。
其中,预处理是在利用编码器-解码器翻译之前,先选取蒙汉双语语料的语料库S,对蒙汉双语语料库进行预处理。先对汉语语料库进行分字处理,进行字节层面的翻译,对蒙古语词汇进行词干词缀和格的附加成分不同粒度的切分,方法参考图6和图7,然后采用单词片段的切词方式(BPE)处理蒙汉双语语料库,以减少未登录词,最后使用Word2vec构建词向量。
预处理之后,编码器E将蒙文的词编码成一个向量列表,其中每个向量都表示了到目前为止所有被读取到的词的含义,一旦读取完整个句子,编码器端的“回顾”部分开始工作,在得到“回顾”向量后,解码器就开始工作,一次生成汉语句子中的一个词。解码端将把所有的注意力操作都应用在这些“回顾”向量上,而不去对编码端的隐状态做注意力操作。在解码过程中,先由第一阶段解码器D1得到softmax前的隐含状态以及草稿句子,然后以编码器E和第一阶段解码器D1的隐含状态作为第二阶段解码器D2的输入,最终通过推敲过程输出得到第二道序列,即较为准确的最终译文。
具体地,如图3所示,编码器端的“回顾”工作流程,假设i时刻“回顾”得到的“回顾”向量为fi,T为超参数,指定“回顾”步骤的数量。在编码器隐藏状态H上执行T次“回顾”步骤,并在每一次之后输出一个“回顾”向量fi。定义如下:
fi=gi(H,fi-1)
即i时刻“回顾”得到的“回顾”向量和编码端的所有隐状态H以及上一步的“回顾”向量相关。
其中,H表示编码器E神经网络隐藏层状态,fi表示i时刻得到的“回顾”向量。fi-1表示i-1时刻得到的“回顾”向量。
其中,H表示编码器E神经网络隐藏层状态;fi-1表示i-1时刻得到的“回顾”向量;
其中:fi′是第i时刻的LSTM单位;0表示0向量;W表示模型矩阵的参数;
F={fi}i
其中,F表示输出的“回顾”向量集。
与传统的编码-解码器架构相似,第一阶段解码器D1中包含了一个注意力模型。在第j时刻,第一阶段解码器D1的注意力模型首先生成一个上下文ω,定义如下:
获得
其中,ω表示第一阶段解码器D1的注意力模型生成的上下文;Lx表示输入的源语言词语的长度;χi表示D1阶段的注意力模型分配的自适应权重;φ、λ0和λ1表示待学习的参数;
在时刻t,第二阶段解码器D2的注意力模型生成的上下文υ,定义如下:
st=RNN([ο;υ;y′t-1];st-1)
获得st以后,[st;ο;υ;y′t-1]进行全连接网络,并最终得到y′t。
其中,υ表示第二阶段解码器D2的注意力模型生成的上下文;ο表示编码端的上下文信息;γj表示D2阶段的注意力模型分配的自适应权重;φ1、k1和k2表示待学习参数;st表示第二阶段解码器D2在t时刻的神经网络隐藏层状态,y′t-1表示第二阶段解码器D2在t-1时刻生成的单词。
具体地说,在时刻t,第二阶段解码器D2利用t-1时刻的神经网络隐藏层状态st-1,第二阶段解码器D2在t-1时刻生成的单词y′t-1,源上下文信息ο和第一次编码上下文信息υ作为输入,最终通过推敲过程的输出第二道序列y′。
翻译的目标函数可表示为:
其中:θe表示编码器E需要优化的参数,θ1表示第一阶段解码器D1需要优化的参数,θ2表示第二阶段解码器D2需要优化的参数,y′表示经过模型翻译的译文,Y表示经过模型翻译的译文的集合,y表示语料库中正确的译文。
机译: 基于准反现神经网络的编码器 - 解码器模型
机译: 使用基于神经网络模型的设计的纠错电路,包括编码器部分和解码器部分
机译: 一种用于基于DownMIX信号表示,音频信号解码器,音频信号变码器,音频信号编码器,音频方法,编码器和音频比特来提供一个或多个调整参数以提供UPMIX信号表示的设备信息