一种基于生成对抗学习的机器翻译方法及装置与流程

文档序号:19829935发布日期:2020-02-04 12:18阅读:428来源:国知局
一种基于生成对抗学习的机器翻译方法及装置与流程

本发明涉及计算机技术领域,具体涉及一种基于生成对抗学习的机器翻译方法及装置。



背景技术:

机器翻译,又称为自动翻译,是利用计算机将一种自然语言(源语言)转换为另一种自然语言(目标语言)的过程。特别是随着深度学习技术的发展,机器翻译的准确率不断刷新。基于深度学习技术的神经机器翻译(nmt),采用seq2seq模型,基于“编码-解码”架构的end-to-end的深度学习翻译模型,把输入源语言句子转换成一个固定长度的隐向量,在堆叠一个多层的lstm(longshorttermmemory)来将隐向量解码成输出目标语言句子。但神经机器翻译还有很大的改进空间,神经机器翻译在训练时通常采用最大似然估计(mle)原理,将机器生成的译文与人类对源语言的翻译进行匹配,但是不能确保机器翻译的结果比人类翻译的更自然、准确和到位。

生成对抗网络(gan)是一种深度学习模型,包括两个子模型,一个生成模型,作为生成器g,用来生成与真实数据x极为相似的含有噪音z的数据;一个判别模型,作为判别器d,用来判别数据中哪些是真实数据x,哪些是g生成的伪数据。而生成对抗网络做的就是最大化判别器d,最小化生成器g。在训练的过程中,使得生成器产生的数据分布逼近真实数据的分布,欺骗判别器;判别器提升两个数据分布的判别能力。最终达到纳什均衡,使得判别器无法判断两个分布的真伪。生成对抗网络应用于机器翻译任务时,构造两个主要组成部分,生成器g和判别器d。生成器g的目标是生成出生成高质量的翻译,从而骗过判别器;判别器d的目标是区分生成器g生成的翻译结果与人类翻译结果。

但是,生成对抗网络只可以对已经生成的完整序列进行打分,因此而对一部分生成的序列,判别器d被训练为用于对整句生成结果进行评估打分,判别器d的打分对于生成序列中的每一个词都是同等的存在,要奖励就一起奖励,要惩罚就一起惩罚。以下面的英语翻译为中文为例,进行说明:

英文=[‘he’,‘is’,‘a’,‘student’,‘.’];

人类翻译real_answer=[‘他’,‘是’,‘一个’,‘学生’,‘。’];

生成器的翻译fake_answer=[‘他’,‘是’,‘一个’,‘老师’,‘。’];

判别器d能够轻易辨识后者回答是假的,必然会给出极低的得分,但是仔细对比真/假两个回答可以发现,其中词‘他’、‘是’、‘一个’和‘。’其实和真实样本的是一样的,其实并没有错,真正错误的是‘老师’这个词,判别器d判定生成器的翻译整体回答是假的,导致原本无辜的词项也要跟着一起接受低分判定的惩罚。



技术实现要素:

针对现有技术中的缺陷,本发明提供一种基于生成对抗学习的机器翻译方法及装置,实现将判定力度进一步细化到词或者字符级别,保证机器翻译的结果更自然、准确和到位。

为实现上述目的,本发明提供以下技术方案:

一方面,本发明提供了一种基于生成对抗学习的机器翻译方法,包括:

随机分配生成对抗网络中的生成器的权重和判别器的权重,其中,判别器选取客观评判标准bleu作为评判的指标;

交替迭代训练生成器的权重和判别器的权重;

当客观评判标准bleu的取值大于预设值或交替迭代训练的次数大于预设次数,则停止交替迭代训练;

根据交替迭代训练后的生成器对源语言进行翻译。

另一方面,本发明还提供了一种基于生成对抗学习的机器翻译装置,装置包括:

初始化单元,用于随机分配生成对抗网络中的生成器的权重和判别器的权重,其中,判别器选取客观评判标准bleu作为评判的指标;

训练单元,用于交替迭代训练生成器的权重和判别器的权重;

终止单元,用于当客观评判标准bleu的取值大于预设值或交替迭代训练的次数大于预设次数,则停止交替迭代训练;

翻译单元,用于根据交替迭代训练后的生成器对源语言进行翻译。

其中,所述生成器的生成网络采用seq2seq式的编码器-解码器模型作为生成器翻译的模型。

其中,所述初始化单元中客观评判标准bleu的计算方法如下:

其中,c为待翻译源语言的长度,r为目标语言的长度,wn为判别器的权重,pn为改进的多元精度,n为大于零的自然数。

其中,所述训练单元,包括:

第一训练子单元,用于固定生成器的权重,训练判别器的权重;

第二训练子单元,用于固定判别器的权重,训练生成器的权重。

另一方面,本发明还提供了一种电子设备,包括:处理器、存储器和总线;其中,

处理器和存储器通过总线完成相互间的通信;

处理器用于调用存储器中的程序指令,以执行上述基于生成对抗学习的机器翻译方法。

另一方面,本发明还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述基于生成对抗学习的机器翻译方法。

由上述技术方案可知,本发明提供的一种基于生成对抗学习的机器翻译方法及装置,通过加入客观评判标准bleu作为评判机器翻译好坏的指标,确保机器翻译的结果更自然、准确和到位。通过交替迭代训练生成器的权重和判别器的权重;将待翻译的文本拆分成逐个单词拼接的形式,每一个出现的词汇都将收到之前上下文的影响。把奖励或惩罚的判定力度进一步细化到词或者字符级别。

附图说明

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

图1是本发明实施例提供一种基于生成对抗学习的机器翻译方法的流程示意图;

图2是本发明实施例提供一种基于生成对抗学习的机器翻译方法中交替迭代训练流程示意图;

图3是本发明实施例提供的一种基于生成对抗学习的机器翻译装置的结构示意图;

图4是本发明实施例提供的电子设备的结构示意图。

具体实施方式

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

本发明实施例提供的一种基于生成对抗学习的机器翻译方法,参见图1,该方法具体包括如下步骤:

s101:随机分配生成对抗网络中的生成器的权重和判别器的权重,其中,判别器选取客观评判标准bleu作为评判的指标;

在本步骤中,使用随机权重初始化生成器以及使用随机权重初始化判别器。生成器的生成网络采用seq2seq式的编码器-解码器模型作为生成器翻译的模型。判别器采用cnn(convolutionalneuralnetwork)网络。

例如:待翻译的源语言的输入序列x,经过生成器g(·),生成的翻译数据pg(x),相对的,源语言的正确的翻译数据记作:pdata(x)。判别器d(·)的输出即为一个标量,用于描述翻译数据pg(x)与翻译数据pdata(x)之间的差距。而生成对抗gan模型的整体优化目标函数是:

其中,函数v(g,d)为:

s102:交替迭代训练生成器的权重和判别器的权重;

在本步骤中,权重训练的过程是交替迭代训练生成器和判别器,具体训练过程如图2所示,图2中矩形框(a)是利用生成器、人类翻译和客观评判标准bleu(bilingualevaluationunderstudy)进行训练判别器的过程;虚线圆角矩形(b)是判别器d利用策略梯度进行词语级别奖励训练生成器g的过程。

预训练生成器;

预训练时采用最大似然估计(mle)原理,尽可能将机器生成的译文与人类对源语言的翻译进行匹配。

固定生成器的权重,训练判别器的权重;

将预训练的生成器加入到图2中(a)部分进行判别器d训练。将人类的翻译结果与生成器模型生成的翻译句子作为输入,预测给定目标句子是真实翻译还是机器根据源语句生成的翻译。同时加入客观评判标准bleu作为评判机器翻译好坏的指标。bleu采用机器翻译的结果与其相对应的几个人类的参考翻译作比较,算出一个综合分数。通过预训练生成器g训练得到判别器d。

客观评判标准bleu的计算方法如下:

其中,bp代表译句较短惩罚值,c为待翻译源语言的长度,r为目标语言的长度,wn为判别器的权重,pn为改进的多元精度,n为预设的大于零的自然数。

固定判别器的权重,训练生成器的权重。

虚线圆角矩形(b)是判别器d利用策略梯度进行词语级别奖励训练生成器g的过程。利用强化学习的思想,将已经生成的词序列作为当前的“状态”,将下一个词视为一个“动作”。因此,在各个“状态”下执行某个“动作”都将获得“奖励”或者是“惩罚”,而将从头到尾所有的动作连在一起就称为一个“策略”或“策略路径”,强化学习的目标就是找出能够获得最多奖励的最优策略。

策略梯度计算的方法为:采用判别器d给予生成样本xi的概率得分作为奖励。假设pθ(xi|ai)是面对输入上文ai时生成对话下文xi的概率,将它拆分成t单词逐个拼接的形式,每一个出现的词汇都将收到之前上下文的影响,则

pθ(xi|ai)=pθ(xi[1]ιai)+pθ(xi[2]ιai,xi[1])+···+pθ(xi[t]ιai,xi[1:t-1]);

因此,“奖励”或者是“惩罚”的力度进一步细化到词或字符级别,在生成翻译文本的过程中,对部分生成的结果进行打分。在文本逐词生成的过程中对部分生成结果进行打分。奖励惩罚的策略梯度的采用如下打分方式:

其中,n为预设的大于零的自然数,de(ai,xi[1:t])代表判别器d在逐词生成过程中获得部分文本的情况下,对于最终奖励惩罚的估计,即每得到一个新的生成词,就结合此前生成的前序文本估计最终奖励惩罚,并作为该生成词单独的奖励惩罚。在只得到部分序列的情况下,de(ai,xi[1:t])只得估计获得,可以采用蒙特卡洛搜索(montecarlosearch)等估计方法获得de(ai,xi[1:t])。

s103:当客观评判标准bleu的取值大于预设值或交替迭代训练的次数大于预设次数,则停止交替迭代训练;

在本步骤中,根据步骤s102交替迭代训练,直到客观评判标准bleu的取值大于预设值或交替迭代训练的次数大于预设次数,则停止交替迭代训练;其中,生成器g和判别器d的训练是交替进行的,由于判别器返回的打分是判定输入样本为真的概率,当随机取出一部分真实的样本:然后直接设置样本的判别器奖励值为1,将样本加入生成器g的训练过程中,生成器就能知道何种样本能得到最高的奖励。判别器d与生成器g的训练更新将交替进行,此消彼长,故而给出奖励得分的判别器d在这里是动态的。

s104:根据交替迭代训练后的生成器对源语言进行翻译。

从上述描述可知,本发明实施例提供的一种基于生成对抗学习的机器翻译方法,采用强化学习的方法,利用奖励或惩罚的策略,将判别器d的输出作为奖励或惩罚,然后用策略梯度方法来训练生成器g;实现在使用强化学习的方法训练生成器g的间隙,又能够采用对抗学习的方法训练判别器d。

将待翻译的文本拆分成逐个单词拼接的形式,每一个出现的词汇都将收到之前上下文的影响。把奖励或惩罚的判定力度进一步细化到词或者字符级别。

将人类的翻译结果与生成器中模型生成的翻译句子作为判别器的输入,判别器判定给定目标句子是真实翻译还是机器根据源语句生成的翻译。同时加入客观评判标准bleu作为评判机器翻译好坏的指标。客观评判标准bleu采用机器翻译的结果与其相对应的几个人类的参考翻译作比较,算出一个综合分数。确保机器翻译的结果更自然、准确和到位。

本发明实施例提供了一种基于生成对抗学习的机器翻译装置,参见图3,该装置具体包括:

初始化单元10,用于随机分配生成对抗网络中的生成器的权重和判别器的权重,其中,判别器选取客观评判标准bleu作为评判的指标;

训练单元20,用于交替迭代训练生成器的权重和判别器的权重;

终止单元30,用于当客观评判标准bleu的取值大于预设值或交替迭代训练的次数大于预设次数,则停止交替迭代训练;

翻译单元40,用于根据交替迭代训练后的生成器对源语言进行翻译。

其中,所述生成器的生成网络采用seq2seq式的编码器-解码器模型作为生成器翻译的模型。

其中,所述初始化单元中客观评判标准bleu的计算方法如下:

其中,c为待翻译源语言的长度,r为目标语言的长度,wn为判别器的权重,pn为改进的多元精度,n为预设的大于零的自然数。

其中,所述训练单元,包括:

第一训练子单元,用于固定生成器的权重,训练判别器的权重;

第二训练子单元,用于固定判别器的权重,训练生成器的权重。

装置中各模块所实现的功能与方法实施例中相应的操作步骤对应,这里不再赘述。

由上述技术方案可知,本发明所述的一种基于生成对抗学习的机器翻译装置,利用奖励或惩罚的策略,将判别器d的输出作为奖励或惩罚,然后用策略梯度方法来训练生成器g;实现在使用强化学习的方法训练生成器g的间隙,又能够采用对抗学习的方法训练判别器d。

将待翻译的文本拆分成逐个单词拼接的形式,每一个出现的词汇都将收到之前上下文的影响。把奖励或惩罚的判定力度进一步细化到词或者字符级别。

将人类的翻译结果与生成器中模型生成的翻译句子作为判别器的输入,判别器预测给定目标句子是真实翻译还是机器根据源语句生成的翻译。同时加入客观评判标准bleu作为评判机器翻译好坏的指标。客观评判标准bleu采用机器翻译的结果与其相对应的几个人类的参考翻译作比较,算出一个综合分数。确保机器翻译的结果更自然、准确和到位。

本发明实施例提供了一种电子设备,参见图4,该电子设备可以包括:处理器11、存储器12、总线13及存储在存储器12上并可在处理器11上运行的计算机程序;

其中,所述处理器11,存储器12通过所述总线13完成相互间的通信;

所述处理器11执行所述计算机程序时实现上述各方法实施例所提供的方法,例如包括:随机分配生成对抗网络中的生成器的权重和判别器的权重,其中,判别器选取客观评判标准bleu作为评判的指标;交替迭代训练生成器的权重和判别器的权重;当客观评判标准bleu的取值大于预设值或交替迭代训练的次数大于预设次数,则停止交替迭代训练;根据交替迭代训练后的生成器对源语言进行翻译。

本发明实施例五提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例所提供的方法,例如包括:随机分配生成对抗网络中的生成器的权重和判别器的权重,其中,判别器选取客观评判标准bleu作为评判的指标;交替迭代训练生成器的权重和判别器的权重;当客观评判标准bleu的取值大于预设值或交替迭代训练的次数大于预设次数,则停止交替迭代训练;根据交替迭代训练后的生成器对源语言进行翻译。

本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置/系统。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

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