一种翻译方法及装置、翻译模型的训练方法及装置制造方法及图纸

技术编号:21399342 阅读:23 留言:0更新日期:2019-06-19 07:05
本申请提供一种翻译方法及装置、翻译模型的训练方法及装置,用于翻译模型,所述翻译模型包括编码层和解码层,所述翻译方法包括:将待翻译语句输入编码层,得到n个编码向量,其中,n为大于1的正整数;将所述n个编码向量中的m个编码向量输入至解码层,得到解码层输出的解码向量,并根据所述解码向量得到翻译语句,其中,1<m≤n,从而将多个编码向量输入至解码层,有效利用了编码层输出的编码向量的语句信息,并且使解码层在解码过程中融合了多个编码向量的语句信息,最终提升翻译模型的翻译性能。

【技术实现步骤摘要】
一种翻译方法及装置、翻译模型的训练方法及装置
本申请涉及人工智能
,特别涉及一种翻译方法及装置、翻译模型的训练方法及装置、计算设备和计算机可读存储介质。
技术介绍
随着计算机运算能力的提升,神经网络的应用越来越广泛,例如构建翻译模型,以实现源语言到目标语言的转换。一般地,翻译模型的架构包括:编码层(encoder)—解码层(decoder)。编码层实现对待翻译的源语句进行编码生成向量,解码层实现对源语句的向量进行解码生成对应的目标语句。翻译模型是利用训练集进行优化,获得一个对于全体训练集数据的训练好的模型,然后使用训练好的翻译模型对新输入的语句进行编码和解码,从而获得新输入的语句对应的翻译语句。传统的翻译模型大多会使用卷积神经网络(ConvolutionalNeuralNetworks,CNN)模型或循环神经网络(RecurrentNeuralNetworks,RNN)模型作为编码层—解码层的模型基础。谷歌的基于注意力机制的翻译模型并没有用任何CNN或者RNN的结构,该模型可以高度并行地工作,所以在提升翻译性能的同时训练速度也特别快。参见图1,图1为现有的一种谷歌翻译模型的架构。谷歌翻译模型分为编码层和解码层两部分。编码层由6个相同的编码堆栈层叠加于一起,解码层由6个相同的解码堆栈层叠加于一起。最底层的编码堆栈层接收输入的语句向量,其他的编码堆栈层的输入向量源自于上一个编码堆栈层的输出向量。将最后一个编码堆栈层的输出向量作为解码层的输入向量输入至每个解码堆栈层。现有技术的方法,解码层生成的解码向量只依赖于编码层输出的单个编码向量,对于其他蕴含有丰富的语义语法信息的编码向量,却无法被有效利用,这会对最终的翻译效果造成不利的影响。
技术实现思路
有鉴于此,本申请实施例提供了一种翻译方法及装置、翻译模型的训练方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。本申请实施例公开了一种翻译方法,用于翻译模型,所述翻译模型包括编码层和解码层,所述方法包括:将待翻译语句输入编码层,得到n个编码向量,其中,n为大于1的正整数;将所述n个编码向量中的m个编码向量输入至解码层,得到解码层输出的解码向量,并根据所述解码向量得到翻译语句,其中,1<m≤n。可选地,所述编码层包括第一隐藏层和n个第一堆栈层,且n个第一堆栈层顺次连接;将待翻译语句输入编码层,得到n个编码向量,包括:S102、将所述待翻译语句输入至所述第一隐藏层,生成第一向量;S104、将所述第一向量输入至第1个第一堆栈层,得到第1个所述第一堆栈层的输出向量;S106、将第i-1个所述第一堆栈层的输出向量输入至第i个第一堆栈层,得到第i个所述第一堆栈层对应的输出向量,其中2≤i≤n;S108、将i自增1,判断自增1后的i是否大于n,若是,则执行步骤S110,若否,继续执行步骤S106;S110、根据n个第一堆栈层的输出向量,得到每个第一堆栈层对应的编码向量。可选地,将所述n个编码向量中的m个编码向量输入至解码层,包括:将n个第一堆栈层中的后m个第一堆栈层对应的编码向量输入至解码层。可选地,将第i-1个所述第一堆栈层的输出向量输入至第i个第一堆栈层,得到第i个所述第一堆栈层对应的输出向量,包括:将第i-1个所述第一堆栈层的输出向量输入至第i个第一堆栈层,得到第i个所述第一堆栈层的初始输出向量;根据第i个第一堆栈层的初始输出向量和第i-1个第一堆栈层的输出向量,得到第i个所述第一堆栈层对应的输出向量。可选地,所述翻译模型包括:线性层、全连接层和归一化层;根据n个第一堆栈层的输出向量,得到每个第一堆栈层对应的编码向量,包括:将n个第一堆栈层的输出向量经过线性层处理,得到n个第一堆栈层的线性向量;将n个第一堆栈层的线性向量经过全连接层处理,得到每个第一堆栈层对应的全连接向量;将每个第一堆栈层对应的全连接向量经过归一化层处理,得到每个第一堆栈层对应的编码向量。可选地,所述解码层包括第二隐藏层和p个第二堆栈层组,且所述p个第二堆栈层组顺次连接,其中,p≥2;将所述n个编码向量中的m个编码向量输入至解码层,得到解码层输出的解码向量,包括:将所述n个编码向量中的m个编码向量输入至所述p个第二堆栈层组,得到每个第二堆栈层组的输出向量,并根据所述p个第二堆栈层组的输出向量得到解码层的解码向量。可选地,将所述n个编码向量中的m个编码向量输入至所述p个第二堆栈层组,得到每个第二堆栈层组的输出向量,包括:S202、将所述待翻译语句对应的参考向量输入至所述第二隐藏层,生成第二向量;S204、将所述第二向量以及m个编码向量中的至少一个编码向量输入至第1个所述第二堆栈层组,得到第1个所述第二堆栈层组的输出向量;S206、将第j-1个所述第二堆栈层组的输出向量以及m个编码向量中的至少一个编码向量输入至第j个所述第二堆栈层组,得到第j个第二堆栈层组的输出向量,其中,2≤j≤p;S208、将j自增1,判断自增1后的j是否大于p,若是,则结束,若否,继续执行步骤S206。可选地,根据所述p个第二堆栈层组的输出向量得到解码层的解码向量,包括:将p个第二堆栈层组的输出向量进行聚合,得到解码层的解码向量。可选地,每个第二堆栈层组包括a个第二堆栈层分组;所述步骤S204包括:S302、将所述第二向量以及m个编码向量中的至少一个编码向量输入第1个第二堆栈层分组,得到第1个第二堆栈层分组的输出向量;S304、将m个编码向量中的至少一个编码向量和第b-1个第二堆栈层分组的输出向量输入第b个第二堆栈层分组,得到第b个第二堆栈层分组的输出向量,其中,2≤b≤a;S306、将b自增1,判断自增1后的b是否大于a,若是,则执行步骤S308,若否,继续执行步骤S304;S308、将a个第二堆栈层分组的输出向量进行聚合,得到第1个第二堆栈层组的输出向量。可选地,每个第二堆栈层分组包括c个第二堆栈层;步骤S302包括:S402、将所述第二向量以及m个编码向量中的其中一个输入第1个第二堆栈层,得到第1个第二堆栈层的输出向量;S404、将m个编码向量中的其中一个和第d-1个第二堆栈层的输出向量输入第d个第二堆栈层,得到第d个第二堆栈层的输出向量,其中,2≤d≤c;S406、将d自增1,判断自增1后的d是否大于c,若是,则执行步骤S408,若否,继续执行步骤S404;S408、将c个第二堆栈层的输出向量进行聚合,得到第1个第二堆栈层分组的输出向量。可选地,每个第二堆栈层组包括a个第二堆栈层分组;所述步骤S206包括:S502、将第j-1个所述第二堆栈层组的输出向量以及m个编码向量中的至少一个编码向量输入第1个第二堆栈层分组,得到第1个第二堆栈层分组的输出向量;S504、将m个编码向量中的至少一个编码向量和第b-1个第二堆栈层分组的输出向量输入第b个第二堆栈层分组,得到第b个第二堆栈层分组的输出向量,其中,2≤b≤a;S506、将b自增1,判断自增1后的b是否大于a,若是,则执行步骤S508,若否,继续执行步骤S504;S508、将a个第二堆栈层分组的输出向量进行聚合,得到第j个第二堆栈层组的输出向量。可选地,每个第二堆栈层分组包括c个第二堆栈层;步骤S502包括:S602、将第j-1个所述第二堆栈层本文档来自技高网
...

【技术保护点】
1.一种翻译方法,其特征在于,用于翻译模型,所述翻译模型包括编码层和解码层,所述方法包括:将待翻译语句输入编码层,得到n个编码向量,其中,n为大于1的正整数;将所述n个编码向量中的m个编码向量输入至解码层,得到解码层输出的解码向量,并根据所述解码向量得到翻译语句,其中,1<m≤n。

【技术特征摘要】
1.一种翻译方法,其特征在于,用于翻译模型,所述翻译模型包括编码层和解码层,所述方法包括:将待翻译语句输入编码层,得到n个编码向量,其中,n为大于1的正整数;将所述n个编码向量中的m个编码向量输入至解码层,得到解码层输出的解码向量,并根据所述解码向量得到翻译语句,其中,1<m≤n。2.如权利要求1所述的翻译方法,其特征在于,所述编码层包括第一隐藏层和n个第一堆栈层,且n个第一堆栈层顺次连接;将待翻译语句输入编码层,得到n个编码向量,包括:S102、将所述待翻译语句输入至所述第一隐藏层,生成第一向量;S104、将所述第一向量输入至第1个第一堆栈层,得到第1个所述第一堆栈层的输出向量;S106、将第i-1个所述第一堆栈层的输出向量输入至第i个第一堆栈层,得到第i个所述第一堆栈层对应的输出向量,其中2≤i≤n;S108、将i自增1,判断自增1后的i是否大于n,若是,则执行步骤S110,若否,继续执行步骤S106;S110、根据n个第一堆栈层的输出向量,得到每个第一堆栈层对应的编码向量。3.如权利要求2所述的翻译方法,其特征在于,将所述n个编码向量中的m个编码向量输入至解码层,包括:将n个第一堆栈层中的后m个第一堆栈层对应的编码向量输入至解码层。4.如权利要求2所述的翻译方法,其特征在于,将第i-1个所述第一堆栈层的输出向量输入至第i个第一堆栈层,得到第i个所述第一堆栈层对应的输出向量,包括:将第i-1个所述第一堆栈层的输出向量输入至第i个第一堆栈层,得到第i个所述第一堆栈层的初始输出向量;根据第i个第一堆栈层的初始输出向量和第i-1个第一堆栈层的输出向量,得到第i个所述第一堆栈层对应的输出向量。5.如权利要求2所述的翻译方法,其特征在于,所述翻译模型包括:线性层、全连接层和归一化层;根据n个第一堆栈层的输出向量,得到每个第一堆栈层对应的编码向量,包括:将n个第一堆栈层的输出向量经过线性层处理,得到n个第一堆栈层的线性向量;将n个第一堆栈层的线性向量经过全连接层处理,得到每个第一堆栈层对应的全连接向量;将每个第一堆栈层对应的全连接向量经过归一化层处理,得到每个第一堆栈层对应的编码向量。6.如权利要求1所述的翻译方法,其特征在于,所述解码层包括第二隐藏层和p个第二堆栈层组,且所述p个第二堆栈层组顺次连接,其中,p≥2;将所述n个编码向量中的m个编码向量输入至解码层,得到解码层输出的解码向量,包括:将所述n个编码向量中的m个编码向量输入至所述p个第二堆栈层组,得到每个第二堆栈层组的输出向量,并根据所述p个第二堆栈层组的输出向量得到解码层的解码向量。7.如权利要求6所述的翻译方法,其特征在于,将所述n个编码向量中的m个编码向量输入至所述p个第二堆栈层组,得到每个第二堆栈层组的输出向量,包括:S202、将所述待翻译语句对应的参考向量输入至所述第二隐藏层,生成第二向量;S204、将所述第二向量以及m个编码向量中的至少一个编码向量输入至第1个所述第二堆栈层组,得到第1个所述第二堆栈层组的输出向量;S206、将第j-1个所述第二堆栈层组的输出向量以及m个编码向量中的至少一个编码向量输入至第j个所述第二堆栈层组,得到第j个第二堆栈层组的输出向量,其中,2≤j≤p;S208、将j自增1,判断自增1后的j是否大于p,若是,则结束,若否,继续执行步骤S206。8.如权利要求6所述的翻译方法,其特征在于,根据所述p个第二堆栈层组的输出向量得到解码层的解码向量,包括:将p个第二堆栈层组的输出向量进行聚合,得到解码层的解码向量。9.如权利要求7所述的翻译方法,其特征在于,每个第二堆栈层组包括a个第二堆栈层分组;所述步骤S204包括:S302、将所述第二向量以及m个编码向量中的至少一个编码向量输入第1个第二堆栈层分组,得到第1个第二堆栈层分组的输出向量;S304、将m个编码向量中的至少一个编码向量和第b-1个第二堆栈层分组的输出向量输入第b个第二堆栈层分组,得到第b个第二堆栈层分组的输出向量,其中,2≤b≤a;S306、将b自增1,判断自增1后的b是否大于a,若是,则执行步骤S308,若否,继续执行步骤S304;S308、将a个第二堆栈层分组的输出向量进行聚合,得到第1个第二堆栈层组的输出向量。10.如权利要求9所述的翻译方法,其特征在于,每个第二堆栈层分组包括c个第二堆栈层;步骤S302包括:S402、将所述第二向量以及m个编码向量中的其中一个输入第1个第二堆栈层,得到第1个第二堆栈层的输出向量;S404、将m个编码向量中的其中一个和第d-1个第二堆栈层的输出向量输入第d个第二堆栈层,得到第d个第二堆栈层的输出向量,其中,2≤d≤c;S406、将d自增1,...

【专利技术属性】
技术研发人员:李长亮李国良郭馨泽唐剑波
申请(专利权)人:北京金山数字娱乐科技有限公司成都金山互动娱乐科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1