本申请涉及计算机
技术领域:
,特别涉及一种翻译方法及装置、翻译模型的训练方法及装置、计算设备和计算机可读存储介质。
背景技术:
:随着计算机运算能力的提升,神经网络的应用越来越广泛,例如构建翻译模型,以实现源语言到目标语言的转换。一般地,翻译模型的架构包括:编码层(encoder)—解码层(decoder)。编码层实现对待翻译的源语句进行编码生成向量,解码层实现对源语句的向量进行解码生成对应的目标语句。传统的翻译模型大多会使用卷积神经网络(convolutionalneuralnetworks,cnn)模型或循环神经网络(recurrentneuralnetworks,rnn)模型来作为作为编码层—解码层的模型基础。谷歌的基于注意力机制的翻译模型并没有用任何cnn或者rnn的结构,该模型可以高度并行地工作,所以在提升翻译性能的同时训练速度也特别快。图1示出了现有的一种谷歌翻译模型的架构。模型分为编码层和解码层两部分。编码层由6个相同的编码堆栈层叠加于一起,每层堆栈层包括两个子层:多头注意力机制子层和前馈网络层。解码层由6个相同的解码堆栈层叠加于一起,每层堆栈层包括三个子层:隐式多头注意力机制子层、多头注意力机制子层和前馈网络层。在使用过程中,在编码层侧,源语句对应的原始向量作为第一个编码堆栈层的输入向量,每个编码堆栈层的输出向量作为下一个编码堆栈层的输入向量。最后一个编码堆栈层的输出向量作为解码堆栈层的输入向量,输入至解码层的每个解码堆栈层。在解码层侧,上一次解码的输出向量作为本次解码的输入向量,输入至第一个解码堆栈层,每个编码堆栈层的输出向量以及最后一个编码堆栈层的输出向量,作为下一个编码堆栈层的输入向量。最后一个解码堆栈层的输出向量经由线性层和分类函数层(softmax)进行转换,得到最终的目标语句。在谷歌翻译模型中,最后一个编码堆栈层的输出向量作为编码层的最终输出向量,其中,每个编码堆栈层的输出向量都会对最终输出向量产生影响,但每个编码堆栈层的影响权重都是固定的,这会对最终的翻译效果造成不利的影响。技术实现要素:有鉴于此,本申请实施例提供了一种翻译方法及装置、翻译模型的训练方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。本申请实施例公开了一种翻译方法,所述方法包括:获取待翻译语句;将所述待翻译语句输入翻译模型,得到所述待翻译语句对应的翻译语句;其中,所述翻译模型通过以下方式训练得到:将目标语料中的第一语句和翻译后的第二语句分别作为训练样本和训练特征;将所述训练样本输入至所述翻译模型的编码层,得到至少一个编码向量;将至少一个编码向量输入至所述翻译模型的权重层,得到权重向量;将所述训练特征以及所述权重向量输入至所述翻译模型的解码层,得到解码向量,并根据解码向量得到解码向量的误差;根据所述解码向量的误差调整所述权重层,继续训练所述翻译模型,直至达到训练停止条件。可选地,所述编码层包括一个第一堆栈层;将所述训练样本输入至所述翻译模型的编码层,得到至少一个编码向量,包括:将所述训练样本输入至所述翻译模型的编码层,生成第一向量;将所述第一向量输入至第一堆栈层,得到所述第一堆栈层输出的编码向量。可选地,所述编码层包括n个第一堆栈层,且n个第一堆栈层顺次连接,其中,n≥2且n为正整数;将所述训练样本输入至所述翻译模型的编码层,得到至少一个编码向量,包括:102、将所述训练样本输入至所述翻译模型的编码层,生成第一向量;104、将所述第一向量输入至第一个第一堆栈层,得到第一个所述第一堆栈层的输出的编码向量;106、将第i-1个所述第一堆栈层的编码向量输入至第i个第一堆栈层,得到第i个所述第一堆栈层输出的编码向量,其中2≤i≤n;108、将i自增1,判断自增1后的i是否大于n,若是,则结束,若否,继续执行步骤106。可选地,将至少一个编码向量输入至所述翻译模型的权重层,得到权重向量,包括:将至少一个编码向量输入至所述翻译模型的权重层,其中,所述权重层包括与每个所述编码向量相对应的第一权重系数;根据所述编码向量和所述第一权重系数,计算得到一个所述权重向量。可选地,所述解码层包括一个第二堆栈层;将所述训练特征以及所述权重向量输入至所述翻译模型的解码层,得到解码向量,包括:将所述训练特征输入至所述翻译模型的解码层,生成第二向量;将所述第二向量以及所述权重向量输入至第二堆栈层,得到所述解码向量。可选地,所述解码层包括m个第二堆栈层,且m个第一堆栈层顺次连接,其中,m≥2且m为正整数;将所述训练特征以及所述权重向量输入至所述翻译模型的解码层,得到解码向量,包括:202、将所述训练特征输入至所述翻译模型的解码层,生成第二向量;204、将所述第二向量以及所述权重向量输入至第一个所述第二堆栈层,得到第一个所述第二堆栈层的输出向量;206、将第j-1个所述第二堆栈层的输出向量以及所述权重向量输入至第j个所述第二堆栈层,得到第j个第二堆栈层的输出向量,并将第m个第二堆栈层的输出向量作为所述解码向量,其中,2≤j≤m;208、将j自增1,判断自增1后的j是否大于m,若是,则结束,若否,继续执行步骤206。可选地,所述解码层包括m个第二堆栈层,且m个第二堆栈层顺次连接,其中,m≥2且m为正整数;将至少一个编码向量输入至所述翻译模型的权重层,得到权重向量,包括:将至少一个编码向量输入至所述翻译模型的权重层,其中,所述权重层包括与每个所述第二堆栈层相对应的第二权重系数向量,每个第二权重系数向量包括与每个所述编码向量相对应的第二权重系数;根据所述编码向量和所述第二权重系数向量,计算得到每个所述第二堆栈层相对应的权重向量。可选地,将所述训练特征以及所述权重向量输入至所述翻译模型的解码层,得到解码向量,包括:302、将所述训练特征输入至所述翻译模型的解码层,生成第二向量;304、将所述第二向量以及第一个所述第二堆栈层对应的权重向量输入至第一个所述第二堆栈层,得到第一个所述第二堆栈层的输出向量;306、将第j-1个所述第二堆栈层的输出向量以及第j个所述第二堆栈层对应的权重向量输入至第j个所述第二堆栈层,得到第j个第二堆栈层的输出向量,并将第m个第二堆栈层的输出向量作为所述解码向量,其中,2≤j≤m;308、将j自增1,判断自增1后的j是否大于m,若是,则结束,若否,继续执行步骤306。可选地,所述解码向量的误差通过以下方法得到:将所述解码向量与预设的向量验证集进行对比,得到所述解码向量的误差。可选地,所述训练停止条件包括:误差的变化率小于稳定阈值。本申请实施例还公开了一种翻译模型的训练方法,包括:将目标语料中的第一语句和翻译后的第二语句分别作为训练样本和训练特征;将所述训练样本输入至所述翻译模型的编码层,得到至少一个编码向量;将至少一个编码向量输入至所述翻译模型的权重层,得到权重向量;将所述训练特征以及所述权重向量输入至所述翻译模型的解码层,得到解码向量,并根据解码向量得到解码向量的误差;根据所述解码向量的误差调整所述权重层,继续训练所述翻译模型,直至达到训练停止条件。本申请实施例还公开了一种翻译装置,所述装置包括:获取模块,被配置为获取待翻译语句;翻译模块,被配置为将所述待翻译语句输入翻译模型,得到所述待翻译语句对应的翻译语句;其中,翻译模型通过以下装置训练:样本特征生成模块,被配置为将目标语料中的第一语句和翻译后的第二语句分别作为训练样本和训练特征;编码向量生成模块,被配置为将所述训练样本输入至所述翻译模型的编码层,得到至少一个编码向量;权重向量生成模块,被配置为将至少一个编码向量输入至所述翻译模型的权重层,得到权重向量;解码向量生成模块,被配置为将所述训练特征以及所述权重向量输入至所述翻译模型的解码层,得到解码向量,并根据解码向量得到解码向量的误差;调整模块,被配置为根据所述解码向量的误差调整所述权重层,继续训练所述翻译模型,直至达到训练停止条件。本申请实施例还公开了一种翻译模型的训练装置,包括:样本特征生成模块,被配置为将目标语料中的第一语句和翻译后的第二语句分别作为训练样本和训练特征;编码向量生成模块,被配置为将所述训练样本输入至所述翻译模型的编码层,得到至少一个编码向量;权重向量生成模块,被配置为将至少一个编码向量输入至所述翻译模型的权重层,得到权重向量;解码向量生成模块,被配置为将所述训练特征以及所述权重向量输入至所述翻译模型的解码层,得到解码向量,并根据解码向量得到解码向量的误差;调整模块,被配置为根据所述解码向量的误差调整所述权重层,继续训练所述翻译模型,直至达到训练停止条件。本申请实施例还公开了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现该指令被处理器执行时实现如上所述的翻译方法或者翻译模型的训练方法的步骤。本申请实施例还公开了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述的翻译方法或者翻译模型的训练方法的步骤。本申请实施例还公开了一种芯片,其存储有计算机指令,该指令被处理器执行时实现如上所述的翻译方法或者翻译模型的训练方法的步骤。本申请实施例提供的一种翻译方法及装置、翻译模型的训练方法及装置,通过输入训练样本和训练标签训练翻译模型的过程中,调整权重层的权重系数,并得到调整好的权重层,从而可以在翻译模型的使用过程中得到更好的翻译效果。其次,输入至每个第二堆栈层的权重向量可以相同,也可以彼此不同,进一步地增加了本实施例的翻译模型的可调节性,从而实现更好的翻译效果。另外,在翻译的过程中,将待翻译语句和历史翻译语句输入翻译模型,得到待翻译语句对应的翻译语句,从而提高历史翻译语句和当前的翻译语句的关联性,可有利于提高翻译效果。附图说明图1为现有技术中的翻译模型的架构示意图;图2是本申请实施例的计算设备的结构示意图;图3a和图3b分别为本申请实施例的翻译模型的架构图;图4是本申请实施例的翻译模型的训练方法的流程示意图;图5是本申请实施例的翻译模型的训练方法的流程示意图;图6是本申请实施例的翻译模型的训练方法的流程示意图;图7是本申请实施例的翻译方法的流程示意图;图8是本申请实施例的翻译装置的流程示意图;图9是本申请实施例的翻译模型的训练装置的流程示意图。具体实施方式在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。首先,对本发明一个或多个实施例涉及的名词术语进行解释。翻译模型:其主要思想是将待翻译语句经过编码层(encoder)编码成为一个编码向量,然后利用解码层(decoder)对编码向量进行解码,得到解码向量,然后将解码向量翻译成为对应的翻译语句。谷歌翻译模型(googletransformer):谷歌提出的一种神经网络架构,用于机器翻译。编码(encoder):将待翻译语句由文字转化为编码向量;解码(decoder):将编码向量转化为翻译语句的语言文字;bleu分数:一种评价机器翻译结果的指标。wmt(workshoponmachinetranslation):是一项国际顶级机器翻译比赛,wmt2013是wmt官方机器翻译数据集之一,属于测试算法结果的数据集。在本申请实施例中,提供了一种翻译方法及装置、翻译模型的训练方法及装置、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。图2是示出了根据本说明书一实施例的计算设备200的结构框图。该计算设备200的部件包括但不限于存储器210和处理器220。处理器220与存储器210通过总线230相连接,数据库250用于保存数据。计算设备200还包括接入设备240,接入设备240使得计算设备200能够经由一个或多个网络260通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备240可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。在本说明书的一个实施例中,计算设备200的上述以及图2中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图2所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。计算设备200可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备200还可以是移动式或静止式的服务器。其中,处理器220可以执行本实施例的翻译方法或翻译模型的训练方法。首先,对本实施例所涉及的翻译模型的架构进行说明。图3a和图3b所示为本实施例的两种翻译模型。由图3a和图3b可见,本实施例的翻译模型包括编码层31和解码层32两部分。编码层31包括至少一个第一堆栈层311,图3a和图3b中的编码层31包括多个第一堆栈层311,该多个相同的第一堆栈层311叠加于一起。每个第一堆栈层311包括两个子层:多头注意力机制子层和前馈网络层。编码层31还包括:第一嵌入层,以接收待翻译语句,并将待翻译语句转换为第一向量输入至第一个第一堆栈层311。将第一个第一堆栈层311输出的编码向量作为第二个堆栈层311的输入向量,从而得到第二个第一堆栈层311输出的编码向量……依次类推,直至得到全部第一堆栈层311输出的编码向量。本实施例中,将每个第一堆栈层311输出的编码向量输入至权重层,得到权重向量输入至各个第二堆栈层。在图3a中,每个第一堆栈层311的编码向量对应权重向量中的一个权重系数,生成一个权重向量输入至各个第二堆栈层;在图3b中,每个第一堆栈层311的编码向量对应权重向量中不同的权重系数,对应地输入至各个第二堆栈层的权重向量彼此不相同。解码层32包括至少一个第二堆栈层321,图3a和图3b中的解码层32包括多个第二堆栈层321,该多个第二堆栈层321依次串接。每个第二堆栈层321包括三个子层:隐式多头注意力机制子层、多头注意力机制子层和前馈网络层。解码层32还包括:第二嵌入层,在训练阶段,接收已翻译语句,并将已翻译语句转换为第二向量输入至第一个第二堆栈层321。第一个第二堆栈层321根据第二向量以及输入至第一个第二堆栈层321的权重向量,生成对应的输出向量;根据第一个第二堆栈层321的输出向量以及输入至第二个第二堆栈层321的权重向量,得到第二个第二堆栈层321的输出向量……依次类推,直至得到最终一个第二堆栈层321的输出向量作为解码向量。参见图4,本实施例的翻译模型的训练方法包括:402、将目标语料中的第一语句和翻译后的第二语句分别作为训练样本和训练特征。本实施例中,目标语料中包括多个第一语句和多个第二语句,第一语句和第二语句一一对应。例如,第一语句为“我爱中国”,第二语句为“ilovechina”;第一语句为“我吃苹果”,第二语句为“ieatapple”。404、将所述训练样本输入至所述翻译模型的编码层,得到至少一个编码向量。具体地,编码层可以包括一个第一堆栈层,也可以包括两个或两个以上的第一堆栈层。在编码层包括一个第一堆栈层的情形下,步骤404具体包括下述步骤s1~s2:s1、将所述待翻译语句输入至所述翻译模型的编码层,生成第一向量。其中,第一向量可以由编码层的第一嵌入层来完成。例如,待翻译语句为“我爱中国”,生成的第一向量x=(x0,x1,x2,x3),其中,x0=“我”,x1=“爱”,x2=“中”,x3=“国”。s2、将所述第一向量输入至第一堆栈层,得到所述第一堆栈层输出的编码向量。在编码层包括n个第一堆栈层的情形下,n个第一堆栈层顺次连接,其中,n≥2且n为正整数,步骤404具体包括下述步骤s3~s5:s3、将所述训练样本输入至所述翻译模型的编码层,生成第一向量。s4、将所述第一向量输入至第一个第一堆栈层,得到第一个所述第一堆栈层的输出的编码向量。s5、将第i-1个所述第一堆栈层的编码向量输入至第i个第一堆栈层,得到第i个所述第一堆栈层输出的编码向量,其中2≤i≤n。s6、将i自增1,判断自增1后的i是否大于n,若是,则结束,若否,继续执行步骤s5。可见,对于编码层包括至少两个第一堆栈层的情形,除去第一个第一堆栈层以外,其余的第一堆栈层的输入向量均为上一个第一堆栈层输出的编码向量,这样也保证了多个第一堆栈层输出的解码向量之间的关联性。406、将至少一个编码向量输入至所述翻译模型的权重层,得到权重向量。在一个具体的实施方案中,参见图3a和图5,步骤406包括:502、将至少一个编码向量输入至所述翻译模型的权重层,其中,所述权重层包括与每个所述编码向量相对应的第一权重系数。具体地,在训练的过程中,输入的第一权重系数可以为初始化的权重系数,并在后续的训练过程中不断调整,以得到合适的权重系数。504、根据所述编码向量和所述第一权重系数,计算得到一个权重向量。具体地,步骤504包括:1)对所述第一权重系数进行归一化处理,得到第一映射权重系数。具体地,第一映射权重系数通过以下公式(1)实现:其中,αi为第一权重系数;其中,i∈[0,…,n-1],n为第一堆栈层的个数;ti代表第一映射权重系数。2)将每个第一堆栈层的输出向量以及对应的第一映射权重系数进行相乘,然后求和得到一个权重向量。具体地,权重向量通过以下公式(2)计算:其中,o代表权重向量;ti代表第一映射权重系数;zi代表第一堆栈层的输出向量。上述步骤502~504,可以实现输入至每个第二堆栈层相同的权重向量。通过在输入训练样本和训练标签训练翻译模型的过程中,调节权重层的第一权重系数,并得到调节好的第一权重系数,从而保证翻译模型在使用过程中可以实现更好的翻译效果。在一个具体的实施方案中,参见图3b和图6,步骤406包括:602、将至少一个编码向量输入至所述翻译模型的权重层,其中,所述权重层包括与每个所述第二堆栈层相对应的第二权重系数向量,每个第二权重系数向量包括与每个所述编码向量相对应的第二权重系数。604、根据所述编码向量和所述第二权重系数向量,计算得到每个所述第二堆栈层相对应的权重向量。具体地,步骤604包括:1)对所述第二权重系数向量进行归一化处理,得到第二映射权重系数向量。具体地,第二映射权重系数向量通过以下公式(3)实现:其中,αij为第二权重系数向量;其中,i∈[0,…,n-1],n为第一堆栈层的个数,j∈[0,…,m-1];tij代表第二映射权重系数向量。2)将每个所述第一堆栈层的输出向量以及对应的第二映射权重系数向量进行相乘,然后求和得到m个权重向量。其中,m为第二堆栈层的个数。具体地,m个权重向量通过以下公式(4)实现:其中,oj代表权重向量;tij代表第二映射权重系数向量;zi代表第一堆栈层的输出向量。上述步骤602~604,可以实现输入至每个第二堆栈层不同的权重向量。通过在输入训练样本和训练标签训练翻译模型的过程中调节权重层的第二权重系数向量,并得到调节好的第二权重系数向量,从而保证翻译模型在使用过程中可以实现更好的翻译效果。408、将所述训练特征以及所述权重向量输入至所述翻译模型的解码层,得到解码向量,并根据解码向量得到解码向量的误差。其中,对于解码层包括一个第二堆栈层的情形,将所述训练特征以及所述权重向量输入至所述翻译模型的解码层,得到解码向量,包括:1)将所述训练特征输入至所述翻译模型的解码层,生成第二向量;2)将所述第二向量以及所述权重向量输入至第二堆栈层,得到解码向量。其中,对于解码层包括m个顺次连接的第二堆栈层,且输入至第二堆栈层的权重向量彼此相同的情形,将所述训练特征以及所述权重向量输入至所述翻译模型的解码层,得到解码向量,包括:1)将所述训练特征输入至所述翻译模型的解码层,生成第二向量;2)将所述第二向量以及所述权重向量输入至第一个所述第二堆栈层,得到第一个所述第二堆栈层的输出向量;3)将第j-1个所述第二堆栈层的输出向量以及所述权重向量输入至第j个所述第二堆栈层,得到第j个第二堆栈层的输出向量,并将第m个第二堆栈层的输出向量作为所述解码向量,其中,2≤j≤m。4)将j自增1,判断自增1后的j是否大于m,若是,则结束,若否,继续执行步骤3)。其中,对于解码层包括m个顺次连接的第二堆栈层,且输入至第二堆栈层的m个权重向量彼此不同的情形,将所述训练特征以及所述权重向量输入至所述翻译模型的解码层,得到解码向量,包括:1)将所述训练特征输入至所述翻译模型的解码层,生成第二向量;2)将所述第二向量以及第一个所述第二堆栈层对应的权重向量输入至第一个所述第二堆栈层,得到第一个所述第二堆栈层的输出向量;3)将第j-1个所述第二堆栈层的输出向量以及第j个所述第二堆栈层对应的权重向量输入至第j个所述第二堆栈层,得到第j个第二堆栈层的输出向量,并将第m个第二堆栈层的输出向量作为所述解码向量,其中,2≤j≤m。4)将j自增1,判断自增1后的j是否大于m,若是,则结束,若否,继续执行步骤3)。其中,可选地,解码向量的误差通过以下方法得到:将所述解码向量与预设的向量验证集进行对比,得到所述解码向量的误差。需要说明的是,本实施例中,得到的解码向量并不直接与原始的已翻译语句对应的向量进行对比计算误差,而是引入了一个向量验证集。如果将解码向量直接与原始的已翻译语句对应的向量进行对比计算误差,会导致过拟合,导致翻译模型在其他的语句翻译中的表现变差,翻译效果反而适得其反。410、根据所述解码向量的误差调整所述权重层,继续训练所述翻译模型,直至达到训练停止条件。其中,训练停止条件包括:误差的变化率小于稳定阈值。稳定阈值可以根据实际需求而设定,例如设置为1%。这样,误差趋于稳定,就可以认为模型训练完毕了。本申请实施例提供的一种翻译模型的训练方法,通过输入训练样本和训练标签训练翻译模型的过程中,调整权重层的权重系数,并得到调整好的权重层,从而可以在翻译模型的使用过程中得到更好的翻译效果。其次,输入至每个第二堆栈层的权重向量可以相同,也可以彼此不同,进一步地增加了本实施例的翻译模型的可调节性,从而实现更好的翻译效果。本申请实施例还公开了一种翻译方法,如图7所示,包括:702、获取待翻译语句;704、将待翻译语句输入至翻译模型的编码层,得到至少一个编码向量。其中,编码向量包括至少一个待翻译词语。706、将至少一个编码向量输入至翻译模型的权重层,得到权重向量。708、将参考翻译结果以及权重向量输入至翻译模型的解码层,得到解码向量。其中,解码向量包括至少一个翻译词语。具体地,在翻译的过程中,依次得到编码向量中的待翻译词语对应的翻译词语。对于每个待翻译词语,需要将对应的参考翻译结果输入至解码层。对于初始的第一个翻译词语,参考翻译结果为设定的初始值;对于除去第一个待翻译词语的其他待翻译词语,参考翻译结果为当前待翻译词语的前一个待翻译词语所对应的翻译词语。例如对于“我爱中国”,如果当前待翻译词语为“爱”,那么参考翻译结果为“我”对应的翻译词语“i”。710、根据解码向量得到待翻译语句对应的翻译语句。其中,对于步骤704中得到编码层的至少一个编码向量的具体步骤,步骤706中得到权重向量的具体步骤,步骤708中得到解码向量的具体步骤,在前述实施例中已经详述,在此便不再赘述。另外,在翻译的过程中,将历史翻译语句输入翻译模型,可以提高历史翻译语句和当前的翻译语句的关联性,可有利于提高翻译效果。下述表1、表2和表3分别为使用三个不同的翻译模型加入权重层的实验数据对比。需要说明的是,表1~表3中加入的权重层包括与每个所述编码向量相对应的第一权重系数,如图3a所示。表1中为现有的翻译模型(transformer)加入权重层前后的实验效果对比表,表1中的数据代表的为在不同层数下的翻译模型(transformer)加入权重层前后的bleu分数。表1transformer4层6层8层未加权重层24.4824.7825.00加入权重层25.0025.0725.38由表1可见,在4层、6层和8层的情形下,加入权重层的翻译模型(transformer)的bleu分数要大于未加入权重层的翻译模型(transformer)的bleu分数。加入权重层的翻译模型的翻译效果要优于未加入权重层的翻译模型。表2中为现有的加权翻译模型(weightedtransformer)加入权重层前后的实验效果对比表,表2中的数据代表的为在不同层数下的加权翻译模型(weightedtransformer)加入权重层前后的bleu分数。表2weightedtransformer4层6层8层未加权重层24.7024.7624.92加入权重层24.7124.9025.10由表2可见,在4层、6层和8层的情形下,加入权重层的加权翻译模型(weightedtransformer)的bleu分数要大于未加入权重层的加权翻译模型(weightedtransformer)的bleu分数。加入权重层的加权翻译模型的翻译效果要优于未加入权重层的加权翻译模型。表3为现有的通用翻译模型(universaltransformer)加入权重层前后的实验效果对比表。表3中的数据代表的为在不同层数下的通用翻译模型(universaltransformer)加入权重层前后的bleu分数。表3universaltransformer4层6层8层未加权重层24.8524.6324.80加入权重层24.2724.8224.98由表3可见,在6层和8层的情形下,加入权重层的通用翻译模型(universaltransformer)的bleu分数要大于未加入权重层的通用翻译模型(universaltransformer)的bleu分数。加入权重层的通用翻译模型的翻译效果要优于未加入权重层的通用翻译模型。上述为本申请实施例的翻译模型的训练方法和翻译方法的实施例的具体说明。本申请实施例还公开了一种翻译模型的训练装置和翻译装置,下面分别通过实施例进行说明。本申请实施例还公开了一种翻译装置,参见图8,所述装置包括:获取模块802,被配置为获取待翻译语句;翻译模块804,被配置为将所述待翻译语句输入翻译模型,得到所述待翻译语句对应的翻译语句;其中,翻译模型通过以下装置训练:样本特征生成模块806,被配置为将目标语料中的第一语句和翻译后的第二语句分别作为训练样本和训练特征;编码向量生成模块808,被配置为将所述训练样本输入至所述翻译模型的编码层,得到至少一个编码向量;权重向量生成模块810,被配置为将至少一个编码向量输入至所述翻译模型的权重层,得到权重向量;解码向量生成模块812,被配置为将所述训练特征以及所述权重向量输入至所述翻译模型的解码层,得到解码向量,并根据解码向量得到解码向量的误差;调整模块814,被配置为根据所述解码向量的误差调整所述权重层,继续训练所述翻译模型,直至达到训练停止条件。可选地,编码层包括一个第一堆栈层,编码向量生成模块808还被配置为:将所述训练样本输入至所述翻译模型的编码层,生成第一向量;将所述第一向量输入至第一堆栈层,得到所述第一堆栈层输出的编码向量。可选地,编码层包括n个第一堆栈层,且n个第一堆栈层顺次连接,其中,n≥2且n为正整数;编码向量生成模块808还被配置为:1)将所述训练样本输入至所述翻译模型的编码层,生成第一向量;2)将所述第一向量输入至第一个第一堆栈层,得到第一个所述第一堆栈层的输出的编码向量;3)将第i-1个所述第一堆栈层的编码向量输入至第i个第一堆栈层,得到第i个所述第一堆栈层输出的编码向量,其中2≤i≤n;4)将i自增1,判断自增1后的i是否大于n,若是,则结束,若否,继续执行步骤3)。可选地,权重向量生成模块810还被配置为:将至少一个编码向量输入至所述翻译模型的权重层,其中,所述权重层包括与每个所述编码向量相对应的第一权重系数;根据所述编码向量和所述第一权重系数,计算得到一个所述权重向量。可选地,解码层包括一个第二堆栈层;解码向量生成模块812还被配置为:将所述训练特征输入至所述翻译模型的解码层,生成第二向量;将所述第二向量以及所述权重向量输入至第二堆栈层,得到所述解码向量。可选地,解码层包括m个第二堆栈层,且m个第一堆栈层顺次连接,其中,m≥2且m为正整数;解码向量生成模块812还被配置为:1)将所述训练特征输入至所述翻译模型的解码层,生成第二向量;2)将所述第二向量以及所述权重向量输入至第一个所述第二堆栈层,得到第一个所述第二堆栈层的输出向量;3)将第j-1个所述第二堆栈层的输出向量以及所述权重向量输入至第j个所述第二堆栈层,得到第j个第二堆栈层的输出向量,并将第m个第二堆栈层的输出向量作为所述解码向量,其中,2≤j≤m;4)将j自增1,判断自增1后的j是否大于m,若是,则结束,若否,继续执行步骤3)。可选地,解码层包括m个第二堆栈层,且m个第二堆栈层顺次连接,其中,m≥2且m为正整数;权重向量生成模块810还被配置为:将至少一个编码向量输入至所述翻译模型的权重层,其中,所述权重层包括与每个所述第二堆栈层相对应的第二权重系数向量,每个第二权重系数向量包括与每个所述编码向量相对应的第二权重系数;根据所述编码向量和所述第二权重系数向量,计算得到每个所述第二堆栈层相对应的权重向量。可选地,解码向量生成模块812还被配置为:1)将所述训练特征输入至所述翻译模型的解码层,生成第二向量;2)将所述第二向量以及第一个所述第二堆栈层对应的权重向量输入至第一个所述第二堆栈层,得到第一个所述第二堆栈层的输出向量;3)将第j-1个所述第二堆栈层的输出向量以及第j个所述第二堆栈层对应的权重向量输入至第j个所述第二堆栈层,得到第j个第二堆栈层的输出向量,并将第m个第二堆栈层的输出向量作为所述解码向量,其中,2≤j≤m。4)将j自增1,判断自增1后的j是否大于m,若是,则结束,若否,继续执行步骤3)。可选地,解码向量生成模块812将所述解码向量与预设的向量验证集进行对比,得到所述解码向量的误差。可选地,训练停止条件包括:误差的变化率小于稳定阈值。本实施例提供的翻译装置,输入至每个第二堆栈层的权重向量可以相同,也可以彼此不同,进一步地增加了本实施例的翻译模型的可调节性,从而实现更好的翻译效果。上述为本实施例的一种翻译装置的示意性方案。需要说明的是,该翻译装置的技术方案与上述的翻译方法的技术方案属于同一构思,翻译装置的技术方案未详细描述的细节内容,均可以参见上述翻译方法的技术方案的描述。本申请实施例还公开了一种翻译模型的训练装置,参见图9,包括:样本特征生成模块902,被配置为将目标语料中的第一语句和翻译后的第二语句分别作为训练样本和训练特征;编码向量生成模块904,被配置为将所述训练样本输入至所述翻译模型的编码层,得到至少一个编码向量;权重向量生成模块906,被配置为将至少一个编码向量输入至所述翻译模型的权重层,得到权重向量;解码向量生成模块908,被配置为将所述训练特征以及所述权重向量输入至所述翻译模型的解码层,得到解码向量,并根据解码向量得到解码向量的误差;调整模块910,被配置为根据所述解码向量的误差调整所述权重层,继续训练所述翻译模型,直至达到训练停止条件。本申请实施例提供的翻译模型的训练装置,通过输入训练样本和训练标签训练翻译模型的过程中,调整权重层的权重系数,并得到调整好的权重层,从而可以在翻译模型的使用过程中得到更好的翻译效果。上述为本实施例的一种翻译模型的训练装置的示意性方案。需要说明的是,该翻译模型的训练装置的技术方案与上述的翻译模型的训练方法的技术方案属于同一构思,训练装置的技术方案未详细描述的细节内容,均可以参见上述翻译模型的训练方法的技术方案的描述。本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述翻译模型的训练方法或翻译方法的步骤。上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的翻译模型的训练方法或使用方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述翻译模型的训练方法或使用方法的技术方案的描述。所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。一种芯片,其存储有计算机指令,该指令被处理器执行时实现如上所述的翻译方法或者翻译模型的训练方法的步骤。需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属
技术领域:
技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。当前第1页12