翻译方法、装置、设备和存储介质与流程

文档序号:17951778发布日期:2019-06-19 00:05阅读:188来源:国知局
翻译方法、装置、设备和存储介质与流程

本发明涉及机器翻译技术,尤其涉及一种翻译方法、装置、设备和存储介质。



背景技术:

随着经济的全球化发展,各国之间的交流越来越密切,因此准确的翻译显得格外重要。

现有技术中,为了提高翻译的准确度,引入了先验知识,具体地,采用独热编码将先验知识的类别标签表示成一个独热向量,或者将先验知识的类别标签直接映射成一个随机向量,然后将该向量和词向量直接进行拼接,从而得到一个更大的词向量,参与到神经网络机器翻译(neuralmachinetranslation,nmt)中。

然而,采用现有直接拼接的方式将先验知识引入翻译中,会导致翻译结果不准确。



技术实现要素:

为解决现有技术中存在的问题,本发明提供一种翻译方法、装置、设备和存储介质,以完成对字符串的翻译,提高翻译的准确度。

第一方面,本发明实施例提供一种翻译方法,包括:

获取待翻译的第一字符串;

将所述待翻译的第一字符串输入到预先获得的翻译模型中,得到对所述第一字符串的翻译结果;

其中,所述翻译模型为基于神经网络对字符串样本进行训练得到的模型,所述字符串样本的语言与所述第一字符串的语言一致。

可选的,所述翻译模型是按照如下训练方式得到:

获取多个字符串样本;

采用开源工具对所述多个字符串样本进行分类,获取每个字符串样本的先验知识对应的向量;

将所述先验知识对应的向量和编码层进行拼接,得到每个字符串样本的多个新向量;

对所述多个新向量的权重进行训练,得到所述翻译模型。

可选的,所述将所述先验知识对应的向量和编码层进行拼接,得到每个字符串样本的多个新向量,包括:

将所述先验知识对应的向量和编码层的隐含向量进行拼接,得到每个字符串样本的多个新向量,其中,所述隐含向量和所述每个字符串样本对应的词向量之间的关系为预设函数关系;

所述编码层包括每个字符串样本对应的词向量和所述词向量对应的隐含向量。

可选的,对所述多个新向量的权重进行训练,得到所述翻译模型,包括:

根据所述多个新向量和每个字符串样本的翻译结果,对所述多个新向量的权重进行训练,得到所述翻译模型。

可选的,所述采用开源工具对所述多个字符串样本进行分类,获取每个字符串样本的先验知识对应的向量,包括:

采用所述开源工具对所述多个字符串样本进行分类,得到每个字符串样本的先验知识对应的分类概率;

根据所述分类概率,获取每个字符串样本的先验知识对应的向量。

第二方面,本发明实施例提供一种翻译装置,包括:

获取模块,用于获取待翻译的第一字符串;

处理模块,还用于将所述待翻译的第一字符串输入到预先获得的翻译模型中,得到对所述第一字符串的翻译结果;

其中,所述翻译模型为基于神经网络对字符串样本进行训练得到的模型,所述字符串样本的语言与所述第一字符串的语言一致。

可选的,所述装置还包括训练模块:

所述获取模块,还用于获取多个字符串样本;

所述处理模块,还用于采用开源工具对所述多个字符串样本进行分类,获取每个字符串样本的先验知识对应的向量;

将所述先验知识对应的向量和编码层进行拼接,得到每个字符串样本的多个新向量;

所述训练模块,用于对所述多个新向量的权重进行训练,得到所述翻译模型。

可选的,所述处理模块具体用于:

将所述先验知识对应的向量和编码层的隐含向量进行拼接,得到每个字符串样本的先验知识对应的多个新向量;

其中,所述隐含向量和所述每个字符串样本对应的词向量之间的关系为预设函数关系,所述编码层包括每个字符串样本对应的词向量和所述词向量对应的隐含向量。

可选的,所述训练模块具体用于:

根据所述多个新向量和每个字符串样本的翻译结果,对所述多个新向量的权重进行训练,得到所述翻译模型。

可选的,所述处理模块,还用于采用所述开源工具对所述多个字符串样本进行分类,得到每个字符串样本的先验知识对应的分类概率;

所述获取模块,还用于:根据所述分类概率,获取每个字符串样本的先验知识对应的向量。

第三方面,本发明实施例提供一种终端设备,包括:

至少一个处理器和存储器;

所述存储器存储计算机执行指令;

所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述终端设备执行如第一方面所述的方法。

第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现如第一方面所述的方法。

本发明实施例提供一种翻译方法、装置、设备和存储介质,该方法包括:获取待翻译的第一字符串,将待翻译的第一字符串输入到预先获得的翻译模型中,得到对该第一字符串的翻译结果,其中,该翻译模型为基于神经网络对字符串样本进行训练得到的模型,字符串样本的语言与第一字符串的语言一致。本发明实施例提供的翻译方法、装置、设备和存储介质,将先验知识的分类概率作为该先验知识的向量,并结合神经网络训练得到先验知识的权重,提高了翻译的准确度。

附图说明

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

图1为本发明实施例提供的神经网络机器翻译系统的整体架构示意图;

图2为本发明实施例提供的翻译方法的流程示意图一;

图3为本发明实施例提供的先验知识的分类示意图;

图4为本发明实施例提供的翻译方法的流程示意图二;

图5a为本发明实施例提供的先验知识对应的向量和词向量拼接的示意图;

图5b为本发明实施例提供的先验知识对应的向量和隐含向量拼接的示意图;

图6为本发明实施例提供的翻译装置的结构示意图一;

图7为本发明实施例提供的翻译装置的结构示意图二;

图8为本发明实施例提供的终端设备的硬件结构示意图。

具体实施方式

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

本发明实施例提供的翻译方法可以应用于需要对字符串进行翻译的应用场景中,尤其应用于对翻译的准确度要求较高的场景中。

图1为本发明实施例提供的神经网络机器翻译系统的整体架构示意图,如图1所示,神经网络机器翻译(neuralmachinetranslation,nmt)是一种机器翻译方法,其包括编码encoder层、解码decoder层、中attention层,encoder、attention把源语言序列进行编码,并提取源语言中信息,通过decoder再把这种信息转换到另一种语言即目标语言中来,从而完成对源语言的翻译。

目前,通常基于nmt进行翻译,在nmt系统中,结合先验知识进行翻译的具体方式是:将各种先验知识的类别标签直接表示成一个独热向量,举例来说,假如先验知识为词性(名词、动词、副词等),先验知识的类别有10类,则名词对应的独热向量可以为(0,0,1,0,0,0,0,0,0,0),即一个10维的向量。

或者,将先验知识的类别标签直接映射成一个随机向量,然后将该独热向量或随机向量该向量和词向量直接进行拼接,其中词向量为待翻译的字符串对应的词向量,词向量的实现方式和现有技术中的实现方式类似,在此不再赘述。

应理解,先验知识可以为待翻译的字符串中预先知道的知识,先验知识可以为词性标注,如:动词、名词、副词等,还可以为命名实体,如:地名、人名、动物名等。举例来说,待翻译的字符串为“拉斯穆森说”,则预先可知道“拉斯穆森”为人名,“说”为动词。

那么在预先知道“拉斯穆森”为“人名”、“说”为动词的情况下,就不会将“拉斯穆森”及“说”翻译为其他词性,由此可知,将先验知识结合起来有助于提高翻译的准确度。

然而,上述方式中,通过直接拼接将先验知识引入nmt系统,其中,独热向量会引入分类的错误到nmt系统中,导致错误的二次传播,影响翻译准确度,随机向量不能表示每个先验知识类别之间的关联信息,也会影响翻译准确度。

本发明实施例考虑到上述问题,提出一种翻译方法,该方法中终端设备获取待翻译的第一字符串,将待翻译的第一字符串输入到预先获得的翻译模型中,得到对该第一字符串的翻译结果,其中,该翻译模型为基于神经网络对字符串样本的先验知识的权重进行训练得到的模型,字符串样本的语言与第一字符串的语言一致。将先验知识的分类概率作为该先验知识的向量,并结合神经网络训练得到先验知识的权重,提高了翻译的准确度。

下面以具体的实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图2为本发明实施例提供的翻译方法的流程示意图一,本实施例提供了一种翻译方法,该方法可以由任意执行翻译方法的装置来执行,该装置可以通过软件和/或硬件实现。本实施例中,该装置可以集成在终端设备中,如图2所示,本实施例提供的翻译方法包括如下步骤:

s201、获取待翻译的第一字符串。

需要说明的是,翻译是指一种语言信息转变成另一种语言信息的行为,本发明的翻译方法可以应用于中译英,也可以应用于英译中,本方案对此不做限制。本发明以中译英为例,进行详细说明。

其中,第一字符串可以为任意一个中文字符串,例如:“拉斯维森说8点开会。”。

终端设备可以安装有翻译的应用程序,根据用户操作,在该应用程序的输入框中输入待翻译的第一字符串,或者,直接在网页中找到翻译的网页,在输入框中输入待翻译的第一字符串,相应的,终端设备则获取到待翻译的第一字符串。

s202、将待翻译的第一字符串输入到预先获得的翻译模型中,得到对该第一字符串的翻译结果。

该翻译模型为基于神经网络对字符串样本训练得到的模型,该字符串样本的语言与第一字符串的语言一致,例如:字符串样本是中文,则第一字符串也是中文。具体地,该翻译模型为基于神经网络,对编码层和每个字符串样本先验知识对应的向量进行拼接后的向量的权重进行训练得到的模型。

其中,字符串样本可以为包含不同字符串的样本。先验知识可以有多种类别,先验知识可以为词性标注,如:动词、名词、副词等,还可以为命名实体,如:地名、人名、动物名等,还可以为标点符号。

先验知识的向量可以为其分类概率,在一种可能的实现方式中,采用某一个开源工具对任一字符串样本进行分类,得到其对应的分类概率,可选的,先验知识的类别有10种,则分类概率为一个10维的向量,例如:字符串样本为“拉斯穆森说。”,则采用开源工具对该字符串样本进行分类,得到3个10维的向量,图3为本发明实施例提供的先验知识的分类示意图,如图3所示,“拉斯穆森”在人名的概率最大为0.8,因此,“拉斯穆森”对应的向量则为一个10维的向量,如(0.01,0.10,0.01,......0.80,0.01),同理,“说”对应的向量为(0.01,0.01,0.80......0.01,0.01,0.10),“。”对应的向量为(0.10,0.01,0.01,......0.80,0.01,0.01)。

编码层包括字符串样本的词向量和该词向量对应的隐含向量,则对编码层和每个字符串样本先验知识对应的向量进行拼接,也就是对词向量和该词向量对应的先验对应的向量进行拼接,或者对隐含向量和该隐含向量对应的先验知识对应的向量进行拼接,得到多个新向量。

进一步,对多个新向量在翻译过程中的权重进行训练,得到翻译模型。

在本步骤中,将待翻译的第一字符串输入到翻译模型中,该模型的输出为对第一字符串的翻译结果。

本实施例提供的翻译方法,获取待翻译的第一字符串,将待翻译的第一字符串输入到预先获得的翻译模型中,得到对第一字符串的翻译结果,其中,翻译模型为基于神经网络对字符串样本进行训练得到的模型,字符串样本的语言与第一字符串的语言一致,提高了翻译的准确度。

图4为本发明实施例提供的翻译方法的流程示意图二,在上述图1实施例的基础上,如图4所示,翻译模型是按照如下训练方式得到:

s401、获取多个字符串样本。

s402、采用开源工具对多个字符串样本进行分类,获取每个字符串样本的先验知识对应的向量。

在上述步骤中,多个字符串样本可以为包含不同字符串的样本。

在一种可能的实现方式中,采用开源工具对多个字符串样本进行分类,得到每个字符串样本的先验知识对应的分类概率,再根据该分类概率,获取每个字符串样本的先验知识对应的向量。

具体地,采用开源工具对每个字符串样本进行分类,也就是对每个字符串样本的先验知识进行分类,得到每个字符串样本先验知识对应的分类概率,该分类概率为每个字符串样本的先验知识对应的向量。

可选的,开源工具包括的字符串样本的先验知识有10种类别。

每个字符串样本的先验知识对应的向量的获取方式可以参照s202的相关描述,在此不再赘述。

s403、将先验知识对应的向量和编码层进行拼接,得到每个字符串样本的多个新向量。

由图1所示,nmt系统包括编码层,本方案将先验知识引入编码层,其他部分不做修改,其中,编码层包括每个字符串样本对应的词向量和该词向量对应的隐含向量,词向量可以为任一字符串样本中每个词语对应的向量,隐含向量和每个字符串样本对应的词向量之间的关系为预设函数关系,预设函数关系参照现有技术中的相关描述,在此不再赘述。

在本步骤中,可以将先验知识对应的向量和词向量或隐含向量拼接,词向量为每个字符串样本对应的词向量,词向量的实现方式和现有技术中的实现方式类似,在此不再赘述。

图5a为本发明实施例提供的先验知识对应的向量和词向量拼接的示意图,图5b为本发明实施例提供的先验知识对应的向量和隐含向量拼接的示意图,如图5a、5b所示,假设先验知识包括词性标注和命名实体,则先验知识对应的向量和词向量(xj-1、xj、xj+1)进行拼接,得到每个字符串样本的先验知识对应的多个新向量,即ernn_pos_ner=[wordembedding;epos;ener],wordembedding为每个字符串样本对应的词向量,epos为词性标注对应的向量,ener为命名实体对应的向量。

先验知识对应的向量和隐含向量(hj-1、hj、hj+1)进行拼接,得到每个字符串样本的先验知识对应的多个新向量,即hrnn_pos_ner=[h;epos;ener],epos为词性标注对应的向量,ener为命名实体对应的向量。

s404、对多个新向量的权重进行训练,得到翻译模型。

在一种可能的实现方式中,根据多个新向量和每个字符串样本的翻译结果,对多个新向量的权重进行训练,得到翻译模型,具体地,由于每个字符串样本的多个新向量对于翻译结果所占的权重是不同的,由于多个字符串样本的翻译结果是已知的,则根据该翻译结果,对多个新向量的权重进行训练,得到最终的翻译模型。

可选的,该多个新向量为先验知识对应的向量和隐含向量进行拼接得到的,则可以根据如下公式,对多个新向量的权重进行训练,得到最终的翻译模型:

hrnn_pos_ner=gh1+(1-g)h2

其中,hrnn_pos_ner为翻译结果;

g表示词性标注的向量和隐含向量拼接后的得到的新向量的权重,g=σ(wgh1+ugh2);

1-g表示命名实体和隐含向量拼接后的得到的新向量的权重;

h1表示词性标注对应的向量和隐含向量拼接后的得到的新向量

h1=[h;epos];

h2表示词命名实体对应的向量和隐含向量拼接后的得到的新向量

h2=[h;ener]。

本实施例提供的翻译方法,通过获取多个字符串样本,采用开源工具对多个字符串样本进行分类,获取每个字符串样本的先验知识对应的向量,将先验知识对应的向量和编码层进行拼接,得到每个字符串样本的先验知识对应的多个新向量,对多个新向量的权重进行训练,得到翻译模型,采用先验知识的分类概率作为其的向量,提高了翻译的准确度。

图6为本发明实施例提供的翻译装置的结构示意图一,如图6所示,该翻译装置60包括:获取模块601、处理模块602。

获取模块601,用于获取待翻译的第一字符串;

处理模块602,还用于将所述待翻译的第一字符串输入到预先获得的翻译模型中,得到对所述第一字符串的翻译结果;

其中,所述翻译模型为基于神经网络对字符串样本的先验知识的权重进行训练得到的模型,所述字符串样本的语言与所述第一字符串的语言一致。

本发明实施例提供的翻译装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。

图7为本发明实施例提供的翻译装置的结构示意图二,如图7所示,翻译装置60还包括:训练模块603。

所述获取模块601,还用于获取多个字符串样本;

所述处理模块602,还用于采用开源工具对所述多个字符串样本进行分类,获取每个字符串样本的先验知识对应的向量;

将所述先验知识对应的向量和编码层进行拼接,得到每个字符串样本的多个新向量;

所述训练模块603,用于对所述多个新向量的权重进行训练,得到所述翻译模型。

可选的,所述处理模块603具体用于:

将所述先验知识对应的向量和编码层的隐含向量进行拼接,得到每个字符串样本的先验知识对应的多个新向量;

其中,所述隐含向量和所述每个字符串样本对应的词向量之间的关系为预设函数关系,所述编码层包括每个字符串样本对应的词向量和所述词向量对应的隐含向量。

可选的,所述训练模块603具体用于:

根据所述多个新向量和每个字符串样本的翻译结果,对所述多个新向量的权重进行训练,得到所述翻译模型。

可选的,所述处理模块603,还用于采用所述开源工具对所述多个字符串样本进行分类,得到每个字符串样本的先验知识对应的分类概率;

所述获取模块601,还用于:根据所述分类概率,获取每个字符串样本的先验知识对应的向量。

本发明实施例提供的翻译装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。

图8为本发明实施例提供的终端设备的硬件结构示意图。如图8所示,本实施例的终端设备80包括:处理器801以及存储器802;其中

存储器802,用于存储计算机执行指令;

处理器801,用于执行存储器存储的计算机执行指令,以实现上述实施例中终端设备所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。

可选地,存储器802既可以是独立的,也可以跟处理器801集成在一起。

当存储器802独立设置时,该终端设备还包括总线803,用于连接所述存储器802和处理器801。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的方法。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。

应理解,上述处理器可以是中央处理单元(英文:centralprocessingunit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digitalsignalprocessor,简称:dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。

总线可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponent,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。

一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(applicationspecificintegratedcircuits,简称:asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

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

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