一种翻译方法及装置、计算设备、存储介质和芯片转让专利

申请号 : CN201811638114.3

文献号 : CN109710953B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李长亮唐剑波郭馨泽王怡然

申请人 : 成都金山互动娱乐科技有限公司北京金山数字娱乐科技有限公司

摘要 :

本申请提供一种翻译方法及装置、计算设备、存储介质和芯片,其中,所述方法包括:计算待翻译语句与第一语句的相似度,获得相似度高于阈值的第一语句以及与第一语句互为译文关系的第二语句;根据第一语句进行处理,得到第一编码向量,将第一编码向量输入至翻译模型的编码层;将待翻译语句输入翻译模型的编码层,以使编码层根据第一编码向量和待翻译语句生成第二编码向量,并将第二编码向量输入翻译模型的解码层;根据第二语句进行处理得到第一解码向量,将第一解码向量输入至解码层,以使解码层根据第一解码向量以及第二编码向量生成第二解码向量,并根据第二解码向量得到翻译语句。

权利要求 :

1.一种翻译方法,其特征在于,所述方法包括:

计算待翻译语句与第一语句的相似度,获得相似度高于阈值的第一语句以及与所述第一语句互为译文关系的第二语句;

根据第一语句进行处理,得到第一编码向量,将第一编码向量输入至翻译模型的编码层,其中,所述编码层包括至少一个编码堆栈层,每个编码堆栈层包括多头注意力机制子层和前馈网络层;

将待翻译语句输入待翻译模型的编码层,以使所述编码层根据所述第一编码向量和所述待翻译语句生成第二编码向量,并将所述第二编码向量输入翻译模型的解码层,其中,所述解码层包括至少一个解码堆栈层,每个解码堆栈层包括隐式多头注意力机制子层、多头注意力机制子层和前馈网络层;

根据第二语句进行处理,得到第一解码向量,将所述第一解码向量输入至解码层,以使所述解码层根据所述第一解码向量以及所述第二编码向量生成第二解码向量,并根据所述第二解码向量得到翻译语句。

2.如权利要求1所述的翻译方法,其特征在于,根据第一语句进行处理,得到第一编码向量,包括:将所述第一语句依次经由第一嵌入层和语句编码层进行编码,生成第一编码向量。

3.如权利要求1所述的翻译方法,其特征在于,根据第二语句进行处理,得到第一解码向量,包括:将所述第二语句依次经由第二嵌入层和语句解码层进行解码,生成第一解码向量。

4.如权利要求1所述的翻译方法,其特征在于,所述编码层包括第一嵌入层和一个编码堆栈层;

将第一编码向量输入至翻译模型的编码层,包括:

将第一编码向量输入至所述编码堆栈层;

将待翻译语句输入翻译模型的编码层,以使所述编码层根据所述第一编码向量和所述待翻译语句生成第二编码向量,包括:将待翻译语句输入第一嵌入层,以使所述第一嵌入层根据所述待翻译语句生成第一向量;

将所述第一向量输入所述编码堆栈层,以使编码堆栈层根据输入的第一向量和第一编码向量生成第二编码向量。

5.如权利要求4所述的翻译方法,其特征在于,所述编码堆栈层根据输入的第一向量和第一编码向量生成第二编码向量,包括:所述编码堆栈层将第一向量和第一编码向量进行比较得到第一编码向量中与第一向量的相同部分,并根据第一编码向量中与第一向量的相同部分以及所述第一向量得到层编码向量,并将所述编码堆栈层的层编码向量作为第二编码向量。

6.如权利要求4所述的翻译方法,其特征在于,所述编码堆栈层根据输入的第一向量和第一编码向量生成第二编码向量,包括:所述编码堆栈层将第一向量和第一编码向量进行比较得到第一编码向量中与第一向量的相同部分,并根据第一编码向量中与第一向量的相同部分以及所述第一向量得到层编码向量,并将所述编码堆栈层的层编码向量乘以权重系数生成第二编码向量。

7.如权利要求1所述的翻译方法,其特征在于,所述编码层包括第一嵌入层和n个编码堆栈层,且n个编码堆栈层顺次连接,其中,所述第一嵌入层和第一个编码堆栈层连接,n≥2且n为正整数;

将第一编码向量输入至翻译模型的编码层,包括:

将第一编码向量分别输入至所述编码层的n个编码堆栈层;

将待翻译语句输入翻译模型的编码层,以使所述编码层根据所述第一编码向量和所述待翻译语句生成第二编码向量,包括:S102、将待翻译语句输入第一嵌入层,以使所述第一嵌入层根据所述待翻译语句生成第一向量;

S104、将所述第一向量输入至第一个编码堆栈层,以使第一个编码堆栈层根据输入的第一编码向量以及第一向量输出层编码向量;

S106、将第i‑1个所述编码堆栈层的层编码向量输入至第i个编码堆栈层,以使第i个所述编码堆栈层根据输入的第一编码向量以及第i‑1个所述编码堆栈层的层编码向量输出层编码向量,其中2≤i≤n;

S108、将i自增1,判断自增1后的i是否大于n,若是,则执行步骤S110,若否,继续执行步骤S106;

S110、根据n个编码堆栈层输出的层编码向量得到第二编码向量。

8.如权利要求7所述的翻译方法,其特征在于,根据n个编码堆栈层输出的层编码向量得到第二编码向量,包括:将n个编码堆栈层输出的层编码向量分别乘以权重系数,再求和,得到一个第二编码向量。

9.如权利要求7所述的翻译方法,其特征在于,所述解码层包括m个解码堆栈层,且m个解码堆栈层顺次连接,其中,m≥2且m为正整数;

根据n个编码堆栈层输出的层编码向量得到第二编码向量,包括:将n个编码堆栈层输出的层编码向量分别乘以每个解码堆栈层对应的权重系数向量,得到每个解码堆栈层对应的第二编码向量。

10.如权利要求1所述的翻译方法,其特征在于,所述编码层包括第一嵌入层和n个编码堆栈层,且n个编码堆栈层顺次连接,其中,所述第一嵌入层和第一个编码堆栈层连接,n≥2且n为正整数;

将第一编码向量输入至翻译模型的编码层,包括:

将第一编码向量分别输入至所述编码层的n个编码堆栈层;

将待翻译语句输入翻译模型的编码层,以使所述编码层根据所述第一编码向量和所述待翻译语句生成第二编码向量,包括:S202、将待翻译语句输入第一嵌入层,以使所述第一嵌入层根据所述待翻译语句生成第一向量;

S204、将所述第一向量输入至第一个编码堆栈层,以使第一个编码堆栈层根据输入的第一编码向量以及第一向量输出层编码向量;

S206、将第i‑1个所述编码堆栈层输出的层编码向量输入至第i个编码堆栈层,以使第i个所述编码堆栈层根据输入的第一编码向量以及第i‑1个所述编码堆栈层的层编码向量输出层编码向量,其中2≤i≤n;

S208、将i自增1,判断自增1后的i是否大于n,若是,则执行步骤S210,若否,继续执行步骤S206;

S210、根据第n个编码堆栈层输出的层编码向量生成第二编码向量。

11.如权利要求10所述的翻译方法,其特征在于,根据第n个编码堆栈层输出的层编码向量生成第二编码向量,包括:将第n个编码堆栈层输出的层编码向量作为第二编码向量。

12.如权利要求10所述的翻译方法,其特征在于,根据第n个编码堆栈层输出的层编码向量生成第二编码向量,包括:将第n个编码堆栈层输出的层编码向量乘以权重系数,得到第二编码向量。

13.如权利要求7或10所述的翻译方法,其特征在于,将所述第一向量输入至第一个编码堆栈层,以使第一个编码堆栈层根据输入的第一编码向量以及第一向量输出层编码向量,包括:第一个所述编码堆栈层将输入的所述第一编码向量以及第一向量进行比较得到第一编码向量中与所述第一向量的相同部分,并根据第一编码向量中与所述第一向量的相同部分以及所述第一向量得到第一个所述编码堆栈层输出的层编码向量;

将第i‑1个所述编码堆栈层输出的层编码向量输入至第i个编码堆栈层,以使第i个所述编码堆栈层根据输入的第一编码向量以及第i‑1个所述编码堆栈层的层编码向量输出层编码向量,包括:第i个编码堆栈层将输入的所述第一编码向量和第i‑1个所述编码堆栈层的层编码向量进行比较得到第一编码向量中与所述层编码向量的相同部分,并根据第一编码向量中与所述层编码向量的相同部分以及所述层编码向量得到第i个所述编码堆栈层输出的层编码向量。

14.如权利要求4或8或10所述的翻译方法,其特征在于,所述解码层包括至少一个解码堆栈层;

将所述第二编码向量输入翻译模型的解码层,包括:将所述第二编码向量分别输入至少一个所述解码堆栈层。

15.如权利要求9所述的翻译方法,其特征在于,将所述第二编码向量输入翻译模型的解码层,包括:将每个第二编码向量分别输入至对应的解码堆栈层。

16.如权利要求1所述的翻译方法,其特征在于,所述解码层包括第二嵌入层和一个解码堆栈层;

将所述第一解码向量输入至解码层,包括:

将所述第一解码向量输入至所述解码堆栈层;

所述解码层根据所述第一解码向量以及所述第二编码向量生成第二解码向量,包括:将参考翻译结果输入第二嵌入层,以使第二嵌入层根据所述参考翻译结果生成参考翻译向量;

将参考翻译向量输入至所述解码堆栈层,以使所述解码堆栈层根据输入的参考翻译向量、所述第一解码向量以及所述第二编码向量生成所述第二解码向量。

17.如权利要求16所述的翻译方法,其特征在于,所述解码堆栈层根据输入的参考翻译向量、所述第一解码向量以及所述第二编码向量生成所述第二解码向量,包括:所述解码堆栈层将第二编码向量与所述第一解码向量进行比较得到所述第一解码向量中与所述第二编码向量互为译文关系的对应部分,然后根据所述第一解码向量中与所述第二编码向量互为译文关系的对应部分、参考翻译向量以及第二编码向量生成所述第二解码向量。

18.如权利要求1所述的翻译方法,其特征在于,所述解码层包括第二嵌入层和m个解码堆栈层,且m个编码堆栈层顺次连接,其中,第二嵌入层与第一个解码堆栈层连接,m≥2且m为正整数;

将所述第一解码向量输入至解码层,包括:

将所述第一解码向量分别输入至m个所述解码堆栈层;

所述解码层根据所述第一解码向量以及所述第二编码向量生成第二解码向量,包括:S302、将参考翻译结果输入第二嵌入层,以使第二嵌入层根据所述参考翻译结果生成参考翻译向量;

S304、将参考翻译向量输入至所述第一个解码堆栈层,以使第一个所述解码堆栈层根据所述参考翻译向量、所述第一解码向量以及所述第二编码向量得到第一个所述解码堆栈层输出的层解码向量;

S306、将第j‑1个所述解码堆栈层输出的层解码向量输入至第j个所述解码堆栈层,以使第j个所述解码堆栈层根据输入的所述第一解码向量、所述第二编码向量以及第j‑1个所述解码堆栈层输出的层解码向量输出层解码向量,其中,2≤j≤m;

S308、将j自增1,判断自增1后的j是否大于m,若是,则执行步骤S310,若否,继续执行步骤S306;

S310、将第m个解码堆栈层输出的层解码向量作为所述第二解码向量。

19.如权利要求18所述的翻译方法,其特征在于,将参考翻译向量输入至所述第一个解码堆栈层,以使第一个所述解码堆栈层根据所述参考翻译向量、所述第一解码向量以及所述第二编码向量得到第一个所述解码堆栈层输出的层解码向量,包括:第一个所述解码堆栈层将第二编码向量与所述第一解码向量进行比较得到所述第一解码向量中与所述第二编码向量互为译文关系的对应部分,根据所述第一解码向量中与所述第二编码向量互为译文关系的对应部分、参考翻译向量以及第二编码向量得到输出的层解码向量;

将第j‑1个所述解码堆栈层输出的层解码向量输入至第j个所述解码堆栈层,以使第j个所述解码堆栈层根据输入的所述第一解码向量、所述第二编码向量以及第j‑1个所述解码堆栈层输出的层解码向量输出层解码向量,包括:第j个解码堆栈层将输入的所述第二编码向量与所述第一解码向量进行比较得到所述第一解码向量中与所述第二编码向量互为译文关系的对应部分,根据所述第一解码向量中与所述第二编码向量互为译文关系的对应部分、第二编码向量以及第j‑1个所述解码堆栈层输出的层解码向量得到第j个所述解码堆栈层输出的层解码向量。

20.一种翻译装置,其特征在于,所述装置包括:

相似度计算模块,被配置为计算待翻译语句与第一语句的相似度,获得相似度高于阈值的第一语句以及与所述第一语句互为译文关系的第二语句;

第一编码向量生成模块,被配置为根据第一语句进行处理,得到第一编码向量,将第一编码向量输入至翻译模型的编码层,其中,所述编码层包括至少一个编码堆栈层,每个编码堆栈层包括多头注意力机制子层和前馈网络层;

第二编码向量生成模块,被配置为将待翻译语句输入翻译模型的编码层,以使所述编码层根据所述第一编码向量和所述待翻译语句生成第二编码向量,并将所述第二编码向量输入翻译模型的解码层,其中,所述解码层包括至少一个解码堆栈层,每个解码堆栈层包括隐式多头注意力机制子层、多头注意力机制子层和前馈网络层;

第一解码向量生成模块,被配置为根据第二语句进行处理,得到第一解码向量,将所述第一解码向量输入至所述解码层;

第二解码向量生成模块,被配置为使所述解码层根据所述第一解码向量以及所述第二编码向量生成第二解码向量,并根据所述第二解码向量得到翻译语句。

21.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1‑19任一项所述的翻译方法的步骤。

22.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1‑19任一项所述的翻译方法的步骤。

23.一种芯片,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1‑19任一项所述的翻译方法的步骤。

说明书 :

一种翻译方法及装置、计算设备、存储介质和芯片

技术领域

[0001] 本申请涉及计算机技术领域,特别涉及一种翻译方法及装置、计算设备、 存储介质和芯片。

背景技术

[0002] 随着计算机运算能力的提升,神经网络的应用越来越广泛,例如构建翻译 模型,以实现源语言到目标语言的转换。一般地,翻译模型的架构包括:编码 层(encoder)—解码层(decoder)。编码层实现对待翻译的源语句进行编码生成 向量,解码层实现对源语句的向量进行解码生成对应的目标语句。
[0003] 翻译模型是利用训练集进行优化,获得一个对于全体训练集数据的训练好 的模型,然后使用这个训练好的翻译模型对新输入的语句进行编码和解码,从 而获得对这个新输入语句对应的翻译语句。
[0004] 在翻译模型的训练阶段,通过训练集中的源语句和目标语句训练翻译模型。 翻译模型的编码层利用源语句的字典,对输入的源语句进行编码,获得一个语 义向量;然后再利用目标语句的字典对这个语义向量进行解码,获得最终输出 的目标语句序列,然后将输出的目标语句序列与训练集中的目标语句进行对比, 以优化翻译模型。
[0005] 一般而言,翻译模型在使用训练集训练完后,在使用过程中就不再需要训 练集参与了。所以翻译模型是以训练集为基础的全局最优解,但是在实际使用 阶段可能会忽略输入语句中的具体语义信息,导致输入语句的翻译结果信息缺 失。

发明内容

[0006] 有鉴于此,本申请实施例提供了一种翻译方法及装置、计算设备、存储介 质和芯片,以解决现有技术中存在的技术缺陷。
[0007] 本申请实施例提供了一种翻译方法,所述方法包括:
[0008] 计算待翻译语句与第一语句的相似度,获得相似度高于阈值的第一语句以 及与所述第一语句互为译文关系的第二语句;
[0009] 根据第一语句进行处理,得到第一编码向量,将第一编码向量输入至翻译 模型的编码层;
[0010] 将待翻译语句输入翻译模型的编码层,以使所述编码层根据所述第一编码 向量和所述待翻译语句生成第二编码向量,并将所述第二编码向量输入翻译模 型的解码层;
[0011] 根据第二语句进行处理,得到第一解码向量,将所述第一解码向量输入至 解码层,以使所述解码层根据所述第一解码向量以及所述第二编码向量生成第 二解码向量,并根据所述第二解码向量得到翻译语句。
[0012] 本申请实施例公开了一种翻译装置,所述装置包括:
[0013] 相似度计算模块,被配置为计算待翻译语句与第一语句的相似度,获得相 似度高于阈值的第一语句以及与所述第一语句互为译文关系的第二语句;
[0014] 第一编码向量生成模块,被配置为根据第一语句进行处理,得到第一编码 向量,将第一编码向量输入至翻译模型的编码层;
[0015] 第二编码向量生成模块,被配置为将待翻译语句输入翻译模型的编码层, 以使所述编码层根据所述第一编码向量和所述待翻译语句生成第二编码向量, 并将所述第二编码向量输入翻译模型的解码层;
[0016] 第一解码向量生成模块,被配置为根据第二语句进行处理,得到第一解码 向量,将所述第一解码向量输入至解码层;
[0017] 第二解码向量生成模块,被配置为使所述解码层根据所述第一解码向量以 及所述第二编码向量生成第二解码向量,并根据所述第二解码向量得到翻译语 句。
[0018] 本申请实施例公开了一种计算设备,包括存储器、处理器及存储在存储器 上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如上所 述的翻译方法的步骤。
[0019] 本申请实施例公开了一种计算机可读存储介质,其存储有计算机指令,该 指令被处理器执行时实现如上所述的翻译方法的步骤。
[0020] 本申请实施例公开了一种芯片,其存储有计算机指令,该指令被处理器执 行时实现如上所述的翻译方法的步骤。
[0021] 本申请提供的翻译方法及装置,通过在对待翻译语句输入翻译模型之前, 通过相似度计算获得与待翻译语句的相似度高于阈值的第一语句和第二语句, 并将第一语句和第二语句与待翻译语句共同输入至翻译模型进行翻译,并最终 得到待翻译语句对应的翻译语句,从而解决了现有技术中部分待翻译语句在翻 译过程中的信息缺失的问题,保证了翻译结果的准确性。

附图说明

[0022] 图1是本申请实施例的计算设备的结构示意图;
[0023] 图2a~图2c是本申请实施例的翻译模型的架构示意图;
[0024] 图3是本申请实施例的翻译方法的流程示意图;
[0025] 图4是本申请实施例的第二编码向量的生成方法流程示意图;
[0026] 图5是本申请实施例的第二编码向量的生成方法流程示意图;
[0027] 图6是本申请实施例的第二编码向量的生成方法流程示意图;
[0028] 图7是本申请实施例的第二解码向量的生成方法流程示意图;
[0029] 图8是本申请实施例的第二解码向量的生成方法流程示意图;
[0030] 图9是本申请实施例的翻译装置的结构示意图。

具体实施方式

[0031] 在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请 能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背 本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
[0032] 在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的 目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施 例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在 包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个 或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目 的任何或所有可能组合。
[0033] 应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二 等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类 型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况 下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境, 如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或 “响应于确定”。
[0034] 在本申请中,提供了一种翻译方法及装置、计算设备、存储介质和芯片, 在下面的实施例中逐一进行详细说明。
[0035] 图1是示出了根据本说明书一实施例的计算设备100的结构框图。该计算 设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器 110通过总线130相连接,数据库150用于保存数据。
[0036] 计算设备100还包括接入设备140,接入设备140使得计算设备100能够经 由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、 局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的 组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络 接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线 接口、全球微波互联接入(Wi‑MAX)接口、以太网接口、通用串行总线(USB) 接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
[0037] 在本说明书的一个实施例中,计算设备100的上述以及图1中未示出的其 他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结 构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人 员可以根据需要,增添或替换其他部件。
[0038] 计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或 移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计 算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如, 智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的 静止计算设备。计算设备100还可以是移动式或静止式的服务器。
[0039] 其中,处理器120可以执行本申请实施例的翻译方法的步骤。
[0040] 首先,对本申请实施例所提及的翻译模型的架构进行说明。参见图2,翻译 模型分为编码层21和解码层22两部分。
[0041] 其中,编码层21包括至少一个编码堆栈层211,每个编码堆栈层包括两个 子层:多头注意力机制子层和前馈网络层。图2a,编码层21包括6个串接的编 码堆栈层211。
[0042] 编码层21还包括:与第一个编码堆栈层211连接的第一嵌入层212,用于 将输入的待翻译语句生成第一向量,然后将第一向量输入至第一个编码堆栈层 211。
[0043] 另外,翻译模型还包括:第三嵌入层23和环境编码层24,用于将与待翻译 语句的相似度高于阈值的第一语句转换为第一编码向量,然后将第一编码向量 输入至翻译模型的各个编码堆栈层211。
[0044] 每个编码堆栈层211输出层编码向量,且每个编码堆栈层211输出的层编 码向量输入至下个编码层。将最后一个编码堆栈层211生成的层编码向量作为 第二编码向量输入翻译模型的解码层22。
[0045] 解码层22包括至少一个解码堆栈层221,每个解码堆栈层221包括三个子 层:隐式多头注意力机制子层、多头注意力机制子层和前馈网络层。图2a中, 解码层22包括6个串接的解码堆栈层221。
[0046] 解码层22还包括:与第一个解码堆栈层221连接的第二嵌入层222,用于 将输入的参考翻译结果生成参考翻译向量,然后将参考翻译向量输入至第一个 解码堆栈层221。
[0047] 另外,翻译模型还包括:第四嵌入层25和环境解码层26,用于将与待翻译 语句的相似度高于阈值的第一语句所对应的第二语句转换为第一解码向量,然 后将第一解码向量输入至翻译模型的各个解码堆栈层221。
[0048] 每个解码堆栈层221输出层解码向量,将最后一个解码堆栈层221输出的 层解码向量作为第二解码向量。第二解码向量经由线性层和分类函数层(softmax) 进行转换,得到最终的翻译语句。
[0049] 图2b示出了另一种翻译模型的架构示意图。与图2a相比,图2b的翻译模 型在编码层21和解码层22之间增加了第一权重层26。每个编码堆栈层211输 出的层编码向量分别乘以第一权重层26中的权重系数,得到一个第二编码向量, 并将该第二编码向量输入至解码层22中的各个解码堆栈层221。
[0050] 图2c示出了另一种翻译模型的架构示意图。与图2a相比,图2c的翻译模 型在编码层21和解码层22之间增加了第二权重层27。每个编码堆栈层211输 出的层编码向量分别乘以每个解码堆栈层221对应的权重系数向量,得到每个 解码堆栈层221对应的第二编码向量。与图2b中的翻译模型不同,图2c中的 翻译模型的每个解码堆栈层221对应一个第二编码向量,不同的解码堆栈层221 对应的第二编码向量彼此不同。
[0051] 图3所示方法中的步骤。图3是示出了根据本申请一实施例的翻译方法的 示意性流程图,包括步骤302~310:
[0052] 302、根据待翻译语句与第一语句进行相似度计算,获得相似度高于阈值的 第一语句以及所述第一语句互为译文关系的第二语句。
[0053] 其中,第一语句以及第二语句可以为在网络或预先存储的语料库中查询。
[0054] 以语料库为例,语料库中包括多个第一语句和多个第二语句,第一语句和 第二语句互为译文关系。例如,第一语句为“我爱中国”,第二语句为“I love china”; 第一语句为“我吃苹果”,第二语句为“I eat apple”。
[0055] 在另一种情况下,也可以通过在网络中进行搜索,得到互为译文关系的例 句作为第一语句以及第二语句。
[0056] 另外,相似度的阈值可以根据实际需求而设定,例如设置相似度阈值为60%。 在一个具体实例中,待翻译语句为“I want to go to school”,将待翻译语句与第 一语句进行相似度对比,得到相似度高于阈值的第一语句为“I want to go to New York”以及“what time do you go to school”,对应的第二语句分别为“我要去纽 约”以及“你什么时候去学校”。
[0057] 304、根据第一语句进行处理,得到第一编码向量,将第一编码向量输入至 翻译模型的编码层。
[0058] 具体地,步骤304中根据第一语句进行处理,得到第一编码向量,包括: 将所述第一语句依次经由第一嵌入层和语句编码层进行编码,生成第一编码向 量。
[0059] 对于编码层包括一个编码堆栈层的情形,将第一编码向量输入至翻译模型 的编码层,包括:将第一编码向量输入至所述编码堆栈。
[0060] 对于编码层包括n个编码堆栈层的情形,其中,n≥2且n为正整数,将第 一编码向量输入至翻译模型的编码层,包括:将第一编码向量分别输入至所述 编码层的n个编码堆栈层。
[0061] 通过将第一编码向量输入至编码堆栈层,从而可以实现将待翻译语句的相 似语句与待翻译语句一同输入至翻译模型进行翻译,以得到更精确的结果。
[0062] 306、将待翻译语句输入翻译模型的编码层,以使所述编码层根据所述第一 编码向量和所述待翻译语句生成第二编码向量,并将所述第二编码向量输入翻 译模型的解码层。
[0063] 在一个具体的实施方案中,对于编码层包括第一嵌入层和一个编码堆栈层 的情形,步骤306中将待翻译语句输入翻译模型的编码层,以使所述编码层根 据所述第一编码向量和所述待翻译语句生成第二编码向量,参见图4,包括:
[0064] 402、将待翻译语句输入第一嵌入层,以使所述第一嵌入层根据所述待翻译 语句生成第一向量。
[0065] 404、将所述第一向量输入所述编码堆栈层,以使编码堆栈层根据输入的第 一向量和第一编码向量生成第二编码向量。
[0066] 在一种具体应用中,参见图2a,编码堆栈层可以直接将输出的层编码向量 作为第二编码向量,步骤404包括:所述编码堆栈层将第一向量和第一编码向 量进行比较得到第一编码向量中与第一向量的相同部分,并根据第一编码向量 中与第一向量的相同部分以及所述第一向量得到层编码向量,并将所述编码堆 栈层的层编码向量作为第二编码向量。
[0067] 在一种具体应用中,编码堆栈层可以将输出的层编码向量乘以权重系数生 成第二编码向量,步骤404包括:所述编码堆栈层将第一向量和第一编码向量 进行比较得到第一编码向量中与第一向量的相同部分,并根据第一编码向量中 与第一向量的相同部分以及所述第一向量得到层编码向量,并将所述编码堆栈 层的层编码向量乘以权重系数生成第二编码向量。
[0068] 在生成第二编码向量后,将所述第二编码向量输入至少一个解码堆栈层。
[0069] 在另一个具体的实施方案中,对于编码层包括第一嵌入层和n个编码堆栈 层,且n个编码堆栈层顺次连接的情形,其中,第一嵌入层和第一个编码堆栈 层连接,n≥2且n为正整数;
[0070] 步骤306中将待翻译语句输入翻译模型的编码层,以使所述编码层根据所 述第一编码向量和所述待翻译语句生成第二编码向量,参见图5,包括:
[0071] 502、将待翻译语句输入第一嵌入层,以使所述第一嵌入层根据所述待翻译 语句生成第一向量。
[0072] 504、将所述第一向量输入至第一个编码堆栈层,以使第一个编码堆栈层根 据输入的第一编码向量以及第一向量输出层编码向量。
[0073] 具体地,第一个所述编码堆栈层将输入的所述第一编码向量以及第一向量 进行比较得到第一编码向量中与所述第一向量的相同部分,并根据第一编码向 量中与所述第一向量的相同部分以及所述第一向量得到第一个所述编码堆栈层 输出的层编码向量。
[0074] 506、将第i‑1个所述编码堆栈层的层编码向量输入至第i个编码堆栈层,以 使第i个所述编码堆栈层根据输入的第一编码向量以及第i‑1个所述编码堆栈层 的层编码向量输出层编码向量,其中2≤i≤n。
[0075] 具体地,第i个编码堆栈层将输入的所述第一编码向量和第i‑1个所述编码 堆栈层的层编码向量进行比较得到第一编码向量中与所述层编码向量的相同部 分,并根据第一编码向量中与所述层编码向量的相同部分以及所述层编码向量 得到第i个所述编码堆栈层输出的层编码向量。
[0076] 508、将i自增1,判断自增1后的i是否大于n,若是,则执行步骤510, 若否,继续执行步骤506。
[0077] 510、根据n个编码堆栈层输出的层编码向量得到第二编码向量。
[0078] 具体地,参见图2b,根据n个编码堆栈层输出的层编码向量得到第二编码 向量,包括:将n个编码堆栈层输出的层编码向量分别乘以权重系数,再求和, 得到一个第二编码向量。
[0079] 在生成第二编码向量后,将所述第二编码向量输入至少一个解码堆栈层。
[0080] 具体地,参见图2c,解码层包括m个解码堆栈层,且m个解码堆栈层顺次 连接,其中,m≥2且m为正整数;根据n个编码堆栈层输出的层编码向量得到 第二编码向量,包括:将n个编码堆栈层输出的层编码向量分别乘以每个解码 堆栈层对应的权重系数向量,得到每个解码堆栈层对应的第二编码向量。
[0081] 在生成第二编码向量后,将每个第二编码向量分别输入至对应的解码堆栈 层。
[0082] 在另一个具体的实施方案中,对于编码层包括第一嵌入层和n个编码堆栈 层,且n个编码堆栈层顺次连接的情形,其中,所述第一嵌入层和第一个编码 堆栈层连接,n≥2且n为正整数;
[0083] 参见图6,步骤306中将待翻译语句输入翻译模型的编码层,以使所述编码 层根据所述第一编码向量和所述待翻译语句生成第二编码向量,包括:
[0084] 602、将待翻译语句输入第一嵌入层,以使所述第一嵌入层根据所述待翻译 语句生成第一向量。
[0085] 604、将所述第一向量输入至第一个编码堆栈层,以使第一个编码堆栈层根 据输入的第一编码向量以及第一向量输出层编码向量。
[0086] 具体地,第一个所述编码堆栈层将输入的所述第一编码向量以及第一向量 进行比较得到第一编码向量中与所述第一向量的相同部分,并根据第一编码向 量中与所述第一向量的相同部分以及所述第一向量得到第一个所述编码堆栈层 输出的层编码向量。
[0087] 606、将第i‑1个所述编码堆栈层输出的层编码向量输入至第i个编码堆栈层, 以使第i个所述编码堆栈层根据输入的第一编码向量以及第i‑1个所述编码堆栈 层的层编码向量输出层编码向量,其中2≤i≤n。
[0088] 具体地,第i个编码堆栈层将输入的所述第一编码向量和第i‑1个所述编码 堆栈层的层编码向量进行比较得到第一编码向量中与所述层编码向量的相同部 分,并根据第一编码向量中与所述层编码向量的相同部分以及所述层编码向量 得到第i个所述编码堆栈层输出的层编码向量。
[0089] 608、将i自增1,判断自增1后的i是否大于n,若是,则执行步骤610, 若否,继续执行步骤606。
[0090] 610、根据第n个编码堆栈层输出的层编码向量生成第二编码向量。
[0091] 具体地,参见图2a,根据第n个编码堆栈层输出的层编码向量生成第二编 码向量,包括:将第n个编码堆栈层输出的层编码向量作为第二编码向量。
[0092] 具体地,在一个具体应用中,根据第n个编码堆栈层输出的层编码向量生 成第二编码向量,包括:将第n个编码堆栈层输出的层编码向量乘以权重系数, 得到第二编码向量。
[0093] 在生成第二编码向量后,将第二编码向量分别输入至少一个解码堆栈层。
[0094] 308、根据第二语句进行处理,得到第一解码向量,将所述第一解码向量输 入至解码层。
[0095] 具体地,步骤308中根据第二语句进行处理,得到第一解码向量,包括: 将所述第二语句依次经由第二嵌入层和语句解码层进行解码,生成第一解码向 量。
[0096] 具体地,对于解码层包括第二嵌入层和一个解码堆栈层的情形,将所述第 一解码向量输入至解码层,包括:将所述第一解码向量输入至所述解码堆栈层。
[0097] 对于解码层包括第二嵌入层和m个解码堆栈层的情形,将所述第一解码向 量输入至解码层,包括:将所述第一解码向量分别输入至m个所述解码堆栈层。
[0098] 310、所述解码层根据所述第一解码向量以及所述第二编码向量生成第二解 码向量,并根据所述第二解码向量得到翻译语句。
[0099] 具体地,对于解码层包括一个解码堆栈层的情形,参见图7,步骤310包括:
[0100] 702、将参考翻译结果输入第二嵌入层,以使第二嵌入层根据所述参考翻译 结果生成参考翻译向量。
[0101] 需要说明的是,对于待翻译语句,包括至少一个待翻译词语。在翻译的过 程中,依次得到至少一个待翻译词语对应的翻译词语。对于每个翻译词语,可 以作为参考翻译结果输入至第二嵌入层。
[0102] 具体地,对于初始的第一个待翻译词语,参考翻译结果为设定的初始值, 可以为0;对于除去第一个待翻译词语的其他待翻译词语,参考翻译结果为当前 待翻译词语的前一个待翻译词语所对应的翻译词语。
[0103] 例如对于“我爱中国”,如果当前待翻译词语为“爱”,那么参考翻译结果 为“我”对应的翻译词语“I”。
[0104] 704、将参考翻译向量输入至所述解码堆栈层,以使所述解码堆栈层根据输 入的参考翻译向量、所述第一解码向量以及所述第二编码向量生成所述第二解 码向量。
[0105] 在一个具体实例中,步骤704包括:所述解码堆栈层将第二编码向量与所 述第一解码向量进行比较得到所述第一解码向量中与所述第二编码向量互为译 文关系的对应部分,然后根据所述第一解码向量中与所述第二编码向量互为译 文关系的对应部分、参考翻译向量以及第二编码向量生成所述第二解码向量。
[0106] 在这里需要解释的是,由于第一语句和第二语句互为译文关系,第一编码 向量和第一解码向量的对应关系也为确定的。第二编码向量为根据输入至各个 编码堆栈层的第一编码向量生成,所以,第二编码向量与第一编码向量之间存 在互为译文关系的对应部分。
[0107] 具体地,对于解码层包括m个解码堆栈层的情形,参见图8,步骤210包 括:
[0108] 802、将参考翻译结果输入第二嵌入层,以使第二嵌入层根据所述参考翻译 结果生成参考翻译向量。
[0109] 804、将参考翻译向量输入至所述第一个解码堆栈层,以使第一个所述解码 堆栈层根据所述参考翻译向量、所述第一解码向量以及所述第二编码向量得到 第一个所述解码堆栈层输出的层解码向量。
[0110] 具体地,步骤804包括:第一个所述解码堆栈层将第二编码向量与所述第 一解码向量进行比较得到所述第一解码向量中与所述第二编码向量互为译文关 系的对应部分,根据所述第一解码向量中与所述第二编码向量互为译文关系的 对应部分、参考翻译向量以及第二编码向量得到输出的层解码向量。
[0111] 806、将第j‑1个所述解码堆栈层输出的层解码向量输入至第j个所述解码堆 栈层,以使第j个所述解码堆栈层根据输入的所述第一解码向量、所述第二编码 向量以及第j‑1个所述解码堆栈层输出的层解码向量输出层解码向量,其中,2 ≤j≤m。
[0112] 具体地,步骤806包括:第j个解码堆栈层将输入的所述第二编码向量与所 述第一解码向量进行比较得到所述第一解码向量中与所述第二编码向量互为译 文关系的对应部分,根据所述第一解码向量中与所述第二编码向量互为译文关 系的对应部分、第二编码向量以及第j‑1个所述解码堆栈层输出的层解码向量得 到第j个所述解码堆栈层输出的层解码向量。
[0113] 808、将j自增1,判断自增1后的j是否大于m,若是,则执行步骤810, 若否,继续执行步骤806。
[0114] 810、将第m个解码堆栈层输出的层解码向量作为所述第二解码向量。
[0115] 具体地,通过线性层和分类函数层,可以根据第二解码向量得到翻译语句, 并得到翻译语句中各个翻译词语的输出概率。
[0116] 具体地,对于编码堆栈层211的层编码向量,生成过程如下:
[0117] 每个编码堆栈层211包括多头注意力机制子层,该多头注意力机制子层的 attention函数可以将query和一组key‑value对映射到输出,输入向量包括key、 value和query,输出为向量的加权和。其中,分配给每个value的权重由query 与相应key的兼容函数计算。
[0118] 对于步骤604中,第一个编码堆栈层的输入向量包括第一编码向量以及第 一向量,在运算过程中,可以将第一编码向量作为key‑value向量对,将第一向 量作为query向量。
[0119] 对于步骤606中,第i个编码堆栈层的输入向量包括第一编码向量和第i‑1 个编码堆栈层的层编码向量,在运算过程中,可以将第一编码向量作为key‑value 向量对,将第i‑1个编码堆栈层的层编码向量作为query向量。
[0120] 在具体实现时,可以以矩阵的形式进行并行计算,从而加速运算过程。具 体来说,将所有的key、value和query向量分别组合矩阵Q、K和V,这样输出 的层编码向量可以表示为:
[0121]
[0122] 具体地,隐层所有时间序列的状态H,hi代表第i个词对应的隐层状态。
[0123] HT=[h1T,h2T,…,hnT]
[0124] 如果只有一个单词对应的隐层状态hi的自注意力,
[0125]
[0126]
[0127]
[0128] 同理,一次性计算所有单词隐层状态hi(1≤i≤n)的自注意力:
[0129]
[0130]
[0131]
[0132] 所以最后的注意力向量为headi
[0133]
[0134] softmax函数需要加一个平滑系数 那么
[0135]
[0136] 这样,就可以得到编码堆栈层211输出的层编码向量。
[0137] 对于解码堆栈层221的层解码向量的生成过程与上述过程类似,在此便不 再详述计算过程。
[0138] 例如对于步骤704中的解码堆栈层,可以将输入的第二编码向量、第一解 码向量作为key‑value向量对,参考翻译向量作为query向量输入至多头注意力 机制子层,以得到输出的层解码向量。
[0139] 对于步骤804中的第1个解码堆栈层,可以将输入的第二编码向量、第一 解码向量作为key‑value向量对,参考翻译向量作为query向量输入至多头注意 力机制子层,以得到输出的层解码向量。
[0140] 对于步骤806中的第j个解码堆栈层,可以将输入的第二编码向量、第一解 码向量作为key‑value向量对,第j‑1个所述解码堆栈层输出的层解码向量作为 query向量输入至多头注意力机制子层,以得到输出的层解码向量。
[0141] 本申请提供的翻译方法,通过在对待翻译语句输入翻译模型之前,通过相 似度计算获得与待翻译语句的相似度高于阈值的第一语句和第二语句,并将第 一语句和第二语句与待翻译语句共同输入至翻译模型进行翻译,并最终得到待 翻译语句对应的翻译语句,从而解决了现有技术中部分待翻译语句在翻译过程 中的信息缺失的问题,保证了翻译结果的准确性。
[0142] 上述为本申请实施例的翻译方法的实施例的具体说明。本申请实施例还公 开了一种翻译装置,下面通过实施例进行说明。
[0143] 参见图9,本申请实施例的翻译装置包括:
[0144] 相似度计算模块902,被配置为计算待翻译语句与第一语句的相似度,获得 相似度高于阈值的第一语句以及与所述第一语句互为译文关系的第二语句;
[0145] 第一编码向量生成模块904,被配置为根据第一语句进行处理,得到第一编 码向量,将第一编码向量输入至翻译模型的编码层;
[0146] 第二编码向量生成模块906,被配置为将待翻译语句输入翻译模型的编码层, 以使所述编码层根据所述第一编码向量和所述待翻译语句生成第二编码向量, 并将所述第二编码向量输入翻译模型的解码层;
[0147] 第一解码向量生成模块908,被配置为根据第二语句进行处理,得到第一解 码向量,将所述第一解码向量输入至解码层;
[0148] 第二解码向量生成模块910,被配置为使所述解码层根据所述第一解码向量 以及所述第二编码向量生成第二解码向量,并根据所述第二解码向量得到翻译 语句。
[0149] 可选地,第一编码向量生成模块904具体被配置为:将所述第一语句依次 经由第一嵌入层和语句编码层进行编码,生成第一编码向量。
[0150] 可选地,第一解码向量生成模块908具体被配置为:将所述第二语句依次 经由第二嵌入层和语句解码层进行解码,生成第一解码向量。
[0151] 可选地,所述编码层包括第一嵌入层和一个编码堆栈层;
[0152] 第一编码向量生成模块904具体被配置为:将第一编码向量输入至编码堆 栈层;
[0153] 第二编码向量生成模块906具体被配置为:将待翻译语句输入第一嵌入层, 以使所述第一嵌入层根据所述待翻译语句生成第一向量;将所述第一向量输入 所述编码堆栈层,以使编码堆栈层根据输入的第一向量和第一编码向量生成第 二编码向量。
[0154] 可选地,第二编码向量生成模块906具体被配置为:使编码堆栈层将第一 向量和第一编码向量进行比较得到第一编码向量中与第一向量的相同部分,并 根据第一编码向量中与第一向量的相同部分以及所述第一向量得到层编码向量, 并将所述编码堆栈层的层编码向量作为第二编码向量。
[0155] 可选地,第二编码向量生成模块906具体被配置为:使所述编码堆栈层将 第一向量和第一编码向量进行比较得到第一编码向量中与第一向量的相同部分, 并根据第一编码向量中与第一向量的相同部分以及所述第一向量得到层编码向 量,并将所述编码堆栈层的层编码向量乘以权重系数生成第二编码向量。
[0156] 可选地,所述编码层包括第一嵌入层和n个编码堆栈层,且n个编码堆栈 层顺次连接,其中,第一嵌入层和第一个编码堆栈层连接,n≥2且n为正整数;
[0157] 第一编码向量生成模块904具体被配置为:将第一编码向量分别输入至所 述编码层的n个编码堆栈层;
[0158] 第二编码向量生成模块906具体被配置为:
[0159] S102、将待翻译语句输入第一嵌入层,以使所述第一嵌入层根据所述待翻 译语句生成第一向量;
[0160] S104、将所述第一向量输入至第一个编码堆栈层,以使第一个编码堆栈层 根据输入的第一编码向量以及第一向量输出层编码向量;
[0161] S106、将第i‑1个所述编码堆栈层的层编码向量输入至第i个编码堆栈层, 以使第i个所述编码堆栈层根据输入的第一编码向量以及第i‑1个所述编码堆栈 层的层编码向量输出层编码向量,其中2≤i≤n;
[0162] S108、将i自增1,判断自增1后的i是否大于n,若是,则执行步骤S110, 若否,继续执行步骤S106;
[0163] S110、根据n个编码堆栈层输出的层编码向量得到第二编码向量。
[0164] 可选地,第二编码向量生成模块906具体被配置为:将n个编码堆栈层输 出的层编码向量分别乘以权重系数,再求和,得到一个第二编码向量。
[0165] 可选地,所述解码层包括m个解码堆栈层,且m个解码堆栈层顺次连接, 其中,m≥2且m为正整数;
[0166] 第二编码向量生成模块906具体被配置为:将n个编码堆栈层输出的层编 码向量分别乘以每个解码堆栈层对应的权重系数向量,得到每个解码堆栈层对 应的第二编码向量。
[0167] 可选地,所述编码层包括第一嵌入层和n个编码堆栈层,且n个编码堆栈 层顺次连接,其中,第一嵌入层和第一个编码堆栈层连接,n≥2且n为正整数;
[0168] 第一编码向量生成模块904具体被配置为:将第一编码向量分别输入至所 述编码层的n个编码堆栈层;
[0169] 第二编码向量生成模块906具体被配置为:
[0170] S202、将待翻译语句输入第一嵌入层,以使所述第一嵌入层根据所述待翻 译语句生成第一向量;
[0171] S204、将所述第一向量输入至第一个编码堆栈层,以使第一个编码堆栈层 根据输入的第一编码向量以及第一向量输出层编码向量;
[0172] S206、将第i‑1个所述编码堆栈层输出的层编码向量输入至第i个编码堆栈 层,以使第i个所述编码堆栈层根据输入的第一编码向量以及第i‑1个所述编码 堆栈层的层编码向量输出层编码向量,其中2≤i≤n;
[0173] S208、将i自增1,判断自增1后的i是否大于n,若是,则执行步骤S210, 若否,继续执行步骤S206;
[0174] S210、根据第n个编码堆栈层输出的层编码向量生成第二编码向量。
[0175] 可选地,第二编码向量生成模块906具体被配置为:将第n个编码堆栈层 输出的层编码向量作为第二编码向量。
[0176] 可选地,第二编码向量生成模块906具体被配置为:将第n个编码堆栈层 输出的层编码向量乘以权重系数,得到第二编码向量。
[0177] 可选地,第二编码向量生成模块906具体被配置为:使第一个所述编码堆 栈层将输入的所述第一编码向量以及第一向量进行比较得到第一编码向量中与 所述第一向量的相同部分,并根据第一编码向量中与所述第一向量的相同部分 以及所述第一向量得到第一个所述编码堆栈层输出的层编码向量;
[0178] 使第i个编码堆栈层将输入的所述第一编码向量和第i‑1个所述编码堆栈层 的层编码向量进行比较得到第一编码向量中与所述层编码向量的相同部分,并 根据第一编码向量中与所述层编码向量的相同部分以及所述层编码向量得到第i 个所述编码堆栈层输出的层编码向量。
[0179] 可选地,所述解码层包括至少一个解码堆栈层;
[0180] 第二编码向量生成模块906具体被配置为:将所述第二编码向量分别输入 至少一个所述解码堆栈层。
[0181] 可选地,第二编码向量生成模块906具体被配置为:将每个第二编码向量 分别输入至对应的解码堆栈层。
[0182] 可选地,所述解码层包括第二嵌入层和一个解码堆栈层;
[0183] 第一解码向量生成模块908具体被配置为:将所述第一解码向量输入至所 述解码堆栈层;
[0184] 第二解码向量生成模块910具体被配置为:将参考翻译结果输入第二嵌入 层,以使第二嵌入层根据所述参考翻译结果生成参考翻译向量;将参考翻译向 量输入至所述解码堆栈层,以使所述解码堆栈层根据输入的参考翻译向量、所 述第一解码向量以及所述第二编码向量生成所述第二解码向量。
[0185] 可选地,第二解码向量生成模块910具体被配置为:使解码堆栈层将第二 编码向量与第一解码向量进行比较得到第一解码向量中与第二编码向量互为译 文关系的对应部分,然后根据第一解码向量中与第二编码向量互为译文关系的 对应部分、参考翻译向量以及第二编码向量生成第二解码向量。
[0186] 可选地,所述解码层包括第二嵌入层和m个解码堆栈层,且m个编码堆栈 层顺次连接,其中,第二嵌入层与第一个解码堆栈层连接,m≥2且m为正整数;
[0187] 第一解码向量生成模块908具体被配置为:将所述第一解码向量分别输入 至m个所述解码堆栈层;
[0188] 第二解码向量生成模块910具体被配置为:
[0189] S302、将参考翻译结果输入第二嵌入层,以使第二嵌入层根据所述参考翻 译结果生成参考翻译向量;
[0190] S304、将参考翻译向量输入至所述第一个解码堆栈层,以使第一个所述解 码堆栈层根据所述参考翻译向量、所述第一解码向量以及所述第二编码向量得 到第一个所述解码堆栈层输出的层解码向量;
[0191] S306、将第j‑1个所述解码堆栈层输出的层解码向量输入至第j个所述解码 堆栈层,以使第j个所述解码堆栈层根据输入的所述第一解码向量、所述第二编 码向量以及第j‑1个所述解码堆栈层输出的层解码向量输出层解码向量,其中, 2≤j≤m;
[0192] S308、将j自增1,判断自增1后的j是否大于m,若是,则执行步骤S310, 若否,继续执行步骤S306;
[0193] S310、将第m个解码堆栈层输出的层解码向量作为所述第二解码向量。
[0194] 可选地,第二解码向量生成模块910具体被配置为:
[0195] 使第一个所述解码堆栈层将第二编码向量与所述第一解码向量进行比较得 到所述第一解码向量中与所述第二编码向量互为译文关系的对应部分,根据所 述第一解码向量中与所述第二编码向量互为译文关系的对应部分、参考翻译向 量以及第二编码向量得到输出的层解码向量;
[0196] 使第j个解码堆栈层将输入的所述第二编码向量与所述第一解码向量进行 比较得到所述第一解码向量中与所述第二编码向量互为译文关系的对应部分, 根据所述第一解码向量中与所述第二编码向量互为译文关系的对应部分、第二 编码向量以及第j‑1个所述解码堆栈层输出的层解码向量得到第j个所述解码堆 栈层输出的层解码向量。
[0197] 本申请提供的翻译装置,通过在对待翻译语句输入翻译模型之前,通过相 似度计算获得与待翻译语句的相似度高于阈值的第一语句和第二语句,并将第 一语句和第二语句与待翻译语句共同输入至翻译模型进行翻译,并最终得到待 翻译语句对应的翻译语句,从而解决了现有技术中部分待翻译语句在翻译过程 中的信息缺失的问题,保证了翻译结果的准确性。
[0198] 本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令, 该指令被处理器执行时实现如前所述翻译方法的步骤。
[0199] 上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是, 该存储介质的技术方案与上述的翻译方法的技术方案属于同一构思,存储介质 的技术方案未详细描述的细节内容,均可以参见上述翻译方法的技术方案的描 述。
[0200] 所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码 形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可 以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、 移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑Only Memory)、 随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及 软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司 法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区, 根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0201] 本申请实施例公开了一种芯片,其存储有计算机指令,该指令被处理器执 行时实现如上所述的翻译方法的步骤。
[0202] 需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述 为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的 动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。 其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施 例,所涉及的动作和模块并不一定都是本申请所必须的。
[0203] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详 述的部分,可以参见其它实施例的相关描述。
[0204] 以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没 有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根 据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实 施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术 人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效 物的限制。