利用外部信息的神经机器翻译系统及翻译系统的训练方法转让专利

申请号 : CN201810582125.8

文献号 : CN108845994B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄书剑郑在翔戴新宇张建兵尹存燕陈家骏

申请人 : 南京大学

摘要 :

本公开涉及利用外部信息的神经机器翻译系统及翻译系统的训练方法。利用外部信息的神经机器翻译系统包括:源端编码器神经网络,用于接收源端源语言的文字序列作为源端输入;外部信息编码器神经网络,用于接收目标语言的文字序列作为外部信息输入;目标端解码器神经网络,用于根据源端输入和外部信息输入,计算结合外部信息的翻译预测概率分布,根据结合外部信息的翻译预测概率分布生成源端源语言文字序列的译文作为目标端输出。本公开提供的翻译系统,在翻译过程中输入外部信息,为翻译提供参考,有效提高了翻译效率;本公开提供的翻译系统的训练方法,能够适应考虑外部信息的神经机器翻译系统。

权利要求 :

1.一种利用外部信息的神经机器翻译系统,包括:

源端编码器神经网络,用于接收源端源语言的文字序列作为源端输入,并对所述源端输入进行编码,得到源端的神经网络隐层表示;

外部信息编码器神经网络,用于接收目标语言的文字序列作为外部信息输入,并对所述外部信息输入进行编码,得到外部信息的神经网络隐层表示;

噪音判别器神经网络,包括全局噪音判别器神经网络和/或局部噪音判别器神经网络,所述全局噪音判别器神经网络判别所述外部信息的神经网络隐层表示中的每个元素对本次翻译是否为噪音,被判别为噪音的元素与被判别不为噪音的元素获得不同的第一噪音判别结果;所述局部噪音判别器神经网络判别当前翻译时刻获得的所述外部信息的神经网络隐层表示中的元素对于当前时刻翻译是否为噪音,被判别为噪音的元素与被判别不为噪音的元素获得不同的第二噪音判别结果;

目标端解码器神经网络,根据所述源端的神经网络隐层表示、所述外部信息的神经网络隐层表示、所述第一噪音判别结果和/或所述第二噪音判别结果,得到结合外部信息的翻译预测概率分布,根据所述结合外部信息的翻译预测概率分布生成源端源语言文字序列的译文作为目标端输出。

2.根据权利要求1所述的神经机器翻译系统,其特征在于,所述外部信息编码器神经网络,接收目标语言的单词、短语和句子中的至少一种作为外部信息输入。

3.根据权利要求2所述的神经机器翻译系统,其特征在于,所述目标端解码器神经网络包括原始翻译概率分布输出层和带有注意力机制的外部信息读取层,所述原始翻译概率分布输出层,在生成所述目标端输出的每个当前时刻,生成当前时刻的解码器隐层表示,根据所述当前时刻的解码器隐层表示,得到输出序列中的每个当前时刻的翻译预测原概率分布;

所述带有注意力机制的外部信息读取层,在生成所述目标端输出的每个当前时刻,首先获取来自所述外部信息编码器神经网络的注意力上下文向量,然后生成所述当前时刻的外部信息翻译概率分布。

4.根据权利要求2或3所述的神经机器翻译系统,其特征在于,所述目标端解码器神经网络中的原始翻译概率分布输出层的神经网络是循环神经网络、卷积神经网络或自注意力神经网络中的一种。

5.根据权利要求2或3所述的神经机器翻译系统,其特征在于,所述全局噪音判别器神经网络的外部信息文字序列中,包括一个空元素,所述空元素用来表示所述全局噪音判别器神经网络的外部信息文字序列中所有不存在的单词。

6.根据权利要求2或3所述的神经机器翻译系统,其特征在于,所述外部信息的神经网络隐层表示采用词向量表示。

7.根据权利要求2或3所述的神经机器翻译系统,其特征在于,所述源端编码器神经网络是循环神经网络、卷积神经网络或自注意力神经网络中的一种。

8.根据权利要求2或3所述的神经机器翻译系统,其特征在于,所述全局噪音判别器神经网络和所述局部噪音判别器神经网络是二值分类的多层感知机神经网络。

9.一种利用外部信息的神经机器翻译系统的训练方法,其特征在于,所述神经机器翻译系统进行参数训练的语料库包括:对齐的源端源语言文字序列、目标端目标语言文字序列和外部信息文字序列,所述神经机器翻译系统是权利要求1至8中任一项所述的神经机器翻译系统。

10.根据权利要求9所述的训练方法,其特征在于,训练的目标函数由翻译概率分布的交叉熵损失、全局噪音判别器的二元logistic损失以及局部噪音判别器的二元logistic损失三部分组成。

11.根据权利要求9或10所述的方法,其特征在于,所述语料库中的外部信息文字序列的获取方法包括:在目标端目标语言参考译文中采样一定数量的单词,得到正样本;

在目标语言词汇表中不属于所述目标语言参考译文的单词中采样与所述正样本中的单词的数量相等的单词,得到负样本;

所述正样本和所述负样本组合形成所述语料库中的外部信息文字序列。

说明书 :

利用外部信息的神经机器翻译系统及翻译系统的训练方法

技术领域

[0001] 本公开涉及自然语言处理的机器翻译技术领域,尤其涉及一种利用外部信息的神经机器翻译系统及翻译系统的训练方法。

背景技术

[0002] 近年来,随着计算机技术的迅猛发展,计算机硬件的算力不断提高,海量的数据得到广泛应用,机器学习方法特别是基于神经网络的深度学习方法取得了很大的发展和广泛的应用,这其中就包括基于神经网络的机器翻译方法,即神经机器翻译(NMT)。
[0003] 在NMT领域中,比较典型的是基于带有注意力机制的编码器解码器架构(Attention-based Encoder-Decoder Architecture)的神经机器翻译模型。其工作过程如下:输入待翻译的源端句子的词向量序列x,即x={x1,…,xi,…,xI}。随之使用一个基于神经网络的编码器将其编码为I个隐层表示h={h1,…,hi,…,hI},接着使用一个基于神经网络的解码器进行解码。在每个解码时刻t,解码器首先读取1到t-1时刻生成的历史信息,然后通过注意力机制从源端的编码器的隐层表示h中获得当前时刻对应的源端上下文信息,从而生成目标端的隐层表示s={s1,…,st,…,sT}。进而通过T个目标端的隐层表示生成目标语言句子y={y1,…,yt,…,yT}。
[0004] 现有技术对NMT的研究主要集中于通过设计更复杂的模型来增强翻译系统的性能,然而,随着NMT的发展,通过设计更好的模型,使之能更好地从给定的有限规模的训练样本中学习翻译能力已经逐渐达到了一个瓶颈,与此同时还伴随着模型复杂性的上升和模型规模的增大。
[0005] 因此,如何在不过度增加模型复杂性的基础上提出一种提高翻译质量的翻译系统,是本领域亟待解决的问题。

发明内容

[0006] 有鉴于此,本公开提出了一种利用外部信息的机器翻译方法、一种利用外部信息的机器翻译系统和该机器翻译系统的训练方法。
[0007] 根据本公开的第一方面,提供一种利用外部信息的神经机器翻译系统,所述系统包括:源端编码器神经网络,用于接收源端源语言的文字序列作为源端输入;外部信息编码器神经网络,用于接收目标语言的文字序列作为外部信息输入;目标端解码器神经网络,用于根据所述源端输入和所述外部信息输入,计算结合外部信息的翻译预测概率分布,根据所述结合外部信息的翻译预测概率分布生成源端源语言文字序列的译文作为目标端输出。
[0008] 在一种可能的实现方式中,所述源端编码器神经网络,对所述源端输入进行编码,得到源端的神经网络隐层表示;所述外部信息编码器神经网络,接收目标语言的单词、短语和句子中的至少一种作为外部信息输入,对所述外部信息输入进行编码,得到外部信息的神经网络隐层表示;所述神经机器翻译系统还包括:噪音判别器神经网络,所述噪音判别器神经网络包括全局噪音判别器神经网络和/或局部噪音判别器神经网络,所述全局噪音判别器神经网络判别所述外部信息的神经网络隐层表示中的每个元素对本次翻译是否为噪音,被判别为噪音的元素与被判别不为噪音的元素获得不同的第一噪音判别结果;所述局部噪音判别器神经网络判别当前翻译时刻获得的所述外部信息的神经网络隐层表示中的元素对于当前时刻翻译是否为噪音,被判别为噪音的元素与被判别不为噪音的元素获得不同的第二噪音判别结果;所述目标端解码器神经网络,根据所述源端的神经网络隐层表示、所述外部信息的神经网络隐层表示、所述第一噪音判别结果和/或所述第二噪音判别结果,得到结合外部信息的翻译预测概率分布,根据所述结合外部信息的翻译预测概率分布生成源端源语言文字序列的译文作为目标端输出。
[0009] 在一种可能的实现方式中,所述目标端解码器神经网络包括原始翻译概率分布输出层和带有注意力机制的外部信息读取层,所述原始翻译概率分布输出层,在生成所述目标端输出的每个当前时刻,生成当前时刻的解码器隐层表示,根据所述当前时刻的解码器隐层表示,得到输出序列中的每个当前时刻的翻译预测原概率分布;所述带有注意力机制的外部信息读取层,在生成所述目标端输出的每个当前时刻,首先获取来自所述外部信息编码器神经网络的注意力上下文向量,然后生成所述当前时刻的外部信息翻译概率分布。
[0010] 在一种可能的实现方式中,所述解码器神经网络中的原始翻译概率分布输出层的神经网络是循环神经网络、卷积神经网络或自注意力神经网络中的一种。
[0011] 在一种可能的实现方式中,所述全局噪音判别器神经网络的外部信息文字序列中,包括一个空元素,所述空元素用来表示所述全局噪音判别器神经网络的外部信息文字序列中所有不存在的单词。
[0012] 在一种可能的实现方式中,所述外部信息的神经网络隐层表示采用词向量表示。
[0013] 在一种可能的实现方式中,所述源端编码器神经网络是循环神经网络、卷积神经网络或自注意力神经网络中的一种。
[0014] 在一种可能的实现方式中,所述全局噪音判别器神经网络和所述局部噪音判别器神经网络是二值分类的多层感知机神经网络。
[0015] 根据本公开的第二方面,提供一种利用外部信息的神经机器翻译系统的训练方法,其特征在于,所述神经机器翻译系统进行参数训练的语料库包括:对齐的源端源语言文字序列、目标端目标语言文字序列和外部信息文字序列,所述神经机器翻译系统是根据本公开的神经机器翻译系统。
[0016] 在一种可能的实现方式中,训练的目标函数由翻译概率分布的交叉熵损失、全局噪音判别器的二元logistic损失以及局部噪音判别器的二元logistic损失三部分组成。
[0017] 在一种可能的实现方式中,所述语料库中的外部信息文字序列的获取方法包括:在目标端目标语言参考译文中采样一定数量的单词,得到正样本;在目标语言词汇表中不属于所述目标语言参考译文的单词中采样与所述正样本中的单词的数量相等的单词,得到负样本;所述正样本和所述负样本组合形成所述语料库中的外部信息文字序列。
[0018] 本公开提供的神经机器翻译系统,通过在翻译过程中输入外部信息,利用外部信息为翻译提供了参考,有效提高了神经机器翻译方法的翻译效率。
[0019] 本公开提供的神经机器翻译系统的训练方法,通过包括了对齐的源端源语言文字序列、目标端目标语言文字序列和外部信息文字序列的语料库进行参数训练,能够适应考虑了外部信息的神经机器翻译系统。

附图说明

[0020] 图1是根据本公开的一个实施方式的利用外部信息的神经机器翻译方法的流程图。
[0021] 图2是根据本公开的一个实施方式的步骤S3的方法流程图。
[0022] 图3是根据本公开的一个实施方式的利用外部信息的神经机器翻译方法的流程图。
[0023] 图4是根据本公开的一个实施方式的利用外部信息的神经机器翻译方法的流程图。
[0024] 图5是根据本公开的一个实施方式的利用外部信息的神经机器翻译方法的流程图。
[0025] 图6是根据本公开的一个实施方式的步骤S401的方法流程图。
[0026] 图7是根据本公开的一个实施方式的步骤S402的方法流程图。
[0027] 图8是根据本公开的一个实施方式的利用外部信息的神经机器翻译系统获得当前时刻t的结合外部信息的翻译预测概率分布Pt(y)的过程示意图。
[0028] 图9是根据本公开的一个实施方式的利用外部信息的神经机器翻译系统在当前时刻t将译文中第t个单词最终翻译为moving的过程示意图。

具体实施方式

[0029] 以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
[0030] 在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0031] 另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
[0032] 图1示出了本公开一实施例的利用外部信息的神经机器翻译方法的流程图,如图1所示,该方法可以包括:
[0033] 步骤S1,接收源端源语言的文字序列作为源端输入;
[0034] 源语言的语言体系可以是现有语言体系中的一种,例如中文、英文等。将源端待翻译的单词、短语和句子中的至少一种划分成若干个单词,该若干个单词构成源语言的文字序列。其中,对于具体的划分方式,本公开不作限定。
[0035] 步骤S2,接收目标语言的文字序列作为外部信息输入;
[0036] 目标语言的语言体系为与源语言的语言体系不同的另一种语言体系。可选地,外部信息输入的目标语言的文字序列形式为单词、短语和句子中的至少一种。根据现实应用场景的不同,外部信息输入的形式和内容可以包括(但不限于):双语词典的条目、其他机器翻译系统的翻译结果和人类对机器翻译的交互修改。外部信息输入为源端输入提供了翻译的参考信息。应当理解,外部信息输入与源端输入的来源没有直接的关系,因此步骤S1与步骤S2的执行顺序可以不分先后。
[0037] 步骤S3,根据源端输入和外部信息输入,生成源端源语言文字序列的译文作为目标端输出。
[0038] 可选地,外部信息输入将被划分成若干单词。
[0039] 根据源端输入得到原始翻译结果使用的方法可以是现有技术中惯用的神经机器翻译方法。考虑外部信息时,外部信息输入中对本次翻译有参考价值的单词将被提取以优化原始的翻译结果。例如,可以是用外部信息输入中的单词替换原始翻译结果的部分单词,或者是将外部信息中有参考价值的单词直接用来翻译未找到合适译文的源端输入中的单词。
[0040] 图2示出了本公开一实施例的步骤S3的方法流程图,如图2所示,在一种可能的实现方式中,步骤S3可以包括:
[0041] 步骤S301,对所述源端输入的所述源端源语言的文字序列编码,得到源端源语言的神经网络隐层表示;
[0042] 在一个示例中,首先接收源端源语言文字序列x={x1,…,xi,…,xI}作为源端输入,其中,xi是源端源语言句子中的第i个词。而后对源端源语言的文字序列编码,得到源端源语言的神经网络隐层表示h={h1,…,hi,…,hI},其中,hi是对源语言句子中第i个词的隐层表示,I是源端源语言文字序列中词的数量。
[0043] 步骤S302,在翻译的当前时刻t,根据所述源端源语言的神经网络隐层表示,得到目标端的隐层表示;
[0044] 在翻译的当前时刻t,可选地,解码器首先读取1到t-1时刻生成的历史信息,然后通过注意力机制从源端的源端编码器的隐层表示h中获得当前时刻t对应的源端上下文信息,从而生成目标端的隐层表示st。
[0045] 步骤S303,根据所述目标端的隐层表示,得到所述当前时刻t的翻译预测原概率分布;
[0046] 对于目标端目标语言文字序列,即源端源语言文字序列的译文y={y1,…,yt,…,yT},根据目标端的隐层表示st,生成当前时刻t的翻译预测原概率分布 以下也简称为原概率分布。
[0047] 步骤S304,对所述外部信息输入的目标语言的文字序列编码,得到外部信息的隐层表示;
[0048] 外部信息文字序列为 其中, 是外部信息文字序列中的第j 个词。对 外部信息 文字序列 编码 ,得到 外部信息的 隐层表 示其中, 是对外部信息文字序列中第j个词的隐层表示,J是外
部信息文字序列中词的数量。
[0049] 步骤S305,根据所述外部信息的隐层表示,得到所述当前时刻t的外部信息翻译概率分布;
[0050] 可选地,通过另一套注意力机制,根据外部信息的隐层表示hE得到外部信息翻译概率分布
[0051] 步骤S306,根据所述翻译预测原概率分布和所述外部信息翻译概率分布,得到所述当前时刻t的结合外部信息的翻译预测概率分布;
[0052] 可选地,对原概率分布 和外部信息翻译概率分布 进行加权求和,得到所述当前时刻t的结合外部信息的翻译预测概率分布Pt(y)。根据Pt(y)提供的最终概率分布,生成源端源语言文字序列的译文作为目标端输出。
[0053] 步骤S307,根据每一时刻的所述结合外部信息的翻译预测概率分布,生成源端源语言文字序列的译文作为目标端输出。
[0054] 由于来自双语词典无法覆盖所有一词多义、其他机器翻译系统的错误以及人类翻译的失误等,外部信息中可能存在对翻译无益的噪音,以下介绍根据本公开的对外部信息中的噪音进行降噪的神经机器翻译方法。
[0055] 图3-5分别示出了本公开一实施例的利用外部信息的神经机器翻译方法的流程图,如图3-5所示,在一种可能的实现方式中,在步骤S305之后引入步骤S401和/或S402进行噪音判别,获得全局噪音判别的第一外部信息判别结果和/或局部噪音判别的第二外部信息判别结果。
[0056] 步骤S401,全局噪音判别,识别外部信息中的噪音,得到第一外部信息判别结果;
[0057] 全局噪音判别将识别出外部信息中相对于本次翻译为噪音的单词,其中,本次翻译是指本次正在进行的由源端源语言文字序列至目标端目标语言文字序列的翻译。
[0058] 步骤S402,局部噪音判别,识别外部信息中的噪音,得到第二外部信息判别结果。
[0059] 局部噪音判别将识别出外部信息中相对于当前时刻的翻译为噪音的单词,由于翻译过程是逐词、逐时刻地(时刻由1到T,其中T为目标端目标语言文字序列的长度)生成目标端目标语言文字序列,当前翻译时刻t对应的翻译对象通常是一个单词,例如,当前时刻的翻译为源语言文字序列中的某个单词。
[0060] 可选地,第一/第二外部信息判别结果是直接给噪音元素赋予某个标记;或者给外部信息中所有的元素赋予权重,不同的权重值能够将噪音元素与非噪音元素区别开。
[0061] 全局噪音判别和局部噪音判别可以只执行其中的一者,也可以两者顺次执行。
[0062] 只执行步骤S401的全局噪音判别,在获得第一外部信息判别结果后,执行步骤S3061:根据翻译预测原概率分布 外部信息翻译概率分布 和第一外部信息判别结果,得到当前时刻t的结合外部信息的翻译预测概率分布Pt(y)。
[0063] 只执行步骤S402的局部噪音判别,在获得第二外部信息判别结果后,执行步骤S3062:根据翻译预测原概率分布 外部信息翻译概率分布 和第二外部信息判别结果,得到当前时刻t的结合外部信息的翻译预测概率分布Pt(y)。
[0064] 顺次执行步骤S401和步骤S402,在获得第一、第二外部信息判别结果后,执行步骤S3063:根据翻译预测原概率分布、外部信息翻译概率分布、第一外部信息判别结果和第二外部信息判别结果,得到当前时刻t的结合外部信息的翻译预测概率分布。
[0065] 图6示出了本公开一实施例的步骤S401的方法流程图,如图6所示,在一种可能的实现方式中,步骤S401可以包括:
[0066] 步骤S4011:根据源端源语言的神经网络隐层表示和外部信息的隐层表示,判别外部信息输入中的每个单词对于本次翻译是否为噪音;
[0067] 步骤S4012:分别为被判别为噪音的元素和被判别不为噪音的元素设置不同的噪音判别权重作为第一外部信息判别结果。
[0068] 图7示出了本公开一实施例的步骤S402的方法流程图,如图7所示,在一种可能的实现方式中,步骤S402可以包括:
[0069] 步骤S4021:根据外部信息的隐层表示,得到当前时刻t的对翻译有帮助的部分外部信息表示,根据当前时刻t的所述目标端的隐层表示和对翻译有帮助的部分外部信息表示,判别外部信息输入中的每个单词对于当前时刻t的翻译是否为噪音;
[0070] 步骤S4022:分别为被判别为噪音的元素和被判别不为噪音的元素设置不同的噪音判别权重作为第二外部信息判别结果。
[0071] 本公开还提供一种利用外部信息的神经机器翻译系统,包括以下模块:源端编码器神经网络(也简称源端编码器),用于接收源端源语言的文字序列作为源端输入;
[0072] 外部信息编码器神经网络(也简称外部信息编码器),用于接收目标语言的文字序列作为外部信息输入;
[0073] 目标端解码器神经网络(也简称目标端解码器或解码器),用于根据所述源端输入和所述外部信息输入,计算结合外部信息的翻译预测概率分布,根据所述结合外部信息的翻译预测概率分布生成源端源语言文字序列的译文作为目标端输出。
[0074] 可选地,源端编码器使用循环神经网络(Recurrent Neural Networks,RNN)、卷积神经网络(Convolutional Neural Network,CNN)或自注意力神经网络(Self-Attention Neural Network,SANN)中的一种来实现。
[0075] 在一种可能的实现方式中,神经机器翻译系统还包括:噪音判别器神经网络,所述噪音判别器神经网络包括全局噪音判别器神经网络和/或局部噪音判别器神经网络,全局噪音判别器神经网络判别所述外部信息的神经网络隐层表示中的每个元素对本次翻译是否为噪音,被判别为噪音的元素与被判别不为噪音的元素获得不同的第一噪音判别结果;局部噪音判别器神经网络判别当前翻译时刻获得的所述外部信息的神经网络隐层表示中的元素对于当前时刻翻译是否为噪音,被判别为噪音的元素与被判别不为噪音的元素获得不同的第二噪音判别结果;
[0076] 目标端解码器神经网络根据所述源端的神经网络隐层表示、所述外部信息的神经网络隐层表示、所述第一噪音判别结果和/或所述第二噪音判别结果,得到结合外部信息的翻译预测概率分布,根据所述结合外部信息的翻译预测概率分布生成源端源语言文字序列的译文作为目标端输出。
[0077] 对于外部信息文字序列中可能包含的对本次翻译(即本次进行的由源端源语言文字序列至目标端目标语言文字序列的翻译)无关的噪音,在对源端和外部信息文字序列分别编码结束后,可选地,使用全局噪音判别器神经网络(以下简称全局判别器)对外部信息中的每个单词进行噪音判别。
[0078] 可选地,对于外部信息中的每个单词,全局判别器通过一个多层感知机神经网络计算出该词对于本次翻译是否不为噪音的概率 作为第一噪音判别结果。第一噪音判别结果D(y)代表所述全局判别器对于外部信息中的某个词y是否为噪音的判定结果。其值越小,代表该词y被认为是对于本次翻译句子的噪音的可能性越大。
[0079] 在一种可能的实现方式中,在全局噪音判别器进行噪音判别时,由于存在这样的可能性,即,外部信息中的J个单词对于本次翻译均属于噪音,因此进行如下操作:给外部信息文字序列中的一个元素添加标记,将其标记为空元素,用来表示外部信息文字序列中所有不存在的单词,该空元素在噪音判别过程中被赋予的概率值为1,外部信息文字序列中其他元素被赋予的概率值为0。
[0080] 在解码阶段,解码器逐词、逐时刻地(时刻由1到T,其中T为目标端目标语言文字序列的长度)生成目标端目标语言文字序列。
[0081] 在一种可能的实现方式中,解码器神经网络还包括原始翻译概率分布输出层和带有注意力机制的外部信息读取层。
[0082] 可选地,解码器中的原始翻译概率分布输出层使用循环神经网络(Recurrent Neural Networks,RNN)、卷积神经网络(Convolutional Neural Network,CNN)或自注意力神经网络(Self-Attention Neural Network,SANN)中的一种来实现。
[0083] 在当前的每个解码时刻t,对于原始翻译概率分布输出层,解码器首先读取1到t-1时刻生成的历史信息,然后通过注意力机制从源端的源端编码器的隐层表示h中获得当前时刻t对应的源端上下文信息,从而生成目标端的隐层表示st,进而生成当前时刻t的翻译预测原概率分布 以下简称原概率分布。
[0084] 对于带有注意力机制的外部信息读取层,解码器通过另一套注意力机制从外部信息的隐层表示hE中获取对当前时刻翻译有帮助的部分外部信息表示 和外部信息翻译概率分布 借助全局判别器得到的第一噪音判别结果,对于外部信息中的某个词y∈yE进行降噪,得到降噪的外部信息翻译概率分布 (以下简称外部概率分布)。通过这一步骤,被全局判别器判定为噪音的词将会得到较小的概率密度,从而在一定程度上避免了噪音对融合外部信息造成负面的影响。
[0085] 在一种可能的实现方式中,使用局部噪音判别器神经网络(以下简称局部判别器)再次噪音判别。
[0086] 可选地,使用基于多层感知机的局部噪音判别器神经网络根据当前时刻t的解码器隐层表示st和获取到的对翻译有帮助的部分外部信息表示 计算权重βt作为第二噪音判别结果。第二噪音判别结果βt代表着局部判别器对于当前时刻t获得的外部信息是否不为噪音的判定结果。其值越小,代表当前时刻t获取到的外部信息被认为是对于当前时刻翻译的噪音的可能性越大。
[0087] 借助局部判别器的判别结果,通过第二噪音判别结果βt对原概率分布和外部概率分布进行线性加权得到当前时刻t的结合外部信息的翻译预测概率分布当前时刻t的最终翻译由该概率分布得到。
[0088] 目标端目标语言文字序列,即译文y={y1,…,yt,…,yT}经时刻1到T,逐词地由上述步骤生成。
[0089] 可选地,全局噪音判别器神经网络和局部噪音判别器神经网络可以使用二值分类的多层感知机神经网络。
[0090] 应当理解,以上先后使用全局噪音判别器神经网络和局部噪音判别器神经网络对外部信息中的噪音进行两次噪音判别的步骤并不是必须的,根据需要可以只使用全局判别器和局部判别器中的一者进行噪音判别。当只使用全局判别器时,可以将βt取值为0;当只使用局部判别器时,可以将 中的每一个D(y)取值为1。
[0091] 图8示意性地示出了根据本公开的一个实施方式获得当前时刻t的结合外部信息的翻译预测概率分布Pt(y)的过程。在该实施方式中,可选地,源端编码器对源端输入进行了双向编码。目标端解码器对源端实施了注意力机制。图中ɑ表示注意力机制产生的注意力权重,σ表示基于多层感知机的局部噪音判别器,为空元素标记。
[0092] 图9示意性地示出了根据本公开的一个实施方式在当前时刻t将译文中第t个单词最终翻译为moving的过程。
[0093] 根据本公开的利用外部信息的神经机器翻译系统,通过噪音判别神经网络,允许所提供的外部信息包含噪音,对外部信息的要求较低,且能识别外部信息中的噪音;通过降噪,对外部信息中的噪音进行了消解,提高翻译结果的质量。
[0094] 以下介绍根据本公开的一个实施方式的利用外部信息的神经机器翻译系统的训练方法。
[0095] 给定语料库 其中 为由对齐的源端源语言文字序列、目标端目标语言文字序列和外部信息文字序列构成的三元组,M为语料库中该三元组的数量,上述利用外部信息的神经机器翻译方法在此语料库上进行训练。训练的目标函数由翻译概率分布的交叉熵损失、全局噪音判别器的二元logistic损失以及局部噪音判别器的二元logistic损失三部分组成:
[0096]
[0097] 其中,θ′,θg,θl分别是所述神经机器翻译系统的主要参数、全局判别器的参数和局部判别器的参数;λ1和λ2分别是两个噪音判别器对应损失的权重。
[0098] 对于 其由如下公式计算得到:
[0099]
[0100]
[0101] 其中, 为一个布尔值指示器,表示外部信息中的词 是否为目标端目标语言序列y中的词,如果是,则认为其为有用信息, 的值为1;否则认为其是噪音,的值为0。
[0102] 对于 其由如下公式计算得到:
[0103]
[0104]
[0105] 其中,b(yt)为一个布尔值指示器,表示训练时的目标端目标语言文字序列y(即参考译文中当前时刻t对应的词yt)是否为外部信息文字序列中的词,如果是,则认为外部信息可以为当前时刻提供有用信息,局部判别器认为当前时刻获取到的外部信息不是噪音,b(yt)的值为1;否则外部信息中不能为当前时刻的翻译提供有用的信息,局部判别器应该认为当前时刻获取到的外部信息是噪音,b(yt)的值为0。
[0106] 对于训练方法中的获取目标语言外部信息语料步骤,为节约训练成本、提高训练效率,本公开提供了一种不需要额外引入人工标记的外部信息语料获取方法。
[0107] 通过对目标语言参考译文和目标语言词汇表进行采样,不需要额外引入人工标记,而获取参数训练所使用外部信息语料。具体来说,对于对齐的双语平行语料中的一对平行句对[x,y],该方法从目标端目标语言的参考译文y中采样一部分单词作为正样本,即对当前翻译有用的外部信息;从目标语言词汇表中不属于目标端目标语言参考译文的单词集合中采样等量的负样本,即对当前翻译无用的外部信息,也就是噪音;将这些正样本和负样本中的单词一同作为外部信息文字序列yE。从而得到对齐的源端源语言文字序列、目标端目标语言文字序列和外部信息文字序列构成的三元组[x,y,yE]。
[0108] 以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。