一种文本翻译方法及装置与流程

文档序号:16577863发布日期:2019-01-14 17:42阅读:157来源:国知局
一种文本翻译方法及装置与流程

本申请涉及机器翻译技术领域,尤其涉及一种文本翻译方法及装置。



背景技术:

随着全球化的不断推进,跨国家、跨语言的交流日益增多,机器翻译的用处也随之越来越大。除了日常口语的翻译之外,还包括一些正式的会议、活动等场景涉及到的非口语翻译内容,涉及到的领域可能有医疗、商务、经济等特定领域。

但是,针对类似以上这些非口语的领域,现有的文本翻译模型无法同时兼顾口语以及非口语的翻译质量,导致翻译效果不尽如人意。



技术实现要素:

本申请实施例的主要目的在于提供一种文本翻译方法及装置,能够兼顾口语以及非口语的翻译质量。

本申请实施例提供了一种文本翻译方法,包括:

利用预先构建的文本翻译模型对源文本进行翻译,所述文本翻译模型包括对应于通用领域的一个翻译子模型以及对应于不同特定领域的不同翻译子模型,各个翻译子模型的部分参数共享;

获取各个翻译子模型进行翻译后输出的各个目标文本;

从各个目标文本中选择所述源文本的最终翻译文本。

可选的,所述利用预先构建的文本翻译模型对源文本进行翻译,包括:

将源文本输入至预先构建的文本翻译模型;

使所述文本翻译模型利用各个翻译子模型共享的编码层参数,对所述源文本进行编码,得到一个编码向量;

使所述文本翻译模型利用各个翻译子模型各自的解码层参数,分别对所述编码向量进行解码,得到各个解码向量;

使所述文本翻译模型利用各个翻译子模型共享的输出层参数,基于各个解码向量生成各个目标文本。

可选的,按照下述方式构建所述文本翻译模型:

利用通用领域的大量语料,训练得到对应于通用领域的翻译子模型,作为基础子模型;

利用各个特定领域的大量语料,分别对所述基础子模型进行训练,得到分别对应于各个特定领域的翻译子模型;

将对应于通用领域的翻译子模型以及对应于各个特定领域的翻译子模型进行参数整合,得到所述文本翻译模型。

可选的,所述获取各个翻译子模型进行翻译后输出的各个目标文本,包括:

利用各个翻译子模型,生成各个目标文本以及各个目标文本分别对应的翻译得分,所述翻译得分表征了对应目标文本作为所述源文本的翻译结果时的翻译质量;

则,所述从各个目标文本中选择所述源文本的最终翻译文本,包括:

根据各个目标文本分别对应的翻译得分,从各个目标文本中选择所述源文本的最终翻译文本。

可选的,所述生成各个目标文本分别对应的翻译得分,包括:

对于每一目标文本,生成所述目标文本的组合得分,并根据所述组合得分生成所述目标文本对应的翻译得分;

其中,所述组合得分包括第一得分、第二得分、第三得分、第四得分中的至少一个得分;所述第一得分为所述源文本与所述目标文本的语义相似度得分;所述第二得分为所述源文本中的每一源词语与对应目标词语之间的匹配得分之和,所述对应目标词语为所述目标文本的各个词语中与所述源词语具有最大匹配得分的词语;所述第三得分为所述源文本与所述目标文本的整体对齐得分;所述第四得分为所述目标文本的词语搭配得分。

可选的,所述匹配得分为所述对应目标词语作为所述源词语的翻译结果的概率。

可选的,所述根据所述组合得分生成所述目标文本对应的翻译得分,包括:

若所述组合得分包括第一得分、第二得分、第三得分、第四得分中的一个得分,则将该得分作为所述目标文本对应的翻译得分;

若所述组合得分包括第一得分、第二得分、第三得分、第四得分中的至少两个得分,则对所述组合得分中的各个得分进行加权计算,得到所述目标文本对应的翻译得分。

本申请实施例还提供了一种文本翻译装置,包括:

文本翻译单元,用于利用预先构建的文本翻译模型对源文本进行翻译,所述文本翻译模型包括对应于通用领域的一个翻译子模型以及对应于不同特定领域的不同翻译子模型,各个翻译子模型的部分参数共享;

文本获取单元,用于获取各个翻译子模型进行翻译后输出的各个目标文本;

文本选择单元,用于从各个目标文本中选择所述源文本的最终翻译文本。

可选的,所述文本翻译单元包括:

文本输入子单元,用于将源文本输入至预先构建的文本翻译模型;

文本编码子单元,用于使所述文本翻译模型利用各个翻译子模型共享的编码层参数,对所述源文本进行编码,得到一个编码向量;

向量解码子单元,用于使所述文本翻译模型利用各个翻译子模型各自的解码层参数,分别对所述编码向量进行解码,得到各个解码向量;

文本生成子单元,用于使所述文本翻译模型利用各个翻译子模型共享的输出层参数,基于各个解码向量生成各个目标文本。

可选的,所述装置还包括:

基础子模型获得单元,用于利用通用领域的大量语料,训练得到对应于通用领域的翻译子模型,作为基础子模型;

翻译子模型获得单元,用于利用各个特定领域的大量语料,分别对所述基础子模型进行训练,得到分别对应于各个特定领域的翻译子模型;

文本翻译模型获得单元,用于将对应于通用领域的翻译子模型以及对应于各个特定领域的翻译子模型进行参数整合,得到所述文本翻译模型。

可选的,所述文本获取单元包括:

翻译得分生成子单元,用于利用各个翻译子模型,生成各个目标文本以及各个目标文本分别对应的翻译得分,所述翻译得分表征了对应目标文本作为所述源文本的翻译结果时的翻译质量;

则,所述文本选择单元具体用于:

根据各个目标文本分别对应的翻译得分,从各个目标文本中选择所述源文本的最终翻译文本。

可选的,所述翻译得分生成子单元具体用于:

对于每一目标文本,生成所述目标文本的组合得分,并根据所述组合得分生成所述目标文本对应的翻译得分;

其中,所述组合得分包括第一得分、第二得分、第三得分、第四得分中的至少一个得分;所述第一得分为所述源文本与所述目标文本的语义相似度得分;所述第二得分为所述源文本中的每一源词语与对应目标词语之间的匹配得分之和,所述对应目标词语为所述目标文本的各个词语中与所述源词语具有最大匹配得分的词语;所述第三得分为所述源文本与所述目标文本的整体对齐得分;所述第四得分为所述目标文本的词语搭配得分。

可选的,所述匹配得分为所述对应目标词语作为所述源词语的翻译结果的概率。

可选的,所述翻译得分生成子单元包括:

第一得分获得子单元,用于若所述组合得分包括第一得分、第二得分、第三得分、第四得分中的一个得分,则将该得分作为所述目标文本对应的翻译得分;

第二得分获得子单元,用于若所述组合得分包括第一得分、第二得分、第三得分、第四得分中的至少两个得分,则对所述组合得分中的各个得分进行加权计算,得到所述目标文本对应的翻译得分。

本申请实施例还提供了一种文本翻译装置,包括:处理器、存储器、系统总线;

所述处理器以及所述存储器通过所述系统总线相连;

所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述文本翻译方法中的任意一种实现方式。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述文本翻译方法中的任意一种实现方式。

本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述文本翻译方法中的任意一种实现方式。

本申请实施例提供的一种文本翻译方法及装置,首先,利用预先构建的文本翻译模型对源文本进行翻译,其中,文本翻译模型包括对应于通用领域的一个翻译子模型以及对应于不同特定领域的不同翻译子模型,各个翻译子模型的部分参数共享,然后,可以获取到各个翻译子模型进行翻译后输出的各个目标文本,接着,可以从各个目标文本中选择出源文本的最终翻译文本,可见,本申请实施例在对源文本进行翻译时,通过部分参数共享的各个不同领域的翻译子模型和通用领域的翻译子模型进行翻译,再从所有得到的翻译后的文本中选出最终的翻译文本,不仅能够缩小模型的大小,还能够兼顾口语(通用领域)以及非口语(特定领域)的翻译质量,从而可以提高对源文本的翻译质量。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种文本翻译方法的流程示意图;

图2为本申请实施例提供的利用预先构建的文本翻译模型对源文本进行翻译的流程示意图;

图3为本申请实施例提供的文本翻译模型的结构示意图;

图4为本申请实施例提供的一种文本翻译装置的组成示意图。

具体实施方式

在一些文本翻译方法中,在对待翻译文本进行翻译之前,通常需要先使用领域分类器对待翻译文本进行预测,得到该待翻译文本对应的领域类别,然后针对该领域类别,对应调用该领域的翻译模型对该待翻译文本进行翻译,因此,最终的翻译效果会受到领域分类器的准确率以及各领域翻译模型的翻译准确率的双重影响。

然而,一旦领域分类器将待翻译文本的领域划分错误,翻译质量可能会严重降低,这是因为,现有的每一个翻译模型均是使用各自对应领域的数据训练得到的,在具体的训练过程中,会将不同领域的数据区分开,各自独立地训练翻译模型,以便得到不同领域各自对应的翻译模型。例如,对于领域1和领域2两个不同领域,需要对这两个领域的翻译模型分别独立训练,在训练过程中,使用大量领域1的数据训练得到翻译模型1,并使用领域2的数据训练得到翻译模型2,当翻译模型2与翻译模型1的结构相同时,翻译模型2相对于翻译模型1包含的模型参数内容是一样的,只是模型参数值发生了变化,更加拟合领域2的数据,因此,翻译模型2的翻译效果相对于翻译模型1来说,对领域2数据的翻译效果更好,而往往对领域1数据的翻译效果会明显下降。可见,每一个翻译模型的参数值都是在各自训练过程中,拟合其对应领域的数据而确定的,所以每一个翻译模型均是对其所属领域上的文本翻译的效果较好,但在其他领域上的翻译效果会较差。因此,现有的将领域分类器与各个领域各自对应的翻译模型相结合的文本翻译方法,无法同时兼顾各个领域(口语以及非口语)的翻译质量,导致翻译效果不尽如人意。

为解决上述缺陷,本申请实施例提供了一种文本翻译方法,在对待翻译文本进行翻译时,首先通过预先构建的文本翻译模型对待翻译文本进行翻译,其中,该文本翻译模型包括对应于通用领域的一个翻译子模型以及对应于其他非通用领域的不同翻译子模型,并且,各个翻译子模型的部分参数共享,然后,可以得到各个翻译子模型对待翻译文本进行翻译后输出的各个翻译后的文本,接着,可以从这些得到的翻译后的文本中,选择出翻译质量最高的翻译文本作为待翻译文本对应的最终翻译文本。可见,本申请实施例中的文本翻译模型同时兼顾了不同领域的文本翻译质量,故而,在对待翻译文本进行翻译时,能够准确地对待翻译文本进行翻译。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

第一实施例

参见图1,为本实施例提供的一种文本翻译方法的流程示意图,该方法包括以下步骤:

s101:利用预先构建的文本翻译模型对源文本进行翻译,其中,文本翻译模型包括对应于通用领域的一个翻译子模型以及对应于不同特定领域的不同翻译子模型,各个翻译子模型的部分参数共享。

对于待翻译的文本,也即翻译前的文本,为简便,后续将其简称为源文本。本实施例不限制源文本的文本长度,比如,源文本可以是词语、句子、或是由多个句子组成的篇章文本等;本实施例也不限制源文本的文本类型,比如,源文本可以是演讲稿、杂志文章、文学作品等;本实施例也不限制源文本以及对其进行翻译后的文本的语种。

在本实施例中,不同特定领域指的是比如医学领域、时政领域等不同的专业领域,而通用领域则包含了各个不同特定领域中均会采用的通用语句等。可以为通用领域构建一个翻译子模型,并为每一划分好的特定领域分别构建一个翻译子模型,即,由对应于通用领域的一个翻译子模型、以及每一对应于特定领域的翻译子模型共同组成本实施例中的文本翻译模型。需要说明的是,为了能够缩小该文本翻译模型的大小,可以采用各个翻译子模型的部分参数共享的方式,这样,不仅能够缩小模型大小,还能够兼顾通用领域以及不同特定领域的翻译质量,从而可以保证各个领域中的文本的翻译质量。

在本实施例中,可以利用预先构建的该文本翻译模型对源文本进行翻译,具体可以使文本翻译模型通过先编码后解码的方式,实现对源文本的翻译。基于此,本步骤s101的具体实现流程可参见图2,其示出了本实施例提供的利用预先构建的文本翻译模型对源文本进行翻译的流程示意图,该流程包括以下步骤:

s201:将源文本输入至预先构建的文本翻译模型。

在本实施例中,图3为本实施例预先构建的文本翻译模型的结构示意图,该文本翻译模型包括对应于通用领域的一个翻译子模型以及对应于不同特定领域的不同翻译子模型,各个翻译子模型的部分参数共享。如图3所示,该文本翻译模型的结构为分层结构,具体可以分为编码层encoder、中间层(即解码层decoder)、输出层(softmax),该文本翻译模型包括对应于不同领域的各个子模型。其中,输出层是基于softmax函数的网络层。

其中,通用领域的翻译子模型的结构可以分为“编码层encoder—>解码层decoder-0—>输出层softmax”,而特定领域1的翻译子模型的结构可以分为“编码层encoder—>解码层decoder-1—>输出层softmax”、……、特定领域i的翻译子模型的结构可以分为“编码层encoder—>解码层decoder-i—>输出层softmax”。需要说明的是,各个翻译子模型的部分参数共享指的是每个翻译子模型共用编码层encoder和输出层(softmax)的参数,即,每个翻译子模型共享同一个编码层encoder和同一个输出层(softmax),但每个翻译子模型采用各自不同的解码层(decoder)参数,如图3所示的decoder-0、decoder-2、decoder-i等。

为了对源文本进行准确翻译,首先可以对源文本进行分词处理,得到源文本包含的各个分词,并生成每一分词的词向量,然后将源文本对应的每一分词的词向量输入至如图3所示的预先构建的文本翻译模型。

s202:使文本翻译模型利用各个翻译子模型共享的编码层参数,对源文本进行编码,得到一个编码向量。

在本实施例中,通过步骤s201将源文本对应的每一分词的词向量输入至预先构建的文本翻译模型后,如图3所示,可以使文本翻译模型利用各个翻译子模型共享的编码层参数,对输入的源文本的每一分词的词向量进行编码,得到一个能够表达源文本语义信息的编码向量。

s203:使文本翻译模型利用各个翻译子模型各自的解码层参数,分别对所述编码向量进行解码,得到各个解码向量。

在本实施例中,通过步骤s202对源文本每一分词的词向量进行编码,得到一个能够表达源文本语义信息的编码向量后,进一步可以使文本翻译模型利用各个翻译子模型各自的解码层参数,分别对该编码向量进行解码。具体地,如图3所示,文本翻译模型可以利用各个翻译子模型各自的解码层decoder-0、decoder-2、decoder-i的参数,分别基于编码层输出的编码向量进行解码,得到各个解码层对应输出的各个解码向量。

s204:使文本翻译模型利用各个翻译子模型共享的输出层参数,基于各个解码向量生成各个目标文本。

在本实施例中,通过步骤s203得到各个解码层对应输出的各个解码向量后,进一步可以使文本翻译模型利用各个翻译子模型共享的输出层参数,根据各个翻译子模型输出的解码向量,生成源文本对应的各个翻译结果,为简便,本实施例将每一翻译结果均简称为目标文本。可以理解的是,文本翻译模型中包含了多少个翻译子模型,即可生成相应个数的目标文本。比如,假设文本翻译模型中包含有n个翻译子模型,则每个翻译子模型均可以生成其对应的翻译结果,进而可以生成共n个目标文本。

s102:获取各个翻译子模型进行翻译后输出的各个目标文本。

在本实施例中,通过步骤s101利用预先构建的文本翻译模型对源文本进行翻译后,即通过文本翻译模型中每一翻译子模型对源文本进行翻译后,可以得到每一翻译子模型输出的目标文本。

s103:从各个目标文本中选择源文本的最终翻译文本。

在本实施例中,在获取到文本翻译模型中每一翻译子模型对源文本进行翻译后输出的各个目标文本后,可以对各个目标文本进行比较分析,从中选择出翻译质量最高的目标文本作为源文本的最终翻译结果。

需要说明的是,步骤s102-s103的具体实现方式请参见第二实施例。

接下来,本实施例将对图3所示的文本翻译模型的构建过程进行介绍。

在本实施例中,为了构建文本翻译模型,需要预先进行大量的准备工作,即,需要收集大量的模型训练语料,其中包含有通用领域的大量语料和不同特定领域的大量语料,可以由人工根据具体的实际情况,对数据进行整理、分类和标注,使得每个领域都具有充分的语料数据,以构成模型训练数据。其中,每一领域的大量语料中包括多组文本对,每一组文本对中包括待翻译的样本文本(比如一个句子)和对其进行翻译后的文本。

利用这些语料进行模型训练的过程,包括以下步骤(1)-(3):

(1)、利用通用领域的大量语料,训练得到对应于通用领域的翻译子模型,作为基础子模型。

在本实施例中,图3中各个解码层的参数内容相同但参数值不同。因此,可以预先构建一个初始的翻译子模型,该初始构建的子模型与图3所示的任一翻译子模型的结构相同,并初始化该初始构建的翻译子模型的模型参数,在该子模型的基础上,训练得到图3所示的对应于不同领域的各个翻译子模型。

首先,利用预先收集的通用领域的大量语料,对初始构建的翻译子模型进行训练。在训练过程中,依次从通用领域的大量语料中提取一组文本对,进行多轮模型训练,直到满足训练结束条件为止,此时,即训练得到对应于通用领域的翻译子模型,即训练得到图3所示的“编码层encoder—>解码层decoder-0—>输出层softmax”,为便于后续描述,这里将该对应于通用领域的翻译子模型定义为基础子模型。

具体地,在进行本轮训练时,本轮训练使用的文本对包括待翻译的样本文本及其对应的样本翻译结果,可以将该样本文本输入至当前的翻译子模型,便可以预测得到该样本文本的翻译结果,然后可以将该预测得到翻译结果与该样本文本对应的样本翻译结果(实际翻译结果)进行比较,根据二者的差异对翻译子模型的参数进行更新。

(2)、利用各个特定领域的大量语料,分别对基础子模型(对应于通用领域的翻译子模型)进行训练,得到分别对应于各个特定领域的翻译子模型。

在本实施中,通过步骤(1)训练得到对应于通用领域的翻译子模型,并作为基础子模型后,可以利用其它各个特定领域的大量语料,分别对该基础子模型进行训练,以训练得到各个特定领域各自对应的翻译子模型。

对于某一特定领域而言,可以将该特定领域的大量语料、或者将该特定领域的大量语料结合一部分通用领域的语料,作为训练数据,对基础子模型进行训练。与基础子模型的训练过程相类似,可以依次从该训练数据中提取一组文本对,进行多轮模型训练,直到满足训练结束条件为止,此时,即训练得到对应于该特定领域的翻译子模型。

具体地,在进行本轮训练时,本轮训练使用的文本对包括待翻译的样本文本及其对应的样本翻译结果,可以将该样本文本输入至基础子模型,便可以预测得到该样本文本的翻译结果,然后可以将该预测得到翻译结果与该样本文本对应的样本翻译结果(实际翻译结果)进行比较,根据二者的差异对基础子模型的参数进行更新。

需要说明的是,在对基础子模型的训练过程中,只对基础子模型中的解码层参数进行更新,而编码层参数和输出层参数则保持不变。

(3)、将对应于通用领域的翻译子模型以及对应于各个特定领域的翻译子模型进行参数整合,得到所述文本翻译模型。

在本实施例中,当训练得到对应于通用领域的翻译子模型与分别对应于各个特定领域的翻译子模型后,可以将这些翻译子模型的模型参数进行整合,即,将各个翻译子模型所具有的相同的编码层参数和输出层参数保留一份,分别作为文本翻译模型的编码层和输出层的参数,同时,将各个子模型的各个解码层参数分别作为文本翻译模型的中间层参数之一,从而可以得到包含一个编码层、多个解码层以及一个输出层的文本翻译模型。

进一步的,为便于理解本实施例,现通过以下具体示例对文本翻译模型的构建过程进行介绍。

举例说明:现收集了口语领域中的1000万中英翻译句对、医学领域中的1000条中英翻译句对以及时政领域中的1000条万中英翻译句对。在预先构建一个初始的encoder-decoder翻译子模型,并初始化模型参数后,首先使用口语领域中的1000万中英翻译句对,对该初始的翻译子模型进行训练,以得到对应于口语领域的翻译子模型model1。然后使用医学领域中的1000条中英翻译句对或在这1000条医学领域的中英翻译句对中加入随机选择的5000条口语领域中的中英翻译句对,在model1的基础上进行训练,并且在训练过程中,只更新解码层decoder部分的参数,而编码层encoder和输出层softmax部分的参数保持不变,得到对应于医学领域的翻译子模型model2;同理,可以得到对应于时政领域的翻译子模型model3。

接着,再将model1、model2以及model3的参数整合到一起,得到一个文本翻译模型,其中编码层encoder和输出层softmax参数在三个子模型中的参数值均相同,可只保留一份,作为文本翻译模型的编码层和输出层参数,而解码层decoder部分的参数在三个子模型中均不相同,可将三个不同的参数均保留,分别与编码层encoder和输出层softmax参数构成对应不同领域的翻译子模型。

这样,将源文本的词向量输入文本翻译模型后,分别经过一个编码层encoder、3个解码层decoder、一个输出层softmax后,输出三个目标文本y1、y2、y3,再利用下述实施例二介绍的方式,从y1、y2、y3中选择出翻译质量最高的目标文本,作为源文本的最终翻译文本。

需要说明的是,为了尽量缩小模型大小同时不降低翻译质量,可以将model1、model2、model3共享的参数增多,这样,在训练model2和model3的过程中,即可更新更少的参数,比如,若解码层decoder为非单层网络,而是多层网络,那么可以只更新最后一层网络的参数,这样,既能够尽量缩小模型的大小,同时也不会降低翻译质量。

综上,本实施例提供的文本翻译方法,首先,利用预先构建的文本翻译模型对源文本进行翻译,其中,文本翻译模型包括对应于通用领域的一个翻译子模型以及对应于不同特定领域的不同翻译子模型,各个翻译子模型的部分参数共享,然后,可以获取到各个翻译子模型进行翻译后输出的各个目标文本,接着,可以从各个目标文本中选择出源文本的最终翻译文本。可见,本实施例在对源文本进行翻译时,通过部分参数共享的各个不同特定领域的翻译子模型和通用领域的翻译子模型进行翻译,再从所有得到的翻译后的文本中选出最终的翻译文本,不仅能够缩小模型的大小,还能够兼顾口语(通用领域)以及非口语(特定领域)的翻译质量,从而可以提高对源文本的翻译质量。

第二实施例

本实施例将对第一实施例中的步骤s102-s103的具体实施方式进行介绍。

在本实施例中,可以利用预先构建的文本翻译模型实现对源文本的翻译。基于此,上述步骤s102具体可以包括:利用文本翻译模型的各个翻译子模型,生成各个目标文本以及各个目标文本分别对应的翻译得分,所述翻译得分表征了对应目标文本作为源文本的翻译结果时的翻译质量。

具体来讲,在通过步骤s102利用文档翻译模型中的各个翻译子模型对源文本进行翻译,生成各个目标文本的同时,还可以得到各个目标文本分别对应的翻译得分,该翻译得分表征了对应目标文本作为源文本的翻译结果时的翻译质量,翻译得分越高,表明其对应的目标文本的翻译质量越高,反之,则表征其对应的目标文本的翻译质量越低。

在本实施例的一种实现方式中,在生成各个目标文本分别对应的翻译得分时,对于每一目标文本,具体可以生成该目标文本的组合得分,并根据该组合得分生成该目标文本对应的翻译得分。

在本实现方式中,对于每一目标文本,生成的其对应的组合得分可以包括第一得分、第二得分、第三得分、第四得分中的至少一个得分。下面对第一得分、第二得分、第三得分以及第四得分进行依次介绍。

在本实现方式中,第一得分指的是源文本与目标文本的语义相似度得分。

其中,源文本与目标文本的语义相似度得分表征了源文本与目标文本之间的语义相似程度的高低。例如,假设源文本为“我爱中国”,目标文本为“ilovechina”,“我爱中国”对应的编码向量为h,相应的解码向量为s,即,h为表征“我爱中国”语义信息的向量,s为表征“ilovechina”语义信息的向量,则计算第一得分的一种方式可以是计算向量h和向量s之间的余弦相似度,即,可以将表征源文本和目标文本的语义信息的两个向量之间的余弦相似度作为第一得分,用以评估源文本与目标文本之间语义相似程度的高低。

在本实现方式中,第二得分指的是源文本中的每一源词语与对应目标词语之间的匹配得分之和。具体来讲,每一源词语指的是源文本中包含的每一词语,对于每一源词语而言,其对应的目标词语指的是目标文本的各个词语中与该源词语具有最大匹配得分的词语;再将每一源词语与其对应目标词语之间的匹配得分相加求和,即可得到第二得分。一种可选的实现方式是,源词语与对应目标词语之间的匹配得分可以为该对应目标词语作为该源词语的翻译结果的概率,该概率值越大,该对应目标词语越可能是该源文本的翻译结果,反之亦然。

举例说明:基于上述举例,假设源文本为“我爱中国”、目标文本为“ilovechina”,且“我爱中国”对应的编码向量为h,相应的解码向量为s,即,h为表征“我爱中国”语义信息的向量,s为表征“ilovechina”语义信息的向量。则在计算第二得分时,对于源词语“我”,可以利用注意力attention分配模型,采用attention机制,得到目标文本的各个词语“i”、“love”“china”对于翻译“我”不同的影响程度,其中,可以用三个概率值分别代表注意力attention分配模型分配给“i”、“love”“china”的注意力大小,即表征这三个单词可以作为“我”的翻译结果的概率。比如,“i”、“love”“china”对应的概率值为0.8、0.1、0.1,则说明“i”对于翻译“我”的影响程度最大,作为“我”的翻译结果的概率最高,也就是说,源词语“我”对应的目标词语为“i”,二者的匹配得分最大。类似的,可以得到源词语“爱”对应的目标词语为“love”,源词语“中国”对应的目标词语为“china”。然后,再将每一源词语与其对应目标词语之间的匹配得分相加求和,即可得到第二得分。

在本实现方式中,第三得分指的是源文本与目标文本的整体对齐得分。

其中,可以利用预先训练好的对齐模型,如fastalign模型,计算源文本与目标文本的整体对齐得分。具体来讲,可以将表征源文本语义信息的词向量和表征目标文本语义信息的词向量作为输入数据,输入至fastalign模型,由该模型输出目标文本与源文本之间的整体对齐得分,作为第三得分。其中,整体对齐得分越高,说明对源文本的漏译、错译等情况越少,则该目标文本作为源文本的翻译结果的质量越好,反之亦然。

在本实现方式中,第四得分指的是目标文本的词语搭配得分。

其中,词语搭配体现在各个词语之间的组合、语法规则使用等方面。词语搭配得分用以表征目标文本的词语搭配结果与目标文本所属语种的词语搭配习惯之间的符合程度。本实施例中,可以利用语言模型来判定目标文本的词语搭配得分,尽量避免源文本对应的最终翻译文本中因译错而出现的不常见的、不符合语法规则及词语组合习惯的翻译内容。

进一步地,对于每一目标文本,当通过上述方式生成该目标文本的组合得分后,一种可选的实现方式是,还可以根据生成的组合得分,通过下述步骤a或b生成该目标文本对应的翻译得分。

步骤a:若组合得分包括第一得分、第二得分、第三得分、第四得分中的一个得分,则将该得分作为目标文本对应的翻译得分。

在本实现方式中,若组合得分仅包括第一得分、第二得分、第三得分、第四得分中的一个得分,则不对其进行任何处理,直接将该得分作为目标文本对应的翻译得分,用以表征该目标文本作为源文本的翻译结果时的翻译质量。

步骤b:若组合得分包括第一得分、第二得分、第三得分、第四得分中的至少两个得分,则对组合得分中的各个得分进行加权计算,得到目标文本对应的翻译得分。

在本实现方式中,若组合得分包括第一得分、第二得分、第三得分、第四得分中的至少两个得分,则可以根据经验值(该经验值可以通过实验得到),为每个得分设定一个权重系数,用以表征该得分对于计算目标文本的翻译得分的影响程度,权重系数越高,表明对应的得分对于计算目标文本的翻译得分的影响程度越大,反之,则表明对应的得分对于计算目标文本的翻译得分的影响程度越小。进而,在为每个得分设定一个权重系数后,可以对各个得分进行加权计算,得到目标文本对应的翻译得分。

在利用文本翻译模型对源文本进行翻译后,可以得到各个翻译子模型对应输出的目标文本,则每一个目标文本均可以通过上述方式计算出其对应的翻译得分。需要说的是,对于每一目标文本对应的翻译得分,每一翻译得分所包括的得分类型应相同,比如均包括第一得分和第二得分。

一种可选的实现方式是,在生成每一个目标文本对应的翻译得分后,上述步骤s103具体可以包括:根据各个目标文本分别对应的翻译得分,从各个目标文本中选择源文本的最终翻译文本。

在本实现方式中,目标文本的翻译得分表征了其作为源文本的翻译结果时的翻译质量,翻译得分越高,表明对应的目标文本作为源文本的翻译结果时的翻译质量越高,由此,可以根据各个目标文本分别对应的翻译得分,从中选择出翻译得分最高的目标文本,作为源文本的最终翻译文本。

综上,本实施例计算各个目标文本对应的翻译得分,再根据翻译得分的高低,从各个目标文本中选择出源文本的最终翻译文本。可见,本实施例基于翻译得分,可以从对应于不同领域的翻译结果中,找到与源文本最为匹配的翻译结果。

第三实施例

本实施例将对一种文本翻译装置进行介绍,相关内容请参见上述方法实施例。

参见图4,为本实施例提供的一种文本翻译装置的组成示意图,该装置400包括:

文本翻译单元401,用于利用预先构建的文本翻译模型对源文本进行翻译,所述文本翻译模型包括对应于通用领域的一个翻译子模型以及对应于不同特定领域的不同翻译子模型,各个翻译子模型的部分参数共享;

文本获取单元402,用于获取各个翻译子模型进行翻译后输出的各个目标文本;

文本选择单元403,用于从各个目标文本中选择所述源文本的最终翻译文本。

在本实施例的一种实现方式中,所述文本翻译单元401包括:

文本输入子单元,用于将源文本输入至预先构建的文本翻译模型;

文本编码子单元,用于使所述文本翻译模型利用各个翻译子模型共享的编码层参数,对所述源文本进行编码,得到一个编码向量;

向量解码子单元,用于使所述文本翻译模型利用各个翻译子模型各自的解码层参数,分别对所述编码向量进行解码,得到各个解码向量;

文本生成子单元,用于使所述文本翻译模型利用各个翻译子模型共享的输出层参数,基于各个解码向量生成各个目标文本。

在本实施例的一种实现方式中,所述装置还包括:

基础子模型获得单元,用于利用通用领域的大量语料,训练得到对应于通用领域的翻译子模型,作为基础子模型;

翻译子模型获得单元,用于利用各个特定领域的大量语料,分别对所述基础子模型进行训练,得到分别对应于各个特定领域的翻译子模型;

文本翻译模型获得单元,用于将对应于通用领域的翻译子模型以及对应于各个特定领域的翻译子模型进行参数整合,得到所述文本翻译模型。

在本实施例的一种实现方式中,所述文本获取单元402包括:

翻译得分生成子单元,用于利用各个翻译子模型,生成各个目标文本以及各个目标文本分别对应的翻译得分,所述翻译得分表征了对应目标文本作为所述源文本的翻译结果时的翻译质量;

则,所述文本选择单元403具体用于:

根据各个目标文本分别对应的翻译得分,从各个目标文本中选择所述源文本的最终翻译文本。

在本实施例的一种实现方式中,所述翻译得分生成子单元具体用于:

对于每一目标文本,生成所述目标文本的组合得分,并根据所述组合得分生成所述目标文本对应的翻译得分;

其中,所述组合得分包括第一得分、第二得分、第三得分、第四得分中的至少一个得分;所述第一得分为所述源文本与所述目标文本的语义相似度得分;所述第二得分为所述源文本中的每一源词语与对应目标词语之间的匹配得分之和,所述对应目标词语为所述目标文本的各个词语中与所述源词语具有最大匹配得分的词语;所述第三得分为所述源文本与所述目标文本的整体对齐得分;所述第四得分为所述目标文本的词语搭配得分。

在本实施例的一种实现方式中,所述匹配得分为所述对应目标词语作为所述源词语的翻译结果的概率。

在本实施例的一种实现方式中,所述翻译得分生成子单元包括:

第一得分获得子单元,用于若所述组合得分包括第一得分、第二得分、第三得分、第四得分中的一个得分,则将该得分作为所述目标文本对应的翻译得分;

第二得分获得子单元,用于若所述组合得分包括第一得分、第二得分、第三得分、第四得分中的至少两个得分,则对所述组合得分中的各个得分进行加权计算,得到所述目标文本对应的翻译得分。

进一步地,本申请实施例还提供了一种文本翻译装置,包括:处理器、存储器、系统总线;

所述处理器以及所述存储器通过所述系统总线相连;

所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述文本翻译方法的任一种实现方法。

进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述文本翻译方法的任一种实现方法。

进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述文本翻译方法的任一种实现方法。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1