文本翻译方法、装置、设备及计算机可读存储介质转让专利

申请号 : CN202110287301.7

文献号 : CN112668347B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张祥文

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请实施例提供一种文本翻译方法、装置、设备及计算机可读存储介质,涉及人工智能技术领域。方法包括:调用编码器对待翻译文本中的每个待翻译词依次进行映射处理,得到待翻译文本的隐状态表示,根据待翻译文本的隐状态表示,预测得到候选词集合;在调用解码器对隐状态表示进行解码翻译过程中,针对于每个待翻译词,获取在待翻译词之前的已翻译词对应的中间向量表示;根据中间向量表示,预测待翻译词的未来词向量表示;调用解码器依次基于每一待翻译词的词向量表示和未来词向量表示,在候选词集合中预测出与待翻译文本对应的译文。通过本申请,能够充分利用预测得到的全局信息和局部未来信息来辅助翻译过程,从而有效提升文本翻译的效率。

权利要求 :

1.一种文本翻译方法,其特征在于,所述方法包括:调用编码器对待翻译文本中的每个待翻译词依次进行映射处理,得到所述待翻译文本的隐状态表示,所述隐状态表示包括每个所述待翻译词的词向量表示;

根据所述待翻译文本的隐状态表示,预测得到候选词集合;

在调用解码器对所述隐状态表示进行解码翻译过程中,针对于每个所述待翻译词,获取在所述待翻译词之前的已翻译词对应的中间向量表示;

根据所述中间向量表示,预测所述待翻译词的未来词向量表示,其中,所述未来词向量表示与未来词对应,所述未来词是指预测得到的位于当前的待翻译词之后的其他待翻译词对应的译文词;

调用所述解码器依次基于每一所述待翻译词的词向量表示和所述未来词向量表示,在所述候选词集合中预测出与所述待翻译文本对应的译文;

所述解码器包括标准解码器和未来解码器;所述调用所述解码器依次基于每一所述待翻译词的词向量表示和所述未来词向量表示,在所述候选词集合中预测出与所述待翻译文本对应的译文,包括:调用所述标准解码器,根据所述当前的待翻译词的词向量表示和所述当前的待翻译词对应的所述中间向量表示,生成与所述当前的待翻译词对应的标准状态表示,其中,所述标准状态表示是指预设词库中具有最高概率作为所述当前的待翻译词的译文词的词的词向量表示,所述当前的待翻译词的译文词的词是基于所述当前的待翻译词的词向量表示和所述中间向量表示确定的;调用所述未来解码器,根据所述当前的待翻译词的词向量表示和所述未来词向量表示,生成与所述当前的待翻译词对应的未来状态表示,其中,所述未来状态表示是指所述预设词库中具有未来词数量的词的词向量表示,所述具有未来词数量的词是基于所述当前的待翻译词的词向量表示和所述未来词向量表示确定的;根据每个所述待翻译词的所述标准状态表示和所述未来状态表示,在所述候选词集合中生成与所述待翻译文本对应的译文。

2.根据权利要求1所述的方法,其特征在于,所述调用编码器对待翻译文本中的每个待翻译词依次进行映射处理,得到所述待翻译文本的隐状态表示,包括:对所述待翻译文本进行分词处理,得到至少一个待翻译词;

调用所述编码器对每个所述待翻译词进行词向量映射,得到与每个待翻译词对应的词向量表示;

通过所述编码器对每个待翻译词对应的所述词向量表示依次进行向量变换处理,得到所述待翻译文本的隐状态表示。

3.根据权利要求1所述的方法,其特征在于,所述根据所述待翻译文本的隐状态表示,预测得到候选词集合,包括:

调用全局分类器,基于所述待翻译文本的隐状态表示,采用多分类方式,确定出预设词库中的每一词作为所述待翻译词对应的候选词的概率;

按照所述概率由大到小的顺序,对所述预设词库中的词进行排序,形成词序列;

将所述词序列中的前预设数量的词,确定为所述候选词集合中的候选词。

4.根据权利要求1所述的方法,其特征在于,所述获取在所述待翻译词之前的已翻译词对应的中间向量表示,包括:

将所述待翻译文本中位于当前的待翻译词之前的全部待翻译词,确定为目标待翻译词;

获取所述解码器对所述目标待翻译词进行翻译后得到的全部已翻译词;

对所述全部已翻译词进行词向量映射,得到与每个所述已翻译词对应的词向量表示;

通过所述解码器对每个所述已翻译词对应的词向量表示依次进行向量变换处理,得到与所述全部已翻译词对应的隐状态表示;

将所述全部已翻译词对应的隐状态表示,确定为所述当前的待翻译词对应的中间向量表示。

5.根据权利要求4所述的方法,其特征在于,所述根据所述中间向量表示,预测所述待翻译词的未来词向量表示,包括:

在调用所述解码器对所述待翻译文本中的每个待翻译词进行解码翻译的过程中,调用局部分类器,根据所述当前的待翻译词对应的所述中间向量表示,预测与所述当前的待翻译词对应的未来词的所述未来词向量表示。

6.根据权利要求1所述的方法,其特征在于,所述根据每个所述待翻译词的所述标准状态表示和所述未来状态表示,在所述候选词集合中生成与所述待翻译文本对应的译文,包括:

对所述标准状态表示和所述未来状态表示进行融合处理,得到与所述当前的待翻译词对应的译文词的词向量表示;

根据全部待翻译词对应的译文词的词向量表示,在所述候选词集合中生成与所述待翻译文本对应的译文。

7.根据权利要求1所述的方法,其特征在于,所述调用所述标准解码器,根据所述当前的待翻译词的词向量表示和所述当前的待翻译词对应的所述中间向量表示,生成与所述当前的待翻译词对应的标准状态表示,包括:调用所述标准解码器,根据所述当前的待翻译词的词向量表示和所述当前的待翻译词对应的所述中间向量表示,确定出预设词库中的每一词作为所述当前的待翻译词对应的所述译文词的第一概率;

将具有最高第一概率的词的词向量表示,确定为所述标准状态表示。

8.根据权利要求1所述的方法,其特征在于,所述调用所述未来解码器,根据所述当前的待翻译词的词向量表示和所述未来词向量表示,生成与所述当前的待翻译词对应的未来状态表示,包括:

调用所述未来解码器,根据所述当前的待翻译词的词向量表示和所述未来词向量表示,确定出预设词库中的每一词作为所述当前的待翻译词对应的未来词的第二概率;

确定所述当前的待翻译词对应的未来词的未来词数量;

根据所述第二概率,在所述预设词库中选择具有所述未来词数量的词,作为所述当前的待翻译词对应的目标未来词;

将所述目标未来词的词向量表示,确定为所述未来状态表示。

9.根据权利要求1所述的方法,其特征在于,所述方法还包括:在调用所述解码器对所述隐状态表示进行解码翻译过程中,采用注意力机制获取所述编码器得到的所述待翻译文本的隐状态表示。

10.根据权利要求1至9任一项所述的方法,其特征在于,由所述编码器、所述解码器、全局分类器和局部分类器形成文本翻译模型,通过所述文本翻译模型实现所述文本翻译方法;

其中,所述文本翻译模型通过以下步骤进行训练:将样本待翻译文本输入至所述文本翻译模型中;

通过所述编码器,对所述样本待翻译文本中的每个样本待翻译词依次进行映射处理,得到所述样本待翻译文本的样本隐状态表示,所述样本隐状态表示包括每个所述样本待翻译词的样本词向量表示;

通过所述全局分类器,根据所述样本待翻译文本的样本隐状态表示,预测得到样本候选词集合;

通过所述局部分类器,预测所述样本待翻译词的样本未来词向量表示;

通过所述解码器,依次基于每一所述样本待翻译词的样本词向量表示和所述样本未来词向量表示,在所述样本候选词集合中预测出与所述样本待翻译文本对应的样本译文;

将所述样本译文输入至预设损失模型中,得到损失结果;

根据所述损失结果,对所述编码器、所述解码器、所述全局分类器和所述局部分类器中的参数进行修正,得到训练后的文本翻译模型。

11.一种文本翻译装置,其特征在于,所述装置包括:映射处理模块,用于调用编码器对待翻译文本中的每个待翻译词依次进行映射处理,得到所述待翻译文本的隐状态表示,所述隐状态表示包括每个所述待翻译词的词向量表示;

第一预测模块,用于根据所述待翻译文本的隐状态表示,预测得到候选词集合;

获取模块,用于在调用解码器对所述隐状态表示进行解码翻译过程中,针对于每个所述待翻译词,获取在所述待翻译词之前的已翻译词对应的中间向量表示;

第二预测模块,用于根据所述中间向量表示,预测所述待翻译词的未来词向量表示,其中,所述未来词向量表示与未来词对应,所述未来词是指预测得到的位于当前的待翻译词之后的其他待翻译词对应的译文词;

第三预测模块,用于调用所述解码器依次基于每一所述待翻译词的词向量表示和所述未来词向量表示,在所述候选词集合中预测出与所述待翻译文本对应的译文;

所述解码器包括标准解码器和未来解码器;所述第三预测模块,还用于调用所述标准解码器,根据所述当前的待翻译词的词向量表示和所述当前的待翻译词对应的所述中间向量表示,生成与所述当前的待翻译词对应的标准状态表示,其中,所述标准状态表示是指预设词库中具有最高概率作为所述当前的待翻译词的译文词的词的词向量表示,所述当前的待翻译词的译文词的词是基于所述当前的待翻译词的词向量表示和所述中间向量表示确定的;调用所述未来解码器,根据所述当前的待翻译词的词向量表示和所述未来词向量表示,生成与所述当前的待翻译词对应的未来状态表示,其中,所述未来状态表示是指所述预设词库中具有未来词数量的词的词向量表示,所述具有未来词数量的词是基于所述当前的待翻译词的词向量表示和所述未来词向量表示确定的;根据每个所述待翻译词的所述标准状态表示和所述未来状态表示,在所述候选词集合中生成与所述待翻译文本对应的译文。

12.一种文本翻译设备,其特征在于,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至10任一项所述的文本翻译方法。

13.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现权利要求1至10任一项所述的文本翻译方法。

说明书 :

文本翻译方法、装置、设备及计算机可读存储介质

技术领域

[0001] 本申请实施例涉及互联网技术领域,涉及但不限于一种文本翻译方法、装置、设备及计算机可读存储介质。

背景技术

[0002] 在传统机器翻译模型中,对于给定的源端输入(即待翻译文本),机器翻译模型通常以从左向右的方式,逐个生成机器译文中的词,这一过程被称为是“自回归式”的建模。在
自回归式建模中,每个解码步骤只能看到过去已经生成的译文片段(即完整译文的前缀),
而无法看到尚未生成的译文片段(即完整译文的后缀)。显然,这使得机器翻译模型在解码
时能获得的信息,受限于已翻译的局部上下文。
[0003] 相关技术中,针对全局上下文的利用,主要采用以下技术方案:迭代式翻译、异步双向解码、词袋预测、建模已翻译和未翻译的上下文;针对局部未来上下文的利用,主要采
用以下技术方案:同步双向解码和预测当前词的词性。
[0004] 但是,相关技术中无论是针对全局上下文的利用,还是针对局部未来上下文的利用,均存在效率低下,且没有将预测结果用于辅助翻译过程,模型提升有限的问题。

发明内容

[0005] 本申请实施例提供一种文本翻译方法、装置、设备及计算机可读存储介质,涉及人工智能技术领域。对编码器得到的隐状态表示进行预测得到候选词集合,实现建模全局上
下文,并对解码器翻译得到的中间向量表示进行预测得到未来词向量表示,从而实现提前
预测并建模未来上下文,如此,在对待翻译文本进行翻译时,能够充分利用全局信息和局部
未来信息,从而有效提升文本翻译的效率。
[0006] 本申请实施例的技术方案是这样实现的:
[0007] 本申请实施例提供一种文本翻译方法,所述方法包括:
[0008] 调用编码器对待翻译文本中的每个待翻译词依次进行映射处理,得到所述待翻译文本的隐状态表示,所述隐状态表示包括每个所述待翻译词的词向量表示;
[0009] 根据所述待翻译文本的隐状态表示,预测得到候选词集合;
[0010] 在调用解码器对所述隐状态表示进行解码翻译过程中,针对于每个所述待翻译词,获取在所述待翻译词之前的已翻译词对应的中间向量表示;
[0011] 根据所述中间向量表示,预测所述待翻译词的未来词向量表示;
[0012] 调用所述解码器依次基于每一所述待翻译词的词向量表示和所述未来词向量表示,在所述候选词集合中预测出与所述待翻译文本对应的译文。
[0013] 本申请实施例提供一种文本翻译装置,所述装置包括:
[0014] 映射处理模块,用于调用编码器对待翻译文本中的每个待翻译词依次进行映射处理,得到所述待翻译文本的隐状态表示,所述隐状态表示包括每个所述待翻译词的词向量
表示;
[0015] 第一预测模块,用于根据所述待翻译文本的隐状态表示,预测得到候选词集合;
[0016] 获取模块,用于在调用解码器对所述隐状态表示进行解码翻译过程中,针对于每个所述待翻译词,获取在所述待翻译词之前的已翻译词对应的中间向量表示;
[0017] 第二预测模块,用于根据所述中间向量表示,预测所述待翻译词的未来词向量表示;
[0018] 第三预测模块,用于调用所述解码器依次基于每一所述待翻译词的词向量表示和所述未来词向量表示,在所述候选词集合中预测出与所述待翻译文本对应的译文。
[0019] 本申请实施例提供一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中;其中,计算机设
备的处理器从所述计算机可读存储介质中读取所述计算机指令,所述处理器用于执行所述
计算机指令,实现上述的文本翻译方法。
[0020] 本申请实施例提供一种文本翻译设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述的文本翻译方法。
[0021] 本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现上述的文本翻译方法。
[0022] 本申请实施例具有以下有益效果:调用编码器对待翻译文本中的每个待翻译词依次进行映射处理,得到所述待翻译文本的隐状态表示,并根据待翻译文本的隐状态表示,预
测得到候选词集合,实现建模全局上下文;在调用解码器对隐状态表示进行解码翻译过程
中,针对于每个待翻译词,获取在待翻译词之前的已翻译词对应的中间向量表示,并根据中
间向量表示,预测待翻译词的未来词向量表示,从而实现提前预测并建模未来上下文,如
此,在对待翻译文本进行翻译时,能够基于每一待翻译词的词向量表示和未来词向量表示,
在候选词集合中预测出与待翻译文本对应的译文,即充分利用预测得到的全局信息和局部
未来信息来辅助翻译过程,从而有效提升文本翻译的效率。

附图说明

[0023] 图1是本申请实施例提供的文本翻译系统的一个可选的架构示意图;
[0024] 图2是本申请实施例提供的文本翻译设备的结构示意图;
[0025] 图3是本申请实施例提供的文本翻译方法的一个可选的流程示意图;
[0026] 图4是本申请实施例提供的文本翻译模型的结构示意图;
[0027] 图5是本申请实施例提供的文本翻译方法的一个可选的流程示意图;
[0028] 图6是本申请实施例提供的文本翻译模型的另一种结构示意图;
[0029] 图7是本申请实施例提供的文本翻译方法的一个可选的流程示意图;
[0030] 图8是本申请实施例提供的文本翻译模型的训练方法的流程示意图;
[0031] 图9是本申请实施例的产品界面图;
[0032] 图10是本申请实施例提供的机器翻译模型的结构示意图;
[0033] 图11是本申请实施例提供的机器翻译模型的结构示意图;
[0034] 图12是本申请实施例提供的基于局部分类器的未来上下文建模示意图;
[0035] 图13是本申请实施例提供的预测未来上下文的过程示意图;
[0036] 图14是本申请实施例提供的预测未来上下文的过程示意图;
[0037] 图15是本申请实施例融合未来解码器和标准解码器信息的过程示意图。

具体实施方式

[0038] 为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有
做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0039] 在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突
的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于
本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只
是为了描述本申请实施例的目的,不是旨在限制本申请。
[0040] 在解释本申请实施例之前,首先对本申请中涉及的名词及关键术语进行解释:
[0041] 1)神经机器翻译(NMT,Neural Machine Translation):是一种基于神经网络的机器翻译模型。
[0042] 2)词向量:是将输入的词映射成向量表示,称该向量为输入词的词向量。
[0043] 3)隐状态(hidden states):指的是神经网络编码生成的向量,例如通过以词向量为输入,使用一层或多层神经网络对该词向量进行编码,生成的所有中间结果都称为隐状
态。
[0044] 4)双语数据:这里以中英为例,双语数据 ,双语数据中的第 个样例 互为中英文翻译。
[0045] 5)训练:是指使用双语数据训练机器翻译模型,其中 为输入, 为标签。
[0046] 6)解码/测试/翻译:本文中交替使用这三种描述,它们所表示的含义是完全一样的,即使用训练结束后的模型,翻译任意的源端输入x,生成相应的机器译文。
[0047] 7)源端输入/源语言输入/源端文本/源文:是指源语言端的输入句子,即双语数据中的 (忽略上标时记为x)。
[0048] 8)参考译文:是指给定源端输入,对该源端输入进行人工翻译得到的译文,即双语数据中的 (忽略上标时记为y)。
[0049] 9)词袋(BoWs,Bag of Words):正常句子是有序的词序列,而词袋是无序的词集合。
[0050] 10)机器译文:是指给定源端输入时,机器翻译系统生成的相应译文,机器译文区别于参考译文 (机器译文记为 )。
[0051] 在说明本申请实施例的文本翻译方法之前,首先对相关技术中的文本翻译方法进行说明:
[0052] 在传统机器翻译模型中,对于给定的源端输入,翻译系统通常采用自回归式建模方式进行文本翻译。自回归式建模天然地符合人类的阅读习惯,因此是一种直观的,并且符
合认知逻辑的自然语言建模方式。因此,在自回归式建模中,每个解码步骤只能看到过去已
经生成的译文片段,而无法看到尚未生成的译文片段。显然,这使得机器翻译模型在解码时
能获得的信息,受限于已翻译的局部上下文。而相关技术中并没有同时利用全局上下文和
局部未来上下文进行建模的方式。
[0053] 相关技术中,针对全局上下文的利用,翻译模型主要采用了以下技术方案:
[0054] 1)迭代式翻译:即基于源端文本和已生成的、完整的机器译文,对机器译文进行不断地更新,从而生成更好的译文;
[0055] 2)异步双向解码:即先从右向左生成反向译文,再从左向右生成正向译文,两个过程串行进行,因此这种方法本质上可以归类于迭代式翻译;
[0056] 3)词袋预测:即在编码器、解码器中增加一个监督项来预测目标端句子的词袋,使得编码器、解码器能够编码一定的目标端全局信息;
[0057] 4)建模已翻译和未翻译的上下文:即对源端进行建模,通过区分已翻译和未翻译的源端信息,来隐式地建模全局上下文。
[0058] 针对局部未来上下文的利用,翻译模型主要采用了以下技术方案:
[0059] 5)同步双向解码:即在解码过程中,并行地生成正向和反向的译文,这个过程是同步进行的,模型所生成的反向译文片段,可以认为是局部未来上下文;
[0060] 6)预测当前词的词性:即在解码过程中,预测第t个词时,先预测该词的词性,然后利用这个词性的信息,最终生成第t个词。
[0061] 但是,相关技术中的上述六种方案,至少存在以下问题:
[0062] 1)迭代式翻译:需要多遍翻译,效率低下,难以满足实际场景对响应速度、计算效率的高要求;
[0063] 2)异步双向解码:缺点与迭代式翻译相同;
[0064] 3)词袋预测:只是将词袋信息作为训练时的额外监督信息,并没有将预测结果用于辅助翻译过程,模型提升有限;
[0065] 4)建模已翻译和未翻译的上下文:隐式地建模已翻译和未翻译的源端信息,没有显式建模与当前解码更相关的目标端未来信息,模型提升有限;
[0066] 5)同步双向解码:训练过程代价高,实现复杂,线上部署难度高;
[0067] 6)预测当前词的词性:只利用了与当前的一个词相关的未知信息,没有充分利用未来的译文片段信息,模型提升有限。
[0068] 基于相关技术中所存在的上述问题,本申请实施例提供一种文本翻译方法,该方法对机器翻译模型进行改进,提出提前预测并建模局部未来上下文,帮助模型探索、利用未
来上下文的信息,来辅助当前解码;另外,通过建模全局上下文,提高模型生成的表示的可
判别性。这两种方式的结合,使得模型能够充分利用全局信息和局部未来信息,从而有效提
升翻译模型的性能。此外,建模全局上下文的一个额外好处是,还可以大幅缩减翻译时的候
选词表,从而有效提升翻译模型的效率。
[0069] 本申请实施例提供的文本翻译方法,首先,调用编码器对待翻译文本中的每个待翻译词依次进行映射处理,得到待翻译文本的隐状态表示,其中,隐状态表示包括每个待翻
译词的词向量表示;并根据待翻译文本的隐状态表示,预测得到候选词集合;然后,在调用
解码器对隐状态表示进行解码翻译过程中,针对于每个待翻译词,获取在待翻译词之前的
已翻译词对应的中间向量表示;并根据中间向量表示,预测待翻译词的未来词向量表示;最
后,调用解码器依次基于每一待翻译词的词向量表示和未来词向量表示,在候选词集合中
预测出与待翻译文本对应的译文。如此,在对待翻译文本进行翻译时,能够基于每一待翻译
词的词向量表示和未来词向量表示,在候选词集合中预测出与待翻译文本对应的译文,即
充分利用预测得到的全局信息和局部未来信息来辅助翻译过程,从而有效提升文本翻译的
效率。
[0070] 下面说明本申请实施例的文本翻译设备的示例性应用,在一种实现方式中,本申请实施例提供的文本翻译设备可以实施为笔记本电脑,平板电脑,台式计算机,移动设备
(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智
能机器人等任意的具备文本输入功能或文本编辑功能或文本翻译应用的终端;在另一种实
现方式中,本申请实施例提供的文本翻译设备还可以实施为服务器。下面,将说明文本翻译
设备实施为服务器时的示例性应用。
[0071] 参见图1,图1是本申请实施例提供的文本翻译系统10的一个可选的架构示意图。为实现对待翻译文本进行准确的翻译,本申请实施例提供的文本生成系统10中包括终端
100、网络200和服务器300,终端100上运行有文本翻译应用,该文本翻译应用能够实现将输
入的待翻译文本翻译成对应的译文并输出。本申请实施例中,用户可以在终端上的文本翻
译应用的客户端输入待翻译文本,终端根据待翻译文本形成文本翻译请求,文本翻译请求
中包括待翻译文本,终端将文本翻译请求通过网络200发送给服务器300。
[0072] 本申请实施例中,服务器300可以是文本翻译应用的应用服务器。服务器300获取待翻译文本,调用编码器对待翻译文本中的每个待翻译词依次进行映射处理,得到待翻译
文本的隐状态表示,其中隐状态表示包括每个待翻译词的词向量表示;并根据待翻译文本
的隐状态表示,预测得到候选词集合;然后,在调用解码器对隐状态表示进行解码翻译过程
中,针对于每个待翻译词,获取在待翻译词之前的已翻译词对应的中间向量表示;根据中间
向量表示,预测待翻译词的未来词向量表示;最后,调用解码器依次基于每一待翻译词的词
向量表示和未来词向量表示,在候选词集合中预测出与待翻译文本对应的译文。服务器300
在生成译文之后将译文发生给终端100,终端100在当前界面100‑1上现实与待翻译文本对
应的译文。在一些实施例中,在当前界面上可以同时显示待翻译文本和译文,也可以仅显示
译文。
[0073] 本申请实施例所提供的文本翻译方法还可以基于云平台并通过云技术来实现,例如,上述服务器300可以是云端服务器,通过云端服务器对待翻译文本进行文本翻译处理,
生成最终的译文。或者,还可以具有云端存储器,可以将编码器和解码器的参数存储于云端
存储器中,在进行文本翻译处理时,可以从云端存储器中获取编码器和解码器准确的参数,
从而通过编码器和解码器实现本申请实施例的文本翻译方法。在一些实施例中,可以将翻
译得到的译文存储于云端存储器中,以便于用户在后续想继续翻译相同的待翻译文本时,
可以直接从云端存储器中获取该待翻译文本对应的译文,无需服务器进行再次翻译,降低
了服务器的数据处理量。
[0074] 这里需要说明的是,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技
术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络
系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。
伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需
要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需
要强大的系统后盾支撑,只能通过云计算来实现。
[0075] 在一些实施例中,本申请实施例提供的文本翻译方法还涉及人工智能技术领域,通过人工智能技术来确定出对应于待翻译文本的译文,即可以通过人工智能技术对待翻译
文本中的每个待翻译词依次进行映射处理,通过人工智能技术预测得到候选词集合,且通
过人工智能技术预测每个待翻译词的未来词,进而准确的确定出待翻译文本对应的译文。
在一些实施例中,还可以通过人工智能技术训练一文本翻译模型,通过该文本翻译模型来
实现本申请实施例的文本翻译方法,即通过该文本翻译模型来自动生成对应于待翻译文本
的译文。
[0076] 本申请实施例中,至少可以通过人工智能技术中的机器学习技术和自然语言处理技术来实现。其中,机器学习(ML,Machine Learning)是一门多领域交叉学科,涉及概率论、
统计学、逼近论、凸分析、算法复杂度理论等多门学科,专门研究计算机怎样模拟或实现人
类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性
能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的
各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归
纳学习、式教学习等技术。自然语言处理(NLP,Nature Language processing)是计算机科
学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行
有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科
学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研
究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问
答、知识图谱等技术。
[0077] 图2是本申请实施例提供的文本翻译设备的结构示意图,图2所示的文本翻译设备包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。文本翻译设
备中的各个组件通过总线系统340耦合在一起。可理解,总线系统340用于实现这些组件之
间的连接通信。总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号
总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统340。
[0078] 处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者
晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理
器等。
[0079] 用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口330还包括一个或多个输入装置332,包
括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输
入按钮和控件。
[0080] 存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一
个或多个存储设备。存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非
易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性
存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器
350旨在包括任意适合类型的存储器。在一些实施例中,存储器350能够存储数据以支持各
种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0081] 操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0082] 网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,
Universal Serial Bus)等;
[0083] 输入处理模块353,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
[0084] 在一些实施例中,本申请实施例提供的装置可采用软件方式实现,图2示出了存储在存储器350中的一种文本翻译装置354,该文本翻译装置354可以是文本翻译设备中的文
本翻译装置,其可以是程序和插件等形式的软件,包括以下软件模块:映射处理模块3541、
第一预测模块3542、获取模块3543、第二预测模块3544和第三预测模块3545,这些模块是逻
辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个
模块的功能。
[0085] 在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申
请实施例提供的文本翻译方法,例如,硬件译码处理器形式的处理器可以采用一个或多个
应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑
器件(PLD,Programmable  Logic  Device)、复杂可编程逻辑器件(CPLD,Complex 
Programmable Logic Device)、现场可编程门阵列(FPGA,Field‑Programmable Gate 
Array)或其他电子元件。
[0086] 下面将结合本申请实施例提供的文本翻译设备的示例性应用和实施,说明本申请实施例提供的文本翻译方法,其中,该文本翻译设备可以是任意一种具备文本输入功能或
文本编辑功能或文本翻译应用的终端,或者也可以是服务器,即本申请实施例的文本翻译
方法可以通过终端来执行,也可以通过服务器来执行,或者还可以通过终端与服务器进行
交互来执行。
[0087] 参见图3,图3是本申请实施例提供的文本翻译方法的一个可选的流程示意图,下面将结合图3示出的步骤进行说明,需要说明的是,图3中的文本翻译方法是通过服务器作
为执行主体来实现的文本翻译方法。
[0088] 步骤S301,调用编码器对待翻译文本中的每个待翻译词依次进行映射处理,得到待翻译文本的隐状态表示,隐状态表示包括每个待翻译词的词向量表示。
[0089] 这里,编码器对输入的待翻译文本进行分词处理,得到至少一个待翻译词,然后依次将每一待翻译词映射成词向量,通过待翻译文本对应的全部待翻译词的词向量共同形成
待翻译文本的隐状态表示。需要说明的是,待翻译文本的隐状态表示是编码器的输出向量,
即待翻译文本的隐状态表示是编码器的最后一层的输出。隐状态表示包括每个待翻译词的
词向量表示,隐状态表示由全部待翻译词的词向量表示形成。
[0090] 步骤S302,根据待翻译文本的隐状态表示,预测得到候选词集合。
[0091] 这里,候选词集合中包括至少一个候选词,候选词是用于作为待翻译文本中每个待翻译词对应的译文词的,也就是说,最终在确定待翻译文本对应的译文时,可以是在候选
词集合中确定出译文。候选词集合是从预设词库中筛选得到的词集合,候选词集合中的候
选词的数量远小于预设词库中的词的数量。举例来说,预设词库可以是预先设置的包括所
有常规词的词库,预设词库中的词的数量众多,但是对于待翻译文本来说,需要的候选词只
是预设词库中的一小部分词,因此,可以先对预设词库中的词进行筛选,得到候选词集合,
这样,在后续确定译文的时候,只需在候选词集合中确定出匹配的译文,从而能够极大的提
高翻译的速度。
[0092] 本申请实施例中,可以根据待翻译文本的隐状态表示,从预设词库中预测得到候选词集合。在预测的时候,可以是根据待翻译文本的隐状态表示进行筛选,在预设词库中筛
选出与待翻译词语义最接近的一定数量的词作为候选词。
[0093] 步骤S303,在调用解码器对隐状态表示进行解码翻译过程中,针对于每个待翻译词,获取在待翻译词之前的已翻译词对应的中间向量表示。
[0094] 这里,待翻译词之前的已翻译词是指对于待翻译文本中当前的待翻译词之前的全部待翻译词进行翻译之后所得到的译文词,也就是说,已翻译词是对待翻译词进行解码翻
译之后所得到的词。需要说明的是,对每一待翻译词进行解码翻译后得到的译文词包括一
个或多个单词,因此,当前的待翻译词之前的已翻译词的数量与当前的待翻译词之前的全
部待翻译词的数量可以相同,也可以不同。
[0095] 中间向量表示是对当前的待翻译词之前的全部已翻译词进行词向量映射后得到的向量表示,中间向量表示包括每一已翻译词的词向量表示。
[0096] 在一些实施例中,在调用解码器对隐状态表示进行解码翻译过程中,可以采用注意力机制获取编码器得到的待翻译文本的隐状态表示,也就是说,在编码器与解码器之间
可以通过注意力机制进行连接,这样通过注意力机制作为连接编码器和解码器的桥梁,能
够起到信息抽取和双语对齐的作用。
[0097] 步骤S304,根据中间向量表示,预测待翻译词的未来词向量表示。
[0098] 这里,在对每一待翻译词进行解码翻译过程中,可以同时预测该待翻译词之后的未来词,也就是说,预测待翻译词的未来词的未来词向量表示,其中,未来词向量表示可以
根据待翻译词之前的已翻译词对应的中间向量表示来得到,即可以对中间向量表示进行一
系列的线性变换处理,从而预测得到未来词的未来词向量表示。
[0099] 需要说明的是,每一待翻译词对应的未来词的数量并不相等,位于待翻译文本中靠前的待翻译词对应的未来词的数量,大于位于待翻译文本中靠后的待翻译词对应的未来
词的数量。当前的待翻译词对应的未来词是指预测得到的位于当前的待翻译词之后的其他
待翻译词对应的译文词,预测得到的未来词与待翻译词对应的真实的译文词可以相同,也
可以不同,也可以相近。
[0100] 本申请实施例中,通过在对每一待翻译词进行解码翻译过程中同时预测该待翻译词之后的其他待翻译词对应的未来词,可以结合局部未来词向量辅助对当前的待翻译词的
翻译,从而能够极大的提高对待翻译文本的翻译准确性。
[0101] 步骤S305,调用解码器依次基于每一待翻译词的词向量表示和未来词向量表示,在候选词集合中预测出与述待翻译文本对应的译文。
[0102] 这里,在对每一待翻译词进行解码翻译时,不仅考虑该待翻译词的词向量表示,还会同时考虑该待翻译词的未来词的未来词向量,即通过未来词向量辅助本次待翻译词的解
码翻译。
[0103] 本申请实施例中,在解码器进行解码翻译时,为了提高翻译的效率,可以不用在整个大的预设词库中匹配译文,而是在预先预测得到的候选词集合中进行匹配,也就是说,从
候选词集合中匹配出与每一待翻译词对应的译文词,并对译文词进行排序形成译文,如此,
能够极大的降低解码翻译的数据匹配量,从而提高翻译效率。并且,由于候选词集合是根据
待翻译文本的隐状态表示得到的,因此候选词集合中包括了全部待翻译词对应的可能的译
文词,因此在候选词集合中预测译文,也能够保证所预测的译文的准确性。
[0104] 本申请实施例提供的文本翻译方法,调用编码器对待翻译文本中的每个待翻译词依次进行映射处理,得到所述待翻译文本的隐状态表示,并根据待翻译文本的隐状态表示,
预测得到候选词集合,实现建模全局上下文;在调用解码器对隐状态表示进行解码翻译过
程中,针对于每个待翻译词,获取在待翻译词之前的已翻译词对应的中间向量表示,并根据
中间向量表示,预测待翻译词的未来词向量表示,从而实现提前预测并建模未来上下文,如
此,在对待翻译文本进行翻译时,能够基于每一待翻译词的词向量表示和未来词向量表示,
在候选词集合中预测出与待翻译文本对应的译文,即充分利用预测得到的全局信息和局部
未来信息来辅助翻译过程,从而有效提升文本翻译的效率。
[0105] 在一些实施例中,文本翻译方法可以通过文本翻译模型来实现,图4是本申请实施例提供的文本翻译模型的结构示意图,如图4所示,文本翻译模型400包括:编码器401、解码
器402、全局分类器403和局部分类器404,其中,编码器401用于将输入的待翻译文本编码成
隐状态来表示;解码器402用于从编码器生成的隐状态中,抽取相关的源端上下文信息,来
从左向右逐个生成译文单词;全局分类器403用于预测解码器解码翻译时的候选词集合;局
部分类器404用于在对每个待翻译词进行解码翻译过程中,预测与该待翻译词对应的未来
的K个词(即未来词)。
[0106] 基于图3的文本翻译方法和图4所提供的文本翻译模型,本申请实施例提供一种文本翻译方法,如图5所示,是本申请实施例提供的文本翻译方法的一个可选的流程示意图,
在一些实施例中,步骤S301可以通过以下步骤实现:
[0107] 步骤S501,对待翻译文本进行分词处理,得到至少一个待翻译词。
[0108] 这里,可以采用人工智能技术对待翻译文本进行识别和分词处理,得到至少一个待翻译词。
[0109] 步骤S502,调用编码器对每个待翻译词进行词向量映射,得到与每个待翻译词对应的词向量表示。
[0110] 这里,词向量映射是指将待翻译词映射成向量形式来表示,每一待翻译词对应一词向量表示。
[0111] 步骤S503,通过编码器对每个待翻译词对应的词向量表示依次进行向量变换处理,得到待翻译文本的隐状态表示。
[0112] 这里,向量变换处理可以是通过特定的线性变换函数作为权重,对每一词向量表示进行线性变换处理,从而得到待翻译文本的隐状态表示。
[0113] 请继续参照图5,在一些实施例中,步骤S302可以通过以下步骤实现:
[0114] 步骤S504,调用全局分类器,基于待翻译文本的隐状态表示,采用多分类方式,确定出预设词库中的每一词作为待翻译词对应的候选词的概率。
[0115] 本申请实施例中,由于在对候选词进行预测时,是根据待翻译文本对应的多个待翻译词进行的,因此,预测得到的候选词的数量为多个,所以在对预设词库中的词进行预测
分类时,可以采用多分类方式进行预测,将预设词库中的词分成多个类别,对于每一待翻译
词,在每一类别中确定候选词。
[0116] 这里,预设词库中的每一词作为待翻译词对应的候选词的概率越高,表明该词作为待翻译词的候选词的可能性越大,反之,则表明该词作为待翻译词的候选词的可能性越
小。
[0117] 当预设词库中的同一词被确定作为多个待翻译词的候选词的概率时,可以首先得到作为每一待翻译词的候选词的初始概率,然后对多个初始概率进行加权求和,得到一个
最终概率,通过这个最终概率来进行候选词的筛选。
[0118] 步骤S505,按照概率由大到小的顺序,对预设词库中的词进行排序,形成词序列。
[0119] 本申请实施例中,在得到每一词作为待翻译词的候选词的概率之后,按照概率由大到小的顺序进行排序,可以是按照每一词的最终概率由大到小的顺序进行排序。
[0120] 步骤S506,将词序列中的前预设数量的词,确定为候选词集合中的候选词。
[0121] 请继续参照图5,在一些实施例中,步骤S303中获取在待翻译词之前的已翻译词对应的中间向量表示,可以通过以下步骤实现:
[0122] 步骤S507,将待翻译文本中位于当前的待翻译词之前的全部待翻译词,确定为目标待翻译词。
[0123] 步骤S508,获取解码器对目标待翻译词进行翻译后得到的全部已翻译词。
[0124] 步骤S509,对全部已翻译词进行词向量映射,得到与每个已翻译词对应的词向量表示。
[0125] 步骤S510,通过解码器对每个已翻译词对应的词向量表示依次进行向量变换处理,得到与全部已翻译词对应的隐状态表示。
[0126] 这里,可以采用线性变换矩阵作为权重矩阵,对词向量进行向量变换处理,
[0127] 步骤S511,将全部已翻译词对应的隐状态表示,确定为当前的待翻译词对应的中间向量表示。
[0128] 请继续参照图5,在一些实施例中,步骤S304可以通过以下步骤实现:
[0129] 步骤S512,在调用解码器对待翻译文本中的每个待翻译词进行解码翻译的过程中,调用局部分类器,根据当前的待翻译词对应的中间向量表示,预测与当前的待翻译词对
应的未来词的未来词向量表示。
[0130] 这里,局部分类器是区别于全局分类器的另一种分类器,局部分类器用于预测当前的待翻译词对应的未来词的未来词向量表示。局部分类器可以与解码器具有相同的网络
结构,也可以与解码器具有不同的网络结构,局部分类器是基于解码器对当前的待翻译词
之前的其他待翻译词进行预测所得到的中间向量表示,来进行进一步的预测的,且针对于
每一当前的待翻译词,局部分类器与解码器的预测过程可以是同时进行的,因此,局部分类
器在进行预测时,不仅与解码器进行串行计算,还与解码器进行并行计算。
[0131] 基于图4所提供的文本翻译模型,在一些实施例中,上述解码器402包括标准解码器和未来解码器,图6是本申请实施例提供的文本翻译模型的另一种结构示意图,如图6所
示,文本翻译模型400包括:编码器401、标准解码器601、未来解码器602、全局分类器403和
局部分类器404,其中,标准解码器601用于生成与当前的待翻译词对应的标准状态表示,未
来解码器602用于生成与当前的待翻译词对应的未来状态表示。
[0132] 基于图3,如图7所示,是本申请实施例提供的文本翻译方法的一个可选的流程示意图,在一些实施例中,步骤S305可以通过以下步骤实现:
[0133] 步骤S701,调用标准解码器,根据当前的待翻译词的词向量表示和当前的待翻译词对应的中间向量表示,生成与当前的待翻译词对应的标准状态表示。
[0134] 在一些实施例中,步骤S701可以通过以下步骤实现:
[0135] 步骤S7011,调用标准解码器,根据当前的待翻译词的词向量表示和当前的待翻译词对应的中间向量表示,确定出预设词库中的每一词作为当前的待翻译词对应的译文词的
第一概率。
[0136] 步骤S7012,将具有最高第一概率的词的词向量表示,确定为标准状态表示。
[0137] 步骤S702,调用未来解码器,根据当前的待翻译词的词向量表示和未来词向量表示,生成与当前的待翻译词对应的未来状态表示。
[0138] 在一些实施例中,步骤S702可以通过以下步骤实现:
[0139] 步骤S7021,调用未来解码器,根据当前的待翻译词的词向量表示和未来词向量表示,确定出预设词库中的每一词作为当前的待翻译词对应的未来词的第二概率。步骤
S7022,确定当前的待翻译词对应的未来词的未来词数量。步骤S7023,根据第二概率,在预
设词库中选择具有未来词数量的词,作为当前的待翻译词对应的目标未来词。步骤S7024,
将目标未来词的词向量表示,确定为未来状态表示。
[0140] 步骤S703,根据每个待翻译词的标准状态表示和未来状态表示,在候选词集合中生成与待翻译文本对应的译文。
[0141] 在一些实施例中,步骤S703可以通过以下步骤实现:
[0142] 步骤S7031,对标准状态表示和未来状态表示进行融合处理,得到与当前的待翻译词对应的译文词的词向量表示。步骤S7032,根据全部待翻译词对应的译文词的词向量表
示,在候选词集合中生成与待翻译文本对应的译文。
[0143] 基于上述图4和图6所提供的文本翻译模型,本申请实施例提供一种文本翻译模型的训练方法,图8是本申请实施例提供的文本翻译模型的训练方法的流程示意图,如图8所
示,包括以下步骤:
[0144] 步骤S801,将样本待翻译文本输入至文本翻译模型中。
[0145] 步骤S802,通过编码器,对样本待翻译文本中的每个样本待翻译词依次进行映射处理,得到样本待翻译文本的样本隐状态表示,样本隐状态表示包括每个样本待翻译词的
样本词向量表示。
[0146] 步骤S803,通过全局分类器,根据样本待翻译文本的样本隐状态表示,预测得到样本候选词集合。
[0147] 步骤S804,通过局部分类器,预测样本待翻译词的样本未来词向量表示。
[0148] 步骤S805,通过解码器,依次基于每一样本待翻译词的样本词向量表示和样本未来词向量表示,在样本候选词集合中预测出与样本待翻译文本对应的样本译文。
[0149] 步骤S806,将样本译文输入至预设损失模型中,得到损失结果。
[0150] 这里,损失模型中包括损失函数,通过损失函数计算样本译文与人工预先标注的标准译文之间的相似度,根据所得到的相似度确定该损失结果。
[0151] 本申请实施例中,当样本译文与标准译文之间的相似度大于相似度阈值时,表明样本译文与标准译文之间比较接近,文本翻译模型能够准确的预测出待翻译文本的译文,
即文本翻译模型能够实现准确的翻译工作,因此损失结果表明当前的文本翻译模型中的参
数需要修正的范围较小或者无需再进行修正;当样本译文与标准译文之间的相似度小于或
等于相似度阈值时,表明样本译文与标准译文之间差距比较大,文本翻译模型不能准确的
预测出待翻译文本的译文,即文本翻译模型不能实现准确的翻译工作,因此损失结果表明
当前的文本翻译模型中的参数需要进行较大范围的修正。
[0152] 步骤S807,根据损失结果,对编码器、解码器、全局分类器和局部分类器中的参数进行修正,得到训练后的文本翻译模型。
[0153] 本申请实施例,在得到损失结果之后,根据损失结果确定出当前训练过程中对文本翻译模型中的编码器、解码器、全局分类器和局部分类器中的参数进行修正的修正值和
修正范围,并采用所确定出的修正值和修正范围对参数进行修正,实现对文本翻译模型中
参数的反向传播。
[0154] 在一些实施例中,还可以预先设置文本翻译模型的训练约束条件,这里的训练约束条件包括但不限于以下任意一种:训练次数阈值、训练时间阈值和样本译文与标准译文
之间的相似度阈值。
[0155] 当训练约束条件为训练次数阈值时,在文本翻译模型每训练一次(即每进行一次参数修正过程),即记为一次有效的训练次数,即训练次数加一;当训练次数达到训练次数
阈值时,则停止对文本翻译模型的训练,并将当前得到的训练后的文本翻译模型,确定为最
终训练好的文本翻译模型。
[0156] 当训练约束条件为训练时间阈值时,在文本翻译模型开始训练时即开始计时,当训练时间达到训练时间阈值时,则停止对文本翻译模型的训练,并将当前得到的训练后的
文本翻译模型,确定为最终训练好的文本翻译模型。
[0157] 当训练约束条件为相似度阈值时,在文本翻译模型每次的训练过程中,均判断所得到的样本译文与标准译文之间的相似度是否达到相似度阈值,如果达到相似度阈值,则
停止对文本翻译模型的训练,并将当前得到的训练后的文本翻译模型,确定为最终训练好
的文本翻译模型。
[0158] 本申请实施例提供的文本翻译模型的训练方法,依次通过文本翻译模型中的编码器、全局分类器、局部分类器和解码器对输入的样本待翻译文本进行处理,得到最终的样本
译文;并通过预设损失模型确定样本译文与标准译文之间的相似度,得到损失结果,从而实
现根据损失结果对文本翻译模型中的参数进行修正,得到最终训练好的文本翻译模型。如
此,根据训练好的文本翻译模型,能够对待翻译文本进行高效和准确的翻译,提高文本翻译
应用的用户使用体验。
[0159] 下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
[0160] 本申请实施例提供一种文本翻译方法,通过建模全局上下文,提高文本翻译模型学习到的表示的判别能力,从而提升模型性能;通过建模局部上下文,利用未来信息辅助当
前解码步骤,从而提升模型性能;且本申请实施例的文本翻译模型的训练方式和传统机器
翻译模型相同,不额外增加训练复杂度;在解码时,通过预测得到的词袋(即候选词集合)对
候选词表(即预设词库)进行剪枝,在不损失性能的前提下,能够提升解码速度;同时,本申
请实施例的方法实现方式简单,容易实现线上部署。
[0161] 本申请实施例的文本翻译方法可以应用到任意一种翻译类产品中,例如可以应用到XX翻译君软件中。图9是本申请实施例的产品界面图,如图9所示,以中英翻译为例,展示
了一个中文句子901对应的英文译文902,在将中文句子901翻译成英文译文902时,可以采
用本申请实施例提供的文本翻译方法来进行后台实现。
[0162] 下面对本申请实施例提供的文本翻译模型进行说明。本申请实施例的文本翻译模型是一种基于神经网络的机器翻译模型(即NMT模型),通常由一个编码器和解码器组成,模
型结构如图10所示,机器翻译模型1000遵循常见的编解码器架构,由编码器1001
(encoder)、解码器1002(decoder)和注意机制1003(attention)组成。编码器1001、解码器
1002和注意机制1003(即注意力机制)均为多层神经网络。
[0163] 其中,编码器1001用于将源语言文本(即待翻译文本)编码成隐状态来表示;解码器1002通过注意机制1003从编码器1001生成的隐状态中,抽取相关的源端上下文信息,来
从左向右逐个生成译文单词;注意机制1003作为连接编码器1001、解码器1002的桥梁,在某
种程度上起到信息抽取、双语对齐的作用。
[0164] 图10中的 表示源端输入的m个词, 表示译文的n个词。
[0165] 在实现的过程中,第一步,编码器首先将源端输入的x逐个映射成词向量,输入到编码器中,编码器生成相应的m个隐状态,记为 ,作为源端句子的表示
(即待翻译文本的隐状态表示);第二步,以解码器生成第t个词为例,解码器将前目标端y的
t‑1个词映射为词向量,输入到解码器中,并使用解码器生成的隐状态,记为 (即中间向量
表示),来预测 ;最后,解码器重复上述的第二步,直到生成完整的译文。源端和目标端的
隐状态,分别来自NMT子模型的编码器与解码器的最后一层向量,表示 所对应的相关
信息。
[0166] 在解码器端,通过以下公式(1‑1),基于隐状态 使用一个softmax线性分类器来预测第t个译文单词:
[0167]           (1‑1);
[0168] 其中, 表示第t个解码步骤在目标端词表(对应上述的预设词库,其中,目标端词表中包括预设词库中的所有词)上的概率分布; 表示参数矩阵,是一个权重矩阵,
用于对 做线性变换。
[0169] 本申请实施例中,NMT模型主要基于循环神经网络、卷积神经网络或自注意机制实现。本申请实施例使用基于自注意机制的翻译模型作为基础架构。
[0170] 在一些实施例中,可以在编码器端增加一个全局分类器G,用于预测目标端词袋(对应上述的候选词集合,其中,目标端词袋中包括候选词集合中的所有词),实现全局上下
文建模。与解码器的不同点在于,解码器使用自回归的方式逐个生成译文单词,因此后生成
的词依赖于之前生成的词,而在全局上下文建模时,可以使用多分类的方式,直接预测目标
端的所有词。基于图10,图11是本申请实施例提供的机器翻译模型的结构示意图,如图11所
示,在编码器端增加了一个全局分类器1101。 是该全局分类器的目标函数,全局分类器
的目标函数如以下公式(1‑2)至(1‑4):
[0171]                  (1‑2);
[0172]           (1‑3);
[0173]            (1‑4);
[0174] 其中, 表示对编码器生成的m个隐状态H进行池化处理,公式(1‑2)可以是对源端隐状态集合H通过一个最大化池化(max‑pooling)操作得到一个单独的向量,作
为源端信息的总结,用于预测目标端词袋;公式(1‑3)与上述公式(1‑1)使用相同的参数W,
以避免增加额外的参数。
[0175] 全局分类器G不必关心目标端词的顺序信息,只需要判别在给定源端句子的情况下,所有可能的目标端候选词集合。通过全局分类器G的引入,可以在编码器中建模目标端
的全局上下文,从而显式地拉近编码器生成的隐状态与解码器生成的译文之间的距离,提
高编码器生成的隐状态与解码器生成的译文之间相关性,以及编码器所生成表示关于译文
的判别能力。
[0176] 然而,编码器预测出的目标端词袋所代表的全局上下文,实际上只对应全局分类器G的一个概率分布向量,难以引入到解码器中辅助解码。针对这一问题,将进一步在解码
器端引入局部未来上下文的建模。
[0177] 在一些实施例中,提出一种基于局部分类器的未来上下文建模,如图12所示,这里以解码器端的第1个解码步骤为例,与全局上下文的建模相似,在解码器端引入一个局部分
类器1201(记为局部分类器F),用于预测未来的K个词。与编码器中的全局分类器G不同的
是,全局分类器G只在生成所有源端隐状态H后,预测一次目标端词袋;而局部分类器F在解
码器端的每一个解码步骤都需要预测未来译文的词袋,即需要预测n次。与公式(1‑4)相似,
在第t个步骤,局部分类器的目标函数 通过以下公式(1‑5)和(1‑6)进行定义:
[0178] (1‑5);
[0179]    (1‑6);
[0180] 其中,公式(1‑5)与公式(1‑3)共享参数矩阵W; 是一个线性变换矩阵,每一步解码的过程对应一个 ;K表示局部分类器所预测的未来词的数量; 表示第t个
解码步骤在目标端词表上预测未来的第k个词的概率分布; 表示在满足
的条件下,第t个解码步骤在目标端词表上预测未来的第k个词的概率分布。
[0181] 需要说明的是,局部分类器使得解码器第t个步骤的隐状态 能够包含未翻译片段的信息。
[0182] 在一些实施例中,还可以将预测出的未来上下文,引入到当前解码步骤中。
[0183] 这里仍然以第1个解码步骤为例,假设K=2,那么可以提前预测出后面的两个词,具体如图13所示,对于解码器预测得到的第一个词1301,还可以预测出词1301后面的两个词,
记为未来上下文词 和 (其中,未来上下文词对应的词向量表示即为上述未来词向量
表示)。
[0184] 然后,需要建模提前预测出的这2个未来上下文词 和 ,与当前隐状态的关系,如图14所示(需要注意的是,图中标注的 和 不是最终预测结果)。
[0185] 以提前预测出的未来上下文词为例,可以使用与解码器相同的网络结构,建模。将图14中虚线框对应部分的网络称为未来解码器1401,下方原始的解码器称为标准
解码器1402。至于未来上下文词 ,则以同样的方式建模 ,并以此类推。
[0186] 换言之,未来解码器的网络结构,与标准解码器的结构完全相同;而标准解码器的结构与标准NMT架构中的解码器完全相同。因此,该NMT模型不需要引入额外设计的复杂网
络结构。
[0187] 为方便表示,这里将未来解码器网络生成的隐状态记为:未来状态 (即与未来上下文词 对应的隐状态表示)。连接 的粗实线表示该隐状态依赖于标准解码器中的
隐状态;连接 的粗虚线,则表示未来解码器与标准解码器一样,需要通过注意机制
(attention)来访问编码器的信息。
[0188] 在得到未来状态 之后,需要融合未来解码器和标准解码器的信息(需要说明的是,图中标注的 才是第一步解码过程最终预测的结果)。图15是本申请实施例融合未来
解码器和标准解码器信息的过程示意图。
[0189] 本申请实施例中,融合过程通过以下公式(1‑7)实现:
[0190]        (1‑7);
[0191] 其中,aggregate是一个聚合函数,用来融合未来解码器的K个隐状态和标准解码器的隐状态 。
[0192] 本申请实施例中,将预测最终译文单词的公式更新如以下(1‑8):
[0193]       (1‑8)。
[0194] 在一些实施例中,由于模型引入了2个额外的目标函数,因此这里将通过联合优化来训练完整模型。该NMT模型包含3个损失函数,损失计算通过以下公式(1‑9)和(1‑10)实
现:
[0195]      (1‑9);
[0196]        (1‑10);
[0197] 其中,公式(1‑9)中的 为单个双语句对 的标准目标函数, 和 是公式(1‑4)和(1‑6)中定义的全局分类器、局部分类器的目标函数。 和 是两个标量,用
来调节3个损失函数的重要性。
[0198] 本申请实施例中,基于全局上下文建模,可以使用全局分类器生成的词表分布,来选择概率最高的前N个(top‑N)候选词作为解码器解码时的候选词集合。然后针对目标端词
表,即公式(1‑8)中的矩阵W进行剪枝,只保留矩阵W中N个候选词对应的N个参数向量,从而
大幅提升解码效率。例如,可以将目标端词表中的词从32000个缩减到1000个。
[0199] 本申请实施例提供的文本翻译方法,提升了文本翻译模型的性能,使得最终的翻译产品具有更强的竞争力,同时,提高翻译速度,减少对计算性能的密集需求,节省计算资
源。
[0200] 需要说明的是,上述实施例中的NMT架构可以替换成任意的神经网络模型,如基于循环神经网络、卷积神经网络、自注意机制等的神经网络翻译模型;在一些实施例中,未来
解码器与标准解码器不仅可以使用相同结构,还可以采用不同的架构,通过增加网络结构
多样性,从而进一步提升性能或提升速度,例如标准解码器使用基于自注意机制的模型,而
未来解码器使用基于循环神经网络的模型;在一些实施例中,还可以在未来解码器中使用
与标准解码器相同的自回归方式,建模 ,从而保留K个未来上下文的时序关系;也可以
采取完全独立建模的方式,丢弃它们间的时序关系,实现进一步加速;在一些实施例中,公
式(1‑7)中的聚合函数,可以使用任意方式进行组合从而归纳成一个单独的向量,例如:(1)
可以使用求平均、最大化、最小化(即mean、max、min)三种池化(pooling)方式;(2)使用自注
意机制;(3)先对 进行任意的聚合处理(aggregate)得到 ,再通过残差连接融合 ,
即 ;(4)还可以用最简单的方式,只保留未来解码器的最后一个未来状态,即

[0201] 需要说明的是,本申请实施例提出的全局上下文建模、局部上下文建模都涉及到一个基于词袋的分类器,两个模块是相互独立的,尽管两者是相互补的,但移除其中任意一
个都不影响另一个正常工作。
[0202] 下面继续说明本申请实施例提供的文本翻译装置354实施为软件模块的示例性结构,在一些实施例中,如图2所示,文本翻译装置354包括:
[0203] 映射处理模块3541,用于调用编码器对待翻译文本中的每个待翻译词依次进行映射处理,得到所述待翻译文本的隐状态表示,所述隐状态表示包括每个所述待翻译词的词
向量表示;第一预测模块3542,用于根据所述待翻译文本的隐状态表示,预测得到候选词集
合;获取模块3543,用于在调用解码器对所述隐状态表示进行解码翻译过程中,针对于每个
所述待翻译词,获取在所述待翻译词之前的已翻译词对应的中间向量表示;第二预测模块
3544,用于根据所述中间向量表示,预测所述待翻译词的未来词向量表示;第三预测模块
3545,用于调用所述解码器依次基于每一所述待翻译词的词向量表示和所述未来词向量表
示,在所述候选词集合中预测出与所述待翻译文本对应的译文。
[0204] 在一些实施例中,所述映射处理模块还用于:对所述待翻译文本进行分词处理,得到至少一个待翻译词;调用所述编码器对每个所述待翻译词进行词向量映射,得到与每个
待翻译词对应的词向量表示;通过所述编码器对每个待翻译词对应的所述词向量表示依次
进行向量变换处理,得到所述待翻译文本的隐状态表示。
[0205] 在一些实施例中,所述第一预测模块还用于:调用全局分类器,基于所述待翻译文本的隐状态表示,采用多分类方式,确定出预设词库中的每一词作为所述待翻译词对应的
候选词的概率;按照所述概率由大到小的顺序,对所述预设词库中的词进行排序,形成词序
列;将所述词序列中的前预设数量的词,确定为所述候选词集合中的候选词。
[0206] 在一些实施例中,所述获取模块还用于:将所述待翻译文本中位于当前的待翻译词之前的全部待翻译词,确定为目标待翻译词;获取所述解码器对所述目标待翻译词进行
翻译后得到的全部已翻译词;对所述全部已翻译词进行词向量映射,得到与每个所述已翻
译词对应的词向量表示;通过所述解码器对每个所述已翻译词对应的词向量表示依次进行
向量变换处理,得到与所述全部已翻译词对应的隐状态表示;将所述全部已翻译词对应的
隐状态表示,确定为所述当前的待翻译词对应的中间向量表示。
[0207] 在一些实施例中,所述第二预测模块还用于:在调用所述解码器对所述待翻译文本中的每个待翻译词进行解码翻译的过程中,调用局部分类器,根据所述当前的待翻译词
对应的所述中间向量表示,预测与所述当前的待翻译词对应的未来词的所述未来词向量表
示。
[0208] 在一些实施例中,所述解码器包括标准解码器和未来解码器;所述第三预测模块还用于:调用所述标准解码器,根据所述当前的待翻译词的词向量表示和所述当前的待翻
译词对应的所述中间向量表示,生成与所述当前的待翻译词对应的标准状态表示;调用所
述未来解码器,根据所述当前的待翻译词的词向量表示和所述未来词向量表示,生成与所
述当前的待翻译词对应的未来状态表示;根据每个所述待翻译词的所述标准状态表示和所
述未来状态表示,在所述候选词集合中生成与所述待翻译文本对应的译文。
[0209] 在一些实施例中,所述第三预测模块还用于:对所述标准状态表示和所述未来状态表示进行融合处理,得到与所述当前的待翻译词对应的译文词的词向量表示;根据全部
待翻译词对应的译文词的词向量表示,在所述候选词集合中生成与所述待翻译文本对应的
译文。
[0210] 在一些实施例中,所述第三预测模块还用于:调用所述标准解码器,根据所述当前的待翻译词的词向量表示和当前的待翻译词对应的所述中间向量表示,确定出预设词库中
的每一词作为所述当前的待翻译词对应的所述译文词的第一概率;将具有最高第一概率的
词的词向量表示,确定为所述标准状态表示。
[0211] 在一些实施例中,所述第三预测模块还用于:调用所述未来解码器,根据所述当前的待翻译词的词向量表示和所述未来词向量表示,确定出所述预设词库中的每一词作为所
述当前的待翻译词对应的未来词的第二概率;确定所述当前的待翻译词对应的未来词的未
来词数量;根据所述第二概率,在所述预设词库中选择具有所述未来词数量的词,作为所述
当前的待翻译词对应的目标未来词;将所述目标未来词的词向量表示,确定为所述未来状
态表示。
[0212] 在一些实施例中,所述装置还包括:隐状态表示获取模块,用于在调用所述解码器对所述隐状态表示进行解码翻译过程中,采用注意力机制获取所述编码器得到的所述待翻
译文本的隐状态表示。
[0213] 在一些实施例中,由所述编码器、所述解码器、全局分类器和局部分类器形成文本翻译模型,通过所述文本翻译模型实现所述文本翻译方法;其中,所述文本翻译模型通过以
下步骤进行训练:将样本待翻译文本输入至所述文本翻译模型中;通过所述编码器,对所述
样本待翻译文本中的每个样本待翻译词依次进行映射处理,得到所述样本待翻译文本的样
本隐状态表示,所述样本隐状态表示包括每个所述样本待翻译词的样本词向量表示;通过
所述全局分类器,根据所述样本待翻译文本的样本隐状态表示,预测得到样本候选词集合;
通过所述局部分类器,预测所述样本待翻译词的样本未来词向量表示;通过所述解码器,依
次基于每一所述样本待翻译词的样本词向量表示和所述样本未来词向量表示,在所述样本
候选词集合中预测出与所述样本待翻译文本对应的样本译文;将所述样本译文输入至预设
损失模型中,得到损失结果;根据所述损失结果,对所述编码器、所述解码器、所述全局分类
器和所述局部分类器中的参数进行修正,得到训练后的文本翻译模型。
[0214] 需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,
请参照本申请方法实施例的描述而理解。
[0215] 本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处
理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机
设备执行本申请实施例上述的方法。
[0216] 本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3
示出的方法。
[0217] 在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(FRAM,Ferromagnetic Random Access Memory)、只读存储器(ROM,Read Only Memory)、可编程只
读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(EPROM,
Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPROM,
Electrically Erasable Programmable Read Only Memory)、闪存、磁表面存储器、光盘、
或光盘只读存储器(CD‑ROM,Compact Disk‑Read Only Memory)等存储器;也可以是包括上
述存储器之一或任意组合的各种设备。
[0218] 在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其
可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在
计算环境中使用的其它单元。
[0219] 作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text 
Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件
中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计
算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0220] 以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之
内。