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

技术编号:37858995 阅读:14 留言:0更新日期:2023-06-15 20:49
本申请提供一种翻译方法及装置、翻译模型的训练方法及装置,用于翻译模型,所述翻译模型包括编码层和解码层,所述解码层包括m个顺次连接的第二堆栈层组,其中,m≥2;所述翻译方法包括:根据输入的待翻译语句,确定编码层的输出向量;将编码层的输出向量分别输入m个第二堆栈层组,得到每个第二堆栈层组的输出向量;将m个第二堆栈层组的输出向量进行聚合,得到解码层的解码向量,并根据所述解码层的解码向量得到翻译语句,从而实现第二堆栈层组的输出向量之间的聚合,最终提升翻译模型的性能。最终提升翻译模型的性能。最终提升翻译模型的性能。

【技术实现步骤摘要】
一种翻译方法及装置、翻译模型的训练方法及装置


[0001]本申请涉及人工智能
,特别涉及一种翻译方法及装置、翻译模型的训练方法及装置、计算设备和计算机可读存储介质。

技术介绍

[0002]随着计算机运算能力的提升,神经网络的应用越来越广泛,例如构建翻译模型,以实现源语言到目标语言的转换。一般地,翻译模型的架构包括:编码层(encoder)—解码层(decoder)。编码层实现对待翻译的源语句进行编码生成向量,解码层实现对源语句的向量进行解码生成对应的目标语句。
[0003]翻译模型是利用训练集进行优化,获得一个对于全体训练集数据的训练好的模型,然后使用训练好的翻译模型对新输入的语句进行编码和解码,从而获得新输入的语句对应的翻译语句。
[0004]传统的翻译模型大多会使用卷积神经网络(Convolutional Neural Networks,CNN)模型或循环神经网络(Recurrent Neural Networks,RNN)模型作为编码层—解码层的模型基础。谷歌的基于注意力机制的翻译模型并没有用任何CNN或者RNN的结构,该模型可以高度并行地工作,所以在提升翻译性能的同时训练速度也特别快。
[0005]参见图1,图1为现有的一种谷歌翻译模型的架构。谷歌翻译模型分为编码层和解码层两部分。编码层由6个相同的编码堆栈层叠加于一起,解码层由6个相同的解码堆栈层叠加于一起。最底层的编码堆栈层接收输入的语句向量,其他的编码堆栈层的输入向量源自于上一个编码堆栈层的输出向量。将最后一个编码堆栈层的输出向量作为解码层的输入向量输入至每个解码堆栈层。
[0006]现有技术的方法,每个编码堆栈层的输入依赖于前一个编码堆栈层的输出向量,每个编码堆栈层的输出即为该编码堆栈层的编码向量;每个解码堆栈层的输入依赖于前一个解码堆栈层的输出向量,每个解码堆栈层的输出即为该解码堆栈层的解码向量。并没有对编码向量或解码向量之间的信息进行高效地聚合,这会对最终的翻译效果造成不利的影响。

技术实现思路

[0007]有鉴于此,本申请实施例提供了一种翻译方法及装置、翻译模型的训练方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
[0008]本申请实施例公开了一种翻译方法,用于翻译模型,所述翻译模型包括编码层和解码层,所述解码层包括m个顺次连接的第二堆栈层组,其中,m≥2;
[0009]所述方法包括:
[0010]根据输入的待翻译语句,确定编码层的输出向量;
[0011]将编码层的输出向量分别输入m个第二堆栈层组,得到每个第二堆栈层组的输出向量;
[0012]将m个第二堆栈层组的输出向量进行聚合,得到解码层的解码向量,并根据所述解码层的解码向量得到翻译语句。
[0013]可选地,所述编码层包括第一隐藏层和a个顺次连接的第一堆栈层,其中,a为大于1的正整数;
[0014]根据输入的待翻译语句,得到每个第一堆栈层对应的输出向量,包括:
[0015]S102、将所述待翻译语句输入至所述第一隐藏层,生成第一向量;
[0016]S104、将所述第一向量输入至第1个第一堆栈层,得到第1个所述第一堆栈层的输出向量;
[0017]S106、将第b

1个所述第一堆栈层的输出向量输入至第b个第一堆栈层,得到第b个所述第一堆栈层对应的输出向量,其中2≤b≤a;
[0018]S108、将b自增1,判断自增1后的b是否大于a,若是,则结束,若否,继续执行步骤S106。
[0019]可选地,所述翻译模型包括:线性层、全连接层和归一化层;
[0020]将所述第一堆栈层对应的输出向量进行聚合,得到每个第一堆栈层对应的编码向量,包括:
[0021]将a个第一堆栈层的输出向量经过线性层聚合,得到a个第一堆栈层的线性向量;
[0022]将a个第一堆栈层的线性向量经过全连接层处理,得到每个第一堆栈层对应的全连接向量;
[0023]将每个第一堆栈层对应的全连接向量经过归一化层处理,得到每个第一堆栈层对应的编码向量。
[0024]可选地,解码层中,每个第二堆栈层组包括至少两个第二堆栈层分组,每个第二堆栈层分组包括至少两个第二堆栈层;
[0025]将编码层的输出向量分别输入m个第二堆栈层组,得到每个第二堆栈层组的输出向量,包括:
[0026]将编码层的输出向量分别输入所述至少两个第二堆栈层,通过所述至少两个第二堆栈层的输出向量,得到所述至少两个第二堆栈层分组的输出向量;
[0027]通过所述至少两个第二堆栈层分组的输出向量,得到每个第二堆栈层组的输出向量。
[0028]可选地,所述解码层包括第二隐藏层;
[0029]将编码层的输出向量输入m个第二堆栈层组,得到每个第二堆栈层组的输出向量,包括:
[0030]S202、将编码层的输出向量和所述待翻译语句对应的参考向量输入第1个第二堆栈层组,得到第1个第二堆栈层组的输出向量;
[0031]S204、将编码层的输出向量和第i

1个第二堆栈层组的输出向量输入第i个第二堆栈层组,得到第i个第二堆栈层组的输出向量;其中,2≤i≤m;
[0032]S206、将i自增1,判断自增1后的i是否大于m,若是,则结束,若否,继续执行步骤S204。
[0033]可选地,所述编码层的输出向量为至少两个;
[0034]步骤S202包括:将编码层的至少一个输出向量和所述待翻译语句对应的参考向量
输入第1个第二堆栈层组,得到第1个第二堆栈层组的输出向量;
[0035]步骤S204包括:将编码层的至少一个输出向量和第i

1个第二堆栈层组的输出向量输入第i个第二堆栈层组,得到第i个第二堆栈层组的输出向量。
[0036]可选地,每个第二堆栈层组包括n个第二堆栈层分组;
[0037]所述步骤S202包括:
[0038]S302、将编码层的输出向量和所述待翻译语句对应的参考向量输入第1个第二堆栈层分组,得到第1个第二堆栈层分组的输出向量;
[0039]S304、将编码层的输出向量和第j

1个第二堆栈层分组的输出向量输入第j个第二堆栈层分组,得到第j个第二堆栈层分组的输出向量,其中,2≤j≤n;
[0040]S306、将j自增1,判断自增1后的j是否大于n,若是,则执行步骤S308,若否,继续执行步骤S304;
[0041]S308、将n个第二堆栈层分组的输出向量进行聚合,得到第1个第二堆栈层组的输出向量。
[0042]可选地,所述编码层的输出向量为至少两个;
[0043]步骤S302包括:将编码层的至少一个输出向量和所述待翻译语句对应的参考向量输入第1个第二堆栈层分组,得到第1个第二堆栈层分组的输出向量;
[0044]步骤S304包括:将编码层的至少一个输出向量和第j...

【技术保护点】

【技术特征摘要】
1.一种翻译方法,其特征在于,用于翻译模型,所述翻译模型包括编码层和解码层,所述解码层包括m个顺次连接的第二堆栈层组,其中,m≥2;所述方法包括:根据输入的待翻译语句,确定编码层的输出向量;将编码层的输出向量分别输入m个第二堆栈层组,得到每个第二堆栈层组的输出向量;将m个第二堆栈层组的输出向量进行聚合,得到解码层的解码向量,并根据所述解码层的解码向量得到翻译语句。2.如权利要求1所述的翻译方法,其特征在于,所述编码层包括第一隐藏层和a个顺次连接的第一堆栈层,其中,a为大于1的正整数;根据输入的待翻译语句,确定编码层的输出向量,包括:S102、将所述待翻译语句输入至所述第一隐藏层,生成第一向量;S104、将所述第一向量输入至第1个第一堆栈层,得到第1个所述第一堆栈层的输出向量;S106、将第b

1个所述第一堆栈层的输出向量输入至第b个第一堆栈层,得到第b个所述第一堆栈层对应的输出向量,其中2≤b≤a;S108、将b自增1,判断自增1后的b是否大于a,若是,则结束,若否,继续执行步骤S106。3.如权利要求2所述的翻译方法,其特征在于,所述翻译模型包括:线性层、全连接层和归一化层;S108之后,还包括:将a个第一堆栈层的输出向量经过线性层聚合,得到a个第一堆栈层的线性向量;将a个第一堆栈层的线性向量经过全连接层处理,得到每个第一堆栈层对应的全连接向量;将每个第一堆栈层对应的全连接向量经过归一化层处理,得到每个第一堆栈层对应的编码向量。4.如权利要求1所述的翻译方法,其特征在于,所述解码层中,每个第二堆栈层组包括至少两个第二堆栈层分组,每个第二堆栈层分组包括至少两个第二堆栈层;将编码层的输出向量分别输入m个第二堆栈层组,得到每个第二堆栈层组的输出向量,包括:将编码层的输出向量分别输入所述至少两个第二堆栈层,通过所述至少两个第二堆栈层的输出向量,得到所述至少两个第二堆栈层分组的输出向量;通过所述至少两个第二堆栈层分组的输出向量,得到每个第二堆栈层组的输出向量。5.如权利要求1所述的翻译方法,其特征在于,所述解码层包括第二隐藏层;将编码层的输出向量分别输入m个第二堆栈层组,得到每个第二堆栈层组的输出向量,包括:S202、将编码层的输出向量和所述待翻译语句对应的参考向量输入第1个第二堆栈层组,得到第1个第二堆栈层组的输出向量;S204、将编码层的输出向量和第i

1个第二堆栈层组的输出向量输入第i个第二堆栈层组,得到第i个第二堆栈层组的输出向量;其中,2≤i≤m;S206、将i自增1,判断自增1后的i是否大于m,若是,则结束,若否,继续执行步骤S204。
6.如权利要求5所述的翻译方法,其特征在于,所述编码层的输出向量为至少两个;步骤S202包括:将编码层的至少一个输出向量和所述待翻译语句对应的参考向量输入第1个第二堆栈层组,得到第1个第二堆栈层组的输出向量;步骤S204包括:将编码层的至少一个输出向量和第i

1个第二堆栈层组的输出向量输入第i个第二堆栈层组,得到第i个第二堆栈层组的输出向量。7.如权利要求5所述的翻译方法,其特征在于,每个第二堆栈层组包括n个第二堆栈层分组,其中,n≥2;所述步骤S202包括:S302、将编码层的输出向量和所述待翻译语句对应的参考向量输入第1个第二堆栈层分组,得到第1个第二堆栈层分组的输出向量;S304、将编码层的输出向量和第j

1个第二堆栈层分组的输出向量输入第j个第二堆栈层分组,得到第j个第二堆栈层分组的输出向量,其中,2≤j≤n;S306、将j自增1,判断自增1后的j是否大于n,若是,则执行步骤S308,若否,继续执行步骤S304;S308、将n个第二堆栈层分组的输出向量进行聚合,得到第1个第二堆栈层组的输出向量。8.如权利要求7所述的翻译方法,其特征在于,所述编码层的输出向量为至少两个;步骤S302包括:将编码层的至少一个输出向量和所述待翻译语句对应的参考向量输入第1个第二堆栈层分组,得到第1个第二堆栈层分组的输出向量;步骤S304包括:将编码层的至少一个输出向量和第j

1个第二堆栈层分组的输出向量输入第j个第二堆栈层分组,得到第j个第二堆栈层分组的输出向量。9.如权利要求5所述的翻译方法,其特征在于,每个第二堆栈层组包括n个第二堆栈层分组,其中,n≥2;所述步骤S204包括:S402、将编码层的输出向量和第i

1个第二堆栈层组的输出向量输入第1个第二堆栈层分组,得到第1个第二堆栈层分组的输出向量;S404、将编码层的输出向量和第j

1个第二堆栈层分组的输出向量输入第j个第二堆栈层分组,得到第j个第二堆栈层分组的输出向量,其中,2≤j≤n;S406...

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

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

1