机器翻译方法及装置与流程

文档序号:14990551发布日期:2018-07-20 22:08阅读:245来源:国知局

本发明涉及机器学习技术领域,特别涉及一种机器翻译方法及装置。



背景技术:

nmt(neuralmachinetranslation,神经网络机器翻译)是一种机器翻译技术,其使用编码器-解码器框架实现“理解语义再翻译”的过程。

一种语言中的词语翻译到另外一种语言时,通常对应多个不同的词语。为了避免同一篇文章中,不同位置的相同词语的翻译结果不一致的问题,在相关技术中,可以在传统的nmt系统的基础上增设一个hrnn(hierarchicalrecurrentneuralnetwork,层次递归神经网络)模块,在对某一个词段进行翻译时,通过hrnn总结前面几个句子的翻译结果,并结合前面几个句子的翻译结果对当前词段进行翻译。

然而,hrnn网络在总结前面几个句子的翻译结果时,需要占用极大的计算开销,为了保证翻译效率,在实际应用中,只能总结前面少量几个句子(通常是前面3个句子)的翻译结果,导致翻译效果提升有限。



技术实现要素:

为了解决相关技术中,hrnn网络在总结前面几个句子的翻译结果时,只能总结前面少量几个句子的翻译结果,导致翻译效果提升有限的问题,本发明实施例提供了一种机器翻译方法及装置,技术方案如下:

第一方面,提供了一种机器翻译方法,所述方法包括:

将词段从第一语言翻译为第二语言时,获取所述词段的源端表示向量,所述源端表示向量是在所述第一语言下表示对应词段的向量;

根据所述词段的源端表示向量查询历史翻译信息,获得所述词段的历史翻译向量,所述历史翻译向量用于表示对应词段的历史翻译情况;

根据所述词段的历史翻译向量对所述词段进行翻译。

第二方面,提供了一种机器翻译装置,所述装置包括:

源端向量获取模块,用于将词段从第一语言翻译为第二语言时,获取所述词段的源端表示向量,所述源端表示向量是在所述第一语言下表示对应词段的向量;

历史向量获取模块,用于根据所述词段的源端表示向量查询历史翻译信息,获得所述词段的历史翻译向量,所述历史翻译向量用于表示对应词段的历史翻译情况;

翻译模块,用于根据所述词段的历史翻译向量对所述词段进行翻译。

第三方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的机器翻译方法。

第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的机器翻译方法。

本发明提供的技术方案可以包括以下有益效果:

对一个词段进行翻译时,综合考虑历史上对该词段的翻译情况,并通过历史上对该词段的翻译情况影响本次翻译结果,由于历史上对一个词段的翻译情况的覆盖范围较广,其可以是翻译系统在当前时刻之前对相同或相近词段的部分甚至全部的翻译情况,因此,通过上述方法对一个词段进行翻译的结果将更接近历史上对相同词段的翻译结果,从而提高翻译的准确性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种机器翻译流程示意图;

图2是根据一示例性实施例示出的一种机器翻译方法的流程图;

图3是图2所示实施例涉及的一种概率分布集成示意图;

图4是图2所示实施例涉及的一种额外上下文处理示意图;

图5是图2所示实施例涉及的一种隐层表示集成处理示意图;

图6是根据一示例性实施例示出的一种机器翻译系统的构成示意图;

图7是根据一示例性实施例示出的机器翻译装置的结构方框图;

图8是根据一示例性实施例示出的一种服务器的结构示意图;

图9是根据一示例性实施例示出的一种用户终端的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

本发明各个实施例所示的方案,可以应用于计算机设备中。比如,计算机设备可以是智能手机、平板电脑、电子书阅读器或者个人电脑等用户终端;或者,计算机设备也可以是设置在网络侧的服务器。

在本发明各个实施例所涉及的机器翻译方法是一种基于nmt系统的翻译方法。其中,传统的nmt系统包括编码器、注意力模型和解码器,传统的nmt系统的翻译过程可以简单表述如下:

在将待翻译的词段(在本发明实施例中,词段可以是一个完整句子中的部分或者全部)从第一语言翻译为第二语言时,对于词段中的每个词,编码器生成该词的语义向量(每个语义向量可以是一个固定维数为n的向量,n为正整数),词段中的各个词的语义向量组成该词段的语义向量序列。

注意力模型读入上述语义向量序列和解码器的前一时刻状态st-1(解码器的状态同样为n维向量),根据解码器的前一时刻状态st-1为词段的每个词输出一个对齐概率(概率范围处于0~1之间,概率值越高,表示这个词和待生成的目标词越相关),并将各个词的概率和语义向量加权生成当前时刻该词段的源端表示向量ct,该源端表示向量ct也可以称为当前词段的源端上下文表示,该源端表示向量ct是在第一语言下表示对应词段的向量,代表当前时刻被翻译的源端内容。

解码器读入源端表示向量ct、解码器的前一时刻状态st-1以及前一个生成词yt-1(即前一个词段的翻译结果对应的n维表示向量),输出解码器的当前时刻状态st。

解码器根据当前时刻状态st,源端表示向量ct,和前一个生成词yt-1,通过神经网络生成一个输出向量,将输出向量与所有的目标端词段(即目标语言的词段)对应的目标端表示向量进行比较,选择相似度最高的一个目标端词段作为最终的输出结果,该目标端表示向量是在第二语言下表示对应词段的向量。

图1是本发明一示例性实施例示出的一种机器翻译流程示意图,本发明实施例在上述传统的nmt系统的基础上,将词段从第一语言翻译为第二语言时,在通过编码器和注意力模型获得当前翻译的词段的源端表示向量ct后,nmt系统根据该词段的源端表示向量查询历史翻译信息,获得该词段的历史翻译向量,该历史翻译向量用于表示对应词段的历史翻译情况,根据该词段的历史翻译向量,通过解码器对该词段进行翻译。在上述方案中,在对一个词段进行翻译时,综合考虑历史上对该词段的翻译情况,并通过历史上对该词段的翻译情况影响本次翻译结果,由于历史上对一个词段的翻译结果覆盖范围较广,其可以是翻译系统在当前时刻之前对相同或相近词段的部分甚至全部翻译情况,因此,通过上述方法对一个词段进行翻译的结果将更接近历史上对相同词段的翻译结果,从而较大幅度的提高翻译的准确性。

在上述图1所示的方案中,查询的历史翻译信息中可以包含各个历史词段的源端表示向量与各个历史词段在翻译过程中生成的中间向量或者结果向量之间的对应关系。比如,上述中间向量可以包括翻译系统翻译历史词段时,解码器状态;或者,上述中间向量也可以包括翻译系统的解码器在翻译历史词段时生成的输出向量;上述结果向量可以是翻译系统在翻译历史词段时获得的最终翻译结果所对应的目标端表示向量。其中,目标端表示向量是用于表示第二语言下的词段的向量。比如,假设第一语言为中文,第二语言为英文,待翻译的中文词段为“苹果”,该词段翻译为英文获得的翻译结果为“apple”,则在翻译系统中,表示词段“苹果”的向量为源端表示向量,而表示词段“apple”的向量为目标端表示向量。

本发明后续的实施例以历史翻译信息中包含各个历史词段的源端表示向量与各个历史词段的解码器状态之间的对应关系为例,对本发明实施例的方案进行举例说明。

图2是根据一示例性实施例示出的一种机器翻译方法的流程图,该机器翻译方法可以用于基于nmt系统提供机器翻译功能的计算机设备(比如用户终端或者服务器)中。如图2所示,该机器翻译方法可以包括如下步骤:

步骤201,将词段从第一语言的翻译为第二语言时,获取该词段的源端表示向量,该源端表示向量是在该第一语言下表示对应词段的向量。

其中,对于待翻译的词段中的每个词,计算机设备生成该词的语义向量,词段中的各个词的语义向量组成该词段的语义向量序列,根据解码器的前一时刻状态st-1为词段的每个词输出一个对齐概率,并根据各个词的概率对各个词的语义向量进行加权,生成当前时刻该词段的源端表示向量ct。

其中,该获取词段的源端表示向量的步骤由nmt系统中的编码器和注意力模型来实现。

步骤202,根据该词段的源端表示向量查询历史翻译信息,获得该词段的历史翻译向量,历史翻译向量用于表示对应词段的历史翻译情况。

在本步骤中,计算机设备可以查询历史翻译信息,该历史翻译信息中包含各个历史词段的源端表示向量与该各个历史词段的解码器状态之间的对应关系;计算机设备计算该词段的源端表示向量分别与该各个历史词段的源端表示向量之间的相似度;根据该词段的源端表示向量分别与各个历史词段的源端表示向量之间的相似度,计算各个历史词段的解码器状态的权重,并根据各个历史词段的解码器状态的权重,对各个历史词段的解码器状态进行加权求和,获得该词段的历史翻译向量。

其中,在根据该词段的源端表示向量分别与各个历史词段的源端表示向量之间的相似度,计算各个历史词段的解码器状态的权重时,计算机设备可以直接将该词段的源端表示向量分别与各个历史词段的源端表示向量之间的相似度作为各个历史词段的解码器状态的权重;或者,计算机设备也可以对该词段的源端表示向量分别与各个历史词段的源端表示向量之间的相似度进行等比例缩放,且缩放后的各个相似度数值的和为1,并将缩放后的各个相似度数值作为对应的历史词段的解码器状态的权重。

比如,计算机设备获取词段的源端表示向量后,通过搜索计算机设备内部的存储组件(其中存储有上述历史翻译信息),输出相关的历史翻译向量。其中,存储组件可以是一个memnn(memoryneuralnetwork,存储网络),或者,神经网络图灵机(neuralturingmachines,ntms)等。

以单层的key-value(键-值)memnn为例,该存储组件的结构包含两层神经网络:keylayer和valuelayer。其中keylayer中的元素用来和查询指令(query)比较,以确定各元素和查询的匹配程度(即上述相似度),而valuelayer中的元素根据各自的匹配程度加权输出最终的向量表示,其中,加权计算时的权重可以是各自的匹配程度(即相似度),也可以是根据相似度计算获得的数值(此时,valuelayer中的各个元素的权重之和为1)。

比如,以词段的源端表示向量ct为key,以对应的解码器状态st为value;memory中的每个元素为键值对(kw,vw)对应一个根据该键值对生成的目标端词w。在该步骤中,读入查询指令(即词段的源端表示向量ct),输出memory中各元素的概率分布。假设给定query为词段的源端表示向量ct,通过比较ct和各个键值(key)的匹配程度以计算ct与各个key对应的目标端词之间的匹配概率(这里的匹配概率是指词段的翻译结果是目标端词w的概率,也是上述权重),ct与各个key对应的目标端词之间的匹配概率的总和为1,该匹配概率可以通过点积进行计算。该点积计算的公式可以如下:

pcache(w/q)=softmax(qt,kw);

其中,q为源端表示向量ct,qt为q的矩阵转置,kw为keylayer中对应目标端词w的一个key,softmax(qt,kw)是指对q进行矩阵转置处理后,与kw进行点积计算,pcache(w/q)表示q和w之间的匹配概率。

可选的,在本发明实施例中,存储组件也可以通过引入参数以更好地学习到对应的匹配函数。

比如,存储组件可以通过指令匹配矩阵计算上述匹配概率,其公式如下:

pcache(w/q)=softmax(qt,m,kw);

其中,参数m可以是开发人员预先设置的参数,或者,参数m也可以是预先通过机器学习训练确定的参数。

或者,存储组件也可以通过指令转换矩阵计算上述匹配概率,其计算公式如下:

pcache(w/q)=softmax(q0t,kwz);q0=qz;

其中,参数z可以是开发人员预先设置的参数,或者,参数z也可以是预先通过机器学习训练确定的参数。

在实际应用中,除了点积计算方式之外,存储组件也可以通过其它方式计算ct与各个key对应的目标端词之间的匹配概率,比如,通过欧式距离算法等方式计算。

在获得ct和key对应的目标端词之间的匹配概率之后,存储组件可以对各个键值对应的value进行加权求和,以输出该词段的历史翻译向量。

在上述方案中,以memorynetwork为存储组件的存储结构为例进行说明。本发明实施例不具体限定存储组件的模型类别和拓扑结构,其可以替换为各种其他模型结构,例如,可以替换为神经图灵机(neuralturingmachines,ntms)及其变种。

此外,上述方案以单层的memorynetwork为例进行说明,但是本发明实施例不限定memorynetwork的具体层数,即上述存储组件可以替换为多层的memorynetwork结构。

上述方案中以词段的源端表示向量为key,解码器模块的状态表示作为value进行举例说明。但是本发明实施例不具体限定key-value的具体形式,其可以替换为其他合理的nmt内部向量表示,比如,可以将解码器模块输出的向量表示,即上述输出向量(outputstate),或者最终生成的目标词的目标端表示向量(wordembedding)作为value。

步骤203,根据该词段的历史翻译向量对该词段进行翻译。

在本发明实施例中,根据该词段的历史翻译向量对该词段进行翻译时,可以通过下面三种途径将过去未来模块集成到nmt系统:概率分布集成、额外上下文以及隐层表示集成。

一、概率分布集成。

请参考图3,其示出了本发明实施例涉及的一种概率分布集成示意图。在该方式中,计算机设备可以将该词段的源端表示向量ct、该词段的解码器状态st以及前一词段的目标端表示向量yt-1输入第一神经网络,获得该词段的输出向量xt0;该前一词段是该词段的前一个词段,该目标端表示向量是在该第二语言下表示对应词段的向量;将该词段的源端表示向量ct、该词段的解码器状态st以及该词段的历史翻译向量cct输入第二神经网络,获得该词段的历史翻译向量的权重λ1;根据该词段的历史翻译向量的权重λ1计算该词段的输出向量的权重λ2;根据该词段的输出向量xt0的权重λ2以及该词段的历史翻译向量cct的权重λ1,对该词段的输出向量xt0和该词段的历史翻译向量cct进行加权求和,获得该词段的修正后的输出向量xt;根据该词段的修正后的输出向量xt确定该词段的翻译结果。

其中,在根据该词段的历史翻译向量的权重计算该词段的输出向量的权重时,可以将1与该词段的历史翻译向量的权重的差值获取为该词段的输出向量的权重。

在本发明实施例中,可以直接使用上述词段的历史翻译结果作为修正后的输出向量的一部分,与nmt系统中的解码器输出的向量进行线性插值(linearinterpolation),以对nmt系统中的解码器输出的输出向量进行修正,其公式可以如下:

p(w)=(1-λ)pnmt(w)+λpcache(w);

其中,p(w)为第一语言中的词段与第二语言中的目标词段w之间的修正后的匹配概率,pnmt(w)为该词段的源端表示向量、该词段的解码器状态以及前一词段的目标端表示向量输入第一神经网络后获得的,该词段与第二语言中的目标词段w之间的匹配概率;pcache(w)为存储组件输出的,该词段与目标词段w之间的匹配概率,λ由一个神经网络(即上述第二神经网络)控制,以针对不同时刻需求输出不同的权重:

λ=f(ct,st,cct);

其中cct是步骤102计算出的词段的历史翻译向量。f是上述第二神经网络,其可以是一个多层神经网络,或者,也可以是简单的sigmoid函数。

可选的,本发明实施例中,仅使用ct,st,cct作为输入来生成插值λ。本发明实施例不具体限定该函数的输入,可以加入其他合理的输入,比如前一个生成词的向量表示(即前一词段的目标端表示向量yt-1)。

二、额外上下文。

请参考图4,其示出了本发明实施例涉及的一种额外上下文处理示意图。在该方式中,计算机设备可以将该词段的源端表示向量ct、该词段的解码器状态st、前一词段的目标端表示向量yt-1以及该词段的历史翻译向量输入cct第三神经网络,获得该词段的输出向量xt;该前一词段是该词段的前一个词段;根据该词段的输出向量确定该词段的翻译结果。

上述步骤102计算出的词段的历史翻译向量也可以作为额外的信息源传入nmt系统中,以更好地计算目标词的概率分布。也就是说,将目标词概率分布的计算公式由

pnmt(yt)=softmax(g(yt-1,ct,st));

改写为

pnmt(yt)=softmax(g(yt-1,ct,st,cct));

其中,softmax是一个归一化函数,而g是一个多层神经网络。

可选的,该额外输入cct由参数c来控制其影响,该参数c可以由开发人员预先设置,或者,该参数c也可以通过机器训练获得。

可选的,本发明实施例中,我们将词段的历史翻译向量直接传入nmt系统中。本发明实施例不具体限定该词段的历史翻译向量的传入方式,可以替换为加权输入(λ*cct),以更好地控制词段的历史翻译向量对不同目标词的影响,其中,此处的λ的计算方式可以按照上述概率集成方式中的计算方法计算获得。

三、隐层表示集成。

请参考图5,其示出了本发明实施例涉及的一种隐层表示集成处理示意图。在该方式中,计算机设备可以将该词段的源端表示向量ct、该词段的解码器状态st以及该词段的历史翻译向量cct输入第四神经网络,获得该词段的历史翻译向量cct的权重λ3;根据该词段的历史翻译向量cct的权重λ3计算该词段的解码器状态st的权重λ4;根据该词段的历史翻译向量cct的权重λ3以及该词段的解码器状态st的权重λ4,对该词段的历史翻译向量cct和该词段的解码器状态st进行加权求和,获得该词段修正后的解码器状态s’t;将该词段的源端表示向量ct、该词段修正后的解码器状态s’t以及前一词段的目标端表示向量yt-1输入第五神经网络,获得该词段的输出向量xt;该前一词段是该词段的前一个词段;根据该词段的输出向量确定该词段的翻译结果。

其中,词段的历史翻译向量cct可以认为是ct在过去翻译历史中对应的目标端信息。在本发明实施例中,可以将解码器状态st作为value,所以词段的历史翻译向量对应的是解码器状态。将解码器状态st先集成词段的历史翻译向量,再经过标准流程计算目标词的概率分布。具体地,以如下方式更新解码器状态:

s’t=(1-λ)st+λcct

其中λ的计算方式可以参考上述第一种计算方式中的λ。

可选的,本发明实施例中,使用线性插值的方式结合st和cct。本发明实施例不具体限定集成方式,可以替换为使用神经网络集成(两个表示作为神经网络的输入,输出为新的表示)等其他任何集成方式。

另外,本发明实施例中在解码器状态层面集成隐层表示。但是本发明实施例不具体限定隐层表示,可以替换为其他解码器端的中间表示,比如解码器模块输出的向量表示(此时value应该替换为对应的向量表示)。

此外,本发明实施例中,λ是一个浮点数(scalar)。本发明实施例不限定λ的具体形式,可以替换为和隐层表示向量同维的一个向量,其中每一维控制对应向量在该维度的集成。

步骤204,获取该词段的解码器状态,将该词段的源端表示向量和该词段的解码器状态之间的对应关系存储入该历史翻译信息。

可选的,若历史翻译信息中还包含其它类型的信息,比如,还包含历史词段的源端表示向量与历史词段的输出向量之间的对应关系,或者,还包含历史词段的源端表示向量与历史词段的目标端表示向量之间的对应关系时,计算机设备还将当前词段的源端表示向量与当前词段的输出向量或者目标端表示向量存储入该历史翻译信息。

综上所述,本发明实施例所示的机器翻译方法,将词段从第一语言的翻译为第二语言时,在获得当前翻译的词段的源端表示向量ct(源端表示向量是在该第一语言下表示对应词段的向量)后,根据该词段的源端表示向量查询历史翻译信息,获得该词段的历史翻译向量,并根据该词段的历史翻译向量对该词段进行翻译。在上述方案中,对一个词段进行翻译时,综合考虑历史上对该词段的翻译情况,并通过历史上对该词段的翻译情况影响本次翻译结果,由于历史上对一个词段的翻译情况覆盖范围较广,其可以是翻译系统在当前时刻之前对相同或相近词段的部分甚至全部翻译情况,因此,通过上述方法对一个词段进行翻译的结果将更接近历史上对相同词段的翻译结果,从而提高翻译的准确性。

请参考图6,其示出了本发明一示例性实施例示出的一种机器翻译系统的构成示意图,其中,机器翻译系统60包括编码器610、注意力模型620、解码器630以及存储组件640。

步骤1,编码器610读入输入词段,输出源端的语义向量序列,并重复步骤2~5,直到全部译文生成为止。

步骤2,注意力模型620读入解码器状态,生成t时刻的源端表示向量ct;

步骤3,存储组件640查询翻译历史信息,读入ct,输出词段的历史翻译向量;

步骤4,解码器630读入步骤3输出的历史翻译向量及其他标准输入(比如时刻t的源端表示向量ct),生成当前时刻的目标词。

步骤5,存储组件640更新翻译历史,即生成当前目标词后,将源端和目标端信息表示(比如源端表示向量ct,t时刻的解码器状态st,t时刻解码器的输出向量以及最终翻译结果的目标端表示向量等等)更新进翻译历史信息。

其中,上述步骤1至步骤5的详细执行过程可以参考图2所示的方法实施例中的描述,此处不再赘述。

图7是根据一示例性实施例示出的一种机器翻译装置的结构方框图。该机器翻译装置可以用于基于nmt系统提供机器翻译功能的计算机设备(比如用户终端或者服务器)中,以执行图2所示实施例中的全部或者部分步骤。该机器翻译装置可以包括:

源端向量获取模块701,用于将词段从第一语言翻译为第二语言时,获取所述词段的源端表示向量,所述源端表示向量是在所述第一语言下表示对应词段的向量;

历史向量获取模块702,用于根据所述词段的源端表示向量查询历史翻译信息,获得所述词段的历史翻译向量,所述历史翻译向量用于表示对应词段的历史翻译情况;

翻译模块703,用于根据所述词段的历史翻译向量对所述词段进行翻译。

可选的,所述历史向量获取模块702,包括:

相似度计算单元,用于计算所述词段的源端表示向量分别与各个历史词段的源端表示向量之间的相似度;

第一权重计算单元,用于根据所述词段的源端表示向量分别与所述各个历史词段的源端表示向量之间的相似度,计算所述各个历史词段的解码器状态的权重;

第一加权单元,用于根据所述各个历史词段的解码器状态的权重,对所述各个历史词段的解码器状态进行加权求和,获得所述词段的历史翻译向量;

其中,所述历史翻译信息中包含所述各个历史词段的源端表示向量与所述各个历史词段的解码器状态之间的对应关系。

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

解码器状态获取模块,用于获取所述词段的解码器状态;

存储模块,用于将所述词段的源端表示向量和所述词段的解码器状态之间的对应关系存储入所述历史翻译信息。

可选的,所述翻译模块703,包括:

第一输出向量获得单元,用于将所述词段的源端表示向量、所述词段的解码器状态以及前一词段的目标端表示向量输入第一神经网络,获得所述词段的输出向量;所述前一词段是所述词段的前一个词段,所述目标端表示向量是在所述第二语言下表示对应词段的向量;

第一权重获得单元,用于将所述词段的源端表示向量、所述词段的解码器状态以及所述词段的历史翻译向量输入第二神经网络,获得所述词段的历史翻译向量的权重;

第二权重计算单元,用于根据所述词段的历史翻译向量的权重计算所述词段的输出向量的权重;

第二加权单元,用于根据所述词段的输出向量的权重以及所述词段的历史翻译向量的权重,对所述词段的输出向量和所述词段的历史翻译向量进行加权求和,获得所述词段的修正后的输出向量;

第一结果确定单元,用于根据所述词段的修正后的输出向量确定所述词段的翻译结果。

可选的,所述翻译模块703,包括:

第二输出向量获得单元,用于将所述词段的源端表示向量、所述词段的解码器状态、前一词段的目标端表示向量以及所述词段的历史翻译向量输入第三神经网络,获得所述词段的输出向量;所述前一词段是所述词段的前一个词段,所述目标端表示向量是在所述第二语言下表示对应词段的向量;

第二结果确定单元,用于根据所述词段的输出向量确定所述词段的翻译结果。

可选的,所述翻译模块703,包括:

第二权重获得单元,用于将所述词段的源端表示向量、所述词段的解码器状态以及所述词段的历史翻译向量输入第四神经网络,获得所述词段的历史翻译向量的权重;

第三权重计算单元,用于根据所述词段的历史翻译向量的权重计算所述词段的解码器状态的权重;

第三加权单元,用于根据所述词段的历史翻译向量的权重以及所述词段的解码器状态的权重,对所述词段的历史翻译向量和所述词段的解码器状态进行加权求和,获得所述词段修正后的解码器状态;

第三输出向量获得单元,用于将所述词段的源端表示向量、所述词段修正后的解码器状态以及前一词段的目标端表示向量输入第五神经网络,获得所述词段的输出向量;所述前一词段是所述词段的前一个词段,所述目标端表示向量是在所述第二语言下表示对应词段的向量;

第三结果确定单元,用于根据所述词段的输出向量确定所述词段的翻译结果。

综上所述,本发明实施例所示的机器翻译装置,将词段从第一语言的翻译为第二语言时,在获得当前翻译的词段的源端表示向量ct(源端表示向量是在该第一语言下表示对应词段的向量)后,根据该词段的源端表示向量查询历史翻译信息,获得该词段的历史翻译向量,并根据该词段的历史翻译向量对该词段进行翻译。在上述方案中,对一个词段进行翻译时,综合考虑历史上对该词段的翻译情况,并通过历史上对该词段的翻译情况影响本次翻译结果,由于历史上对一个词段的翻译情况覆盖范围较广,其可以是翻译系统在当前时刻之前对相同或相近词段的部分甚至全部翻译情况,因此,通过上述方法对一个词段进行翻译的结果将更接近历史上对相同词段的翻译结果,从而提高翻译的准确性。

需要说明的是,本发明上述各个实施例均以机器翻译为例对本发明的方案进行说明,在实际应用中,本发明各个实施例提供的方法还可以用于其它序列到序列的任务,比如语音识别、人工智能对话/问答等等。

比如,在本发明的一个示例性实施例中,在语音识别领域,计算机设备接收到输入的语音之后,可以通过编码器和注意模型将语音片段转化为源端表示向量,并通过源端表示向量查找语音片段的历史识别向量(对应机器翻译中的历史翻译向量),并通过历史识别向量影响解码器的识别结果。

再比如,在本发明的另一个示例性实施例中,在人工智能对话/问答领域,计算机设备接收到输入的对话/问题后,通过编码器和注意模型将对话/问题转化为源端表示向量,并通过源端表示向量查找对话/问题的历史回复向量(对应机器翻译中的历史翻译向量),并通过历史回复向量影响解码器确定的回复结果。

图8是根据一示例性实施例示出的一种服务器的结构示意图。所述服务器800包括中央处理单元(cpu)801、包括随机存取存储器(ram)802和只读存储器(rom)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。所述服务器800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。

所述基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中所述显示器808和输入设备809都通过连接到系统总线805的输入输出控制器810连接到中央处理单元801。所述基本输入/输出系统806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。

所述大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。所述大容量存储设备807及其相关联的计算机可读介质为服务器800提供非易失性存储。也就是说,所述大容量存储设备807可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。

服务器800可以通过连接在所述系统总线805上的网络接口单元811连接到互联网或者其它网络设备。

所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器801通过执行该一个或一个以上程序来实现图2所示的机器翻译方法。

图9是根据一示例性实施例示出的一种用户终端900的结构示意图。本发明实施例中的用户终端900可以包括一个或多个如下组成部分:用于执行计算机程序指令以完成各种流程和方法的处理器,用于信息和存储程序指令随机接入存储器(ram)和只读存储器(rom),用于存储数据和信息的存储器,i/o设备,界面,天线等。具体来讲:

用户终端900可以包括rf(radiofrequency,射频)电路910、存储器920、输入单元930、显示单元940、传感器950、音频电路960、wifi(wirelessfidelity,无线保真)模块970、处理器980、电源982、摄像头990等部件。本领域技术人员可以理解,图9中示出的用户终端结构并不构成对用户终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图9对用户终端900的各个构成部件进行具体的介绍:

rf电路910可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器980处理;另外,将设计上行的数据发送给基站。通常,rf电路包括但不限于天线、至少一个放大器、收发信机、耦合器、lna(lownoiseamplifier,低噪声放大器)、双工器等。此外,rf电路910还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于gsm(globalsystemofmobilecommunication,全球移动通讯系统)、gprs(generalpacketradioservice,通用分组无线服务)、cdma(codedivisionmultipleaccess,码分多址)、wcdma(widebandcodedivisionmultipleaccess,宽带码分多址)、lte(longtermevolution,长期演进)、电子邮件、sms(shortmessagingservice,短消息服务)等。

存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行用户终端900的各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据用户终端900的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元930可用于接收输入的数字或字符信息,以及产生与用户终端900的用户设置以及功能控制有关的键信号输入。具体地,输入单元930可包括触控面板931以及其他输入设备932。触控面板931,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板931上或在触控面板931附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板931可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器980,并能接收处理器980发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板931。除了触控面板931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元940可用于显示由用户输入的信息或提供给用户的信息以及用户终端900的各种菜单。显示单元940可包括显示面板941,可选的,可以采用lcd(liquidcrystaldisplay,液晶显示器)、oled(organiclight-emittingdiode,有机发光二极管)等形式来配置显示面板941。进一步的,触控面板931覆盖显示面板941,当触控面板931检测到在其上或附近的触摸操作后,传送给处理器980以确定触摸事件的类型,随后处理器980根据触摸事件的类型在显示面板941上提供相应的视觉输出。虽然在图9中,触控面板931与显示面板941是作为两个独立的部件来实现用户终端900的输入和输入功能,但是在某些实施例中,可以将触控面板931与显示面板941集成而实现用户终端900的输入和输出功能。

用户终端900还可包括至少一种传感器950,比如陀螺仪传感器、磁感应传感器、光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板941的亮度,接近传感器可在用户终端900移动到耳边时,关闭显示面板941和/或背光。作为运动传感器的一种,加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别用户终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于用户终端900还可配置的气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路960、扬声器981,传声器962可提供用户与用户终端900之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经rf电路910以发送给比如另一用户终端,或者将音频数据输出至存储器920以便进一步处理。

wifi属于短距离无线传输技术,用户终端900通过wifi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了wifi模块970,但是可以理解的是,其并不属于用户终端900的必须构成,完全可以根据需要在不改变公开的本质的范围内而省略。

处理器980是用户终端900的控制中心,利用各种接口和线路连接整个用户终端的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行用户终端900的各种功能和处理数据,从而对用户终端进行整体监控。可选的,处理器980可包括一个或多个处理单元;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。

用户终端900还包括给各个部件供电的电源982(比如电池),优选的,电源可以通过电源管理系统与处理器980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

摄像头990一般由镜头、图像传感器、接口、数字信号处理器、cpu、显示屏幕等组成。其中,镜头固定在图像传感器的上方,可以通过手动调节镜头来改变聚焦;图像传感器相当于传统相机的“胶卷”,是摄像头采集图像的心脏;接口用于把摄像头利用排线、板对板连接器、弹簧式连接方式与用户终端主板连接,将采集的图像发送给所述存储器920;数字信号处理器通过数学运算对采集的图像进行处理,将采集的模拟图像转换为数字图像并通过接口发送给存储器920。

尽管未示出,用户终端900还可以包括蓝牙模块等,在此不再赘述。

用户终端900除了包括一个或者多个处理器980,还包括有存储器,以及一个或者多个模块,其中一个或者多个模块存储于存储器中,并被配置成由一个或者多个处理器执行,以实现上述图2所示的机器翻译方法中的全部或者部分步骤。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储器,上述程序(指令)可由计算机设备(比如上述用户终端或者服务器)的处理器执行以完成本发明各个实施例所示的机器翻译方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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