文本处理方法、装置、计算机可读存储介质和计算机设备与流程

文档序号:21365370发布日期:2020-07-04 04:40阅读:180来源:国知局
文本处理方法、装置、计算机可读存储介质和计算机设备与流程

相关申请的交叉引用

本申请要求于2019年04月17日提交中国专利局、申请号为201910308349.4、发明名称为“文本处理方法、装置、计算机可读存储介质和计算机设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

本申请涉及计算机技术领域,特别是涉及一种文本处理方法、装置、计算机可读存储介质和计算机设备。



背景技术:

随着机器学习技术的不断发展,出现了机器翻译技术。目前神经网络机器翻译作为最新一代的翻译技术,在目前的神经机器翻译研究和应用中,一般都是利用注意力机制选择源端句子中的词进行解码翻译。

然而,目前的神经机器翻译框架在进行注意力机制挑选合适的单词进行翻译的时候,无法充分地对整个源端句子信息进行考虑,使得翻译出来的文本不够准确。例如,对于某些有歧义的词语,无法充分考虑上下文可能导致翻译出错的情况。



技术实现要素:

基于此,有必要针对中无法联系上下文导致翻译错误的技术问题,提供一种文本处理方法、装置、计算机可读存储介质和计算机设备。

一种文本处理方法,包括:

获取源文本的输入序列;

将所述输入序列经过语义编码得到源端向量序列;

获取所述源端向量序列中每个词对应的第一权重向量;

根据所述源端向量序列和所述每个词对应的第一权重向量,生成所述每个词的目标端向量;

根据所述源端向量序列得到目标句子向量;

根据所述每个词的目标端向量和所述目标句子向量,确定每个词对应的目标词;

根据所述每个词对应的目标词,生成所述源文本对应的目标文本。

一种文本处理置,所述装置包括:

序列获取模块,用于获取源文本的输入序列;

编码模块,用于将所述输入序列经过语义编码得到源端向量序列;

权重获取模块,用于获取所述源端向量序列中每个词对应的第一权重向量;

目标端向量生成模块,用于根据所述源端向量序列和所述每个词对应的第一权重向量,生成所述每个词的目标端向量;

目标句子向量确定模块,用于根据所述源端向量序列得到目标句子向量;

目标词确定模块,用于根据所述每个词的目标端向量和所述目标句子向量,确定每个词对应的目标词;

目标文本生成模块,用于根据所述每个词对应的目标词,生成所述源文本对应的目标文本。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述任一项所述方法的步骤。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述任一项所述方法的步骤。

上述文本处理方法、装置、计算机可读存储介质和计算机设备,通过获取源文本的输入序列,将输入序列经过语义编码得到源端向量序列。获取源端向量序列中每个词对应的第一权重向量,根据源端向量序列和每个词对应的第一权重向量,可生成每个词的目标端向量,从而将源端的每个词的向量转换为目标端的每个词的向量。根据源端向量序列得到目标句子向量,使得目标句子向量融合了源端的每个词的关键信息,并使得每个词与前后的词形成关联。根据每个词的目标端向量和目标句子向量,确定每个词对应的目标词,最后根据每个词对应的目标词,生成源文本对应的目标文本,解决了传统的文本翻译方法中仅仅根据单个词的目标端向量确定对应的目标词,忽略每个词在句子中所表示的语义,从而导致翻译不准确的问题。采用本方案能够利用句子信息对每个词进行翻译,提高翻译的准确率。

附图说明

图1为一个实施例中文本处理方法的应用环境图;

图2为一个实施例中文本处理方法的流程示意图;

图3为一个实施例中翻译模型对文本进行处理的流程示意图;

图4为一个实施例中得到目标句子向量的步骤的流程示意图;

图5为一个实施例中得到目标句子向量的步骤的流程示意图;

图6为一个实施例中深层句子向量建模的流程示意图;

图7为一个实施例中生成深层句子向量的步骤的流程示意图;

图8为另一个实施例中深层句子向量建模的流程示意图;

图9为一个实施例中生成浅层句子向量的步骤的流程示意图;

图10为一个实施例中确定目标词的步骤的流程示意图;

图11为一个实施例中神经网络机器翻译系统的架构图;

图12为另一个实施例中文本处理装置的结构框图;

图13为一个实施例中计算机设备的结构框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

图1为一个实施例中文本处理方法的应用环境图。参照图1,该文本处理方法应用于文本处理系统。该文本处理系统包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在本实施例中,终端110可获取待翻译的源文本,将源文本进行分词,得到源端的每个词对应的词向量,从而得到源文本对应的输入序列。终端110根据输入序列执行将源文本翻译为目标文本的操作。终端110得到源文本对应的输入序列后,可将输入序列发送给服务器120,由服务器120根据输入序列执行将源文本翻译为目标文本的操作。

如图2所示,在一个实施例中,提供了一种文本处理方法。本实施例主要以该方法应用于上述图1中的计算机设备来举例说明。该计算机设备可以是终端或服务器。参照图2,该文本处理方法具体包括如下步骤:

步骤202,获取源文本的输入序列。

其中,源文本是指待翻译的文本。源文本可以是句子、段落、篇章等文本。源文本可以但不限于是中文文本和英文文本。输入序列是指将源文本分词后,每个词对应的词向量组成的序列。

具体地,计算机设备获取待翻译的文本,采用分词方式将待翻译的文本进行分词。计算机设备获取分词后的每个词对应的词向量,得到待翻译的文本对应的输入序列。

在本实施例中,计算机设备可以采用语义分词法,字符匹配分词法和统计分词法等对源文本进行分词处理。分词后,从词表中确定每个词对应的词向量。词表中记录了每个词对应的词向量,一个词对应一个词向量。计算机设备将源文本分词后,在词表中查找与每个源文本的词相同的词,将词表中与源文本的词相同的词所对应的词向量作为该源文本的词的词向量。

在本实施例中,计算机设备可以直接对源文本进行分词,得到输入序列。也可以将源文本发送给第三方设备处理,由第三方设备对源文本进行分词处理。接着计算机设备直接从第三方设备中源文本对应的输入序列。

步骤204,将该输入序列经过语义编码得到源端向量序列。

其中,语义编码是指通过词语对信息进行加工,按词义、词语类别系统分类或把语言材料用特定的语言形式加以组织和概括,找出材料的基本论点、论据和逻辑结构,并按照语义特征对词语编码。按词语类别系统分类是指将词语信息按照体育、新闻和娱乐等不同类别系统进行分类。源端向量序列是指将输入序列进行语义编码得到的序列。

具体地,计算机设备将输入序列输入编码器的多层神经网络中,编码器的多层神经网络逐层对输入序列进行语义编码,得到神经网络每一层输出的源端向量序列。

在本实施例中,计算机设备将输入序列输入编码器的第一层神经网络,第一层神经网络对输入序列进行语义编码,得到第一层神经网络输出的源端向量序列。接着将第一层神经网络输出的源端向量序列作为第二层神经网络的输入,第二层神经网络对第一层神经网络输出的源端向量序列进行语义编码,得到第二层神经网络输出的源端向量序列。同样地,将当前层输出的源端向量序列作为下一层的输入,得到下一层输出的源端向量序列,直到得到最后一层神经网络输出的源端向量序列。

在本实施例中,计算机设备将输入序列输入编码器的第一层神经网络,输入序列为源文本的多个词的词向量所构成。第一层神经网络对输入序列中的每个词的词向量进行语义编码,得到第一层神经网络输出的每个词的词向量对应的源端向量。当第一层神经网络对输入序列中的所有词的词向量都完成语义编码后,得到第一层神经网络输出的所有词的词向量对应的源端向量,这些源端向量构成第一层神经网络输出的源端向量序列。

步骤206,获取源端向量序列中每个词对应的第一权重向量。

其中,第一权重向量是根据前一层的源端向量序列进行注意力机制操作处理得到的。

具体地,每个词对应一个源端向量。根据预设的初始值或随机生成的初始值对输入第一层神经网络的源端向量进行注意力操作,得到第一层神经网络输出的该源端向量对应的权重向量。该权重向量即为该源端向量对应的词的权重向量。类似地,按照相同的方式得到该第一层神经网络输出的每个词对应的权重向量。接着,从第二层神经网络起,根据前一层神经网络输出的每个词对应的权重向量对编码器最后一层的源端向量序列进行注意力操作,得到当前层输出的每个词对应的权重向量。直到得到最后一层神经网络输出的每个词对应的权重向量,将最后一层神经网络输出的每个词对应的权重向量作为源端向量序列中每个词对应的第一权重向量。

在本实施例中,编码器中的各层神经网络对应解码器中的各层神经网络。每个词对应一个源端向量。计算机设备获取编码器中最后一层神经网络输出的源端向量序列,并将编码器中最后一层的源端向量序列输入解码器的第一层神经网络。解码器的第一层神经网络通过预设的初始值或随机生成的初始值对该源端向量序列中的一个源端向量进行注意力操作,输出该源端向量对应的权重向量,该权重向量即为该源端向量对应的词的权重向量。类似地,可得到解码器的第一层神经网络输出的每个源端向量对应的权重向量,从而可得到解码器的第一层神经网络输出的每个词对应的权重向量。

接着,计算机设备将解码器第一层神经网络输出的每个词对应的权重向量输入解码器的第二层神经网络,并该源端向量序列输入解码器的第二层神经网络中。通过第一层神经网络输出的每个词对应的权重向量对该源端向量序列进行注意力操作,得到解码器第二层神经网络输出的每个词对应的权重向量。从解码器第二层神经网络起,将上一层神经网络输出的每个词对应的权重向量和该源端向量序列作为当前层的输入。通过上一层神经网络输出的每个词对应的权重向量对该源端向量序列进行注意力操作,得到当前层神经网络输出的每个词对应的权重向量。以此类推,可得到解码器最后一层神经网络输出的每个词对应的权重向量,将该解码器最后一层神经网络输出的每个词对应的权重向量作为源端向量序列中每个词对应的第一权重向量。

需要注意的是,本实施例中,输入解码器各层神经网络中的源端向量序列为编码器最后一层神经网络所输出的源端向量序列。

步骤208,根据源端向量序列和每个词对应的第一权重向量,生成每个词的目标端向量。

其中,目标端向量是将输入序列中各词对应的源端向量输入到解码器的隐层中计算得到的向量。隐层可包括多个神经网络层。

具体地,计算机设备将源端向量序列分别和解码器最后一层神经网络输出的每个词对应的权重向量进行点积计算,得到每个词对应的目标端向量。

步骤210,根据源端向量序列得到目标句子向量。

其中,目标句子向量是指将源端向量序列按照特定规则处理得到的向量。目标句子向量包括浅层句子向量和深层句子向量。

具体地,计算机设备将源端向量序列按照预设规则进行处理,得到该源端向量序列对应的目标句子向量。并且,浅层句子向量或深层句子向量由计算机设备按照不同的预设规则对源端向量序列进行处理得到。

步骤212,根据每个词的目标端向量和目标句子向量,确定每个词对应的目标词。

步骤214,根据每个词对应的目标词,生成源文本对应的目标文本。

其中,目标词是指源文本中的词经过翻译之后得到的词。目标文本是指对源文本翻译得到的译本。

具体地,计算机设备可将每个词的目标端向量和目标句子向量线性叠加。获取目标端的候选词对应的词向量,将线性叠加后得到的向量与目标端的候选词对应的词向量进行匹配,得到每个词对应的目标词,从而生成源文本对应的目标文本。

在本实施例中,当目标句子向量为浅层句子向量时,可将每个词的目标端向量和浅层句子向量线性叠加,得到叠加后的向量并进行下一处理。当目标句子向量为深层句子向量时,可将每个词的目标端向量和深层句子向量线性叠加,得到叠加后的向量并进行下一处理。

上述文本处理方法,通过获取源文本的输入序列,将输入序列经过语义编码得到源端向量序列。获取源端向量序列中每个词对应的第一权重向量,根据源端向量序列和每个词对应的第一权重向量,可生成每个词的目标端向量,从而将源端的每个词的向量转换为目标端的每个词的向量。根据源端向量序列得到目标句子向量,使得目标句子向量融合了源端的每个词的关键信息,并使得每个词与前后的词形成关联。根据每个词的目标端向量和目标句子向量,确定每个词对应的目标词,最后根据每个词对应的目标词,生成源文本对应的目标文本,解决了传统的文本翻译方法中仅仅根据单个词的目标端向量确定对应的目标词,忽略每个词在句子中所表示的语义,从而导致翻译不准确的问题。采用本方案能够利用句子信息对每个词进行翻译,提高翻译的准确率。

在一个实施例中,获取源端向量序列中每个词对应的第一权重向量,根据源端向量序列和每个词对应的第一权重向量,生成每个词的目标端向量的实现过程如下:

具体地,计算机设备获取编码器中最后一层神经网络输出的源端向量序列,并将编码器中最后一层的源端向量序列输入解码器的第一层神经网络。解码器的第一层神经网络通过预设的初始值或随机生成的初始值对该源端向量序列中的一个源端向量进行注意力操作,输出该源端向量对应的权重向量,该权重向量即为该源端向量对应的词的第一权重向量。类似地,可得到解码器的第一层神经网络输出的每个源端向量对应的第一权重向量,从而可得到解码器的第一层神经网络输出的每个词对应的第一权重向量。接着,计算机设备将第一层神经网络输出的每个词对应的第一权重向量分别与该源端向量序列进行加权求和,得到解码器第一层神经网络输出的每个词对应的目标端向量。

接着,计算机设备将解码器第一层神经网络输出的每个词对应的目标端向量和该源端向量序列输入解码器的第二层神经网络,计算出第二层神经网络中每个词对应的第一权重向量。再将第二层神经网络中每个词对应的第一权重向量与该源端向量序列加权求和,得到第二层神经网络输出的每个词对应的目标端向量。类似地,可得到解码器最后一层神经网络输出的每个词对应的目标端向量。接着,再根据解码器最后一层神经网络输出的每个词对应的目标端向量和深层句子向量,确定每个词对应的目标词。

在一个实施例中,生成每个词的目标端向量的步骤,还包括:根据前一时刻输出的目标端向量和所述源端向量序列,确定当前时刻输出的目标端向量。

具体地,解码器解码得到每个源端词对应的目标词是单次进行的,也就是说每个时刻解码得到一个源端词对应的目标词。计算机设备将编码器最后一层输出的源端向量序列和预设的初始值输入到解码器的第一层神经网络中,得到解码器的第一层神经网络第一个时刻输出的目标端向量。接着,计算机设备将第一个时刻输出的目标端向量和该源端向量序列进行注意力操作,得到解码器的第一层神经网络第二个时刻输出的目标端向量。类似的,利用前一个时刻输出的目标端向量对该源端向量序列进行注意力操作,得到当前时刻输出的目标端向量。从而得到解码器的第一层神经网络每个时刻输出的每个源端词对应的目标端向量。类似地,按照相同的处理方式得到解码器最后一层神经网络每个时刻输出的每个源端词对应的目标端向量。根据解码器最后一层神经网络每个时刻输出的每个源端词对应的目标端向量和目标句子向量,可确定每个词对应的目标词。

上述文本处理方法中,通过前一时刻输出的目标端向量对该源端向量序列进行注意力操作,从而根据前一时刻的输出预测当前时刻的输出概率,以得到当前时刻输出的目标端向量。进而能够根据前一时刻的目标词预测出当前时刻的目标词,完成源文本的翻译操作。

如图3所示,为一个实施例中,神经网络机器翻译模型对文本进行处理的流程示意图。将源文本输入编码器中,通过编码模块对源文本进行语义编码,得到源端向量序列。再将源端向量序列、及前次神经网络输出的目标词对应的词向量输入注意力模块,通过注意力模块对源端向量序列进行注意力机制处理,得到当次的源端内容向量,也就是当前时刻源端上下文。再将当前时刻源端上下文输入解码器中,通过解码模块对当前时刻源端上下文进行解码处理,输出当前时刻的目标词。

在一个实施例中,该目标句子向量为浅层句子向量;该根据该源端向量序列得到目标句子向量,包括:获取编码器输出层的源端向量序列;确定该输出层的源端向量序列在对应维度上的均值,生成浅层句子向量。

其中,浅层句子向量是指将编码器输出层输出的源端向量序列按照预设规则进行处理得到的向量。该预设规则可以是求源端向量序列在对应维度上的均值。

具体地,计算机设备获取编码器输出层的输出的源端向量序列,计算该输出层的源端向量序列在每个维度上的平均值,将每个维度上的平均值作为编码器输出层的源端向量序列对应的浅层句子向量。

例如,编码器输出层输出的源端向量序列为h=[(1.2,1.4,0.6),(0.2,1.3,1.6),(0.5,0.2,1.7)],其中,每个向量表示一个词进行语义编码后得到的源端向量。这里的每个向量为三维向量,求该源端向量序列为h对应的浅层句子向量,可计算出这3个向量在第一维上的平均值、第二维上的平均值和第三维上的平均值,得到向量h=[(1.2+0.2+0.5)/3,(1.4+1.3+0.2)/3,(0.6+1.6+1.7)/3]。计算得到的该向量h即为编码器输出层的源端向量序列h对应的浅层句子向量。当每个词对应的向量是一个512维的向量,得到的源端向量序列是多个512维向量组成的序列。对该源端向量序列求1到512维上的平均值,得到一个512维的向量,即浅层句子向量为一个512维的向量。需要注意的是,在实际应用场景中,每个词对应的向量的维度包括但不限于512维。具体每个词的向量维度可根据不同的需求设置。

上述文本处理方法,通过求编码器输出层的源端向量序列在对应维度上的平均值,每个平均值融合了每个词在对应维度上的元素信息,从而得到的浅层句子向量融合了每个词的信息,从而将单个词所表示的信息转换为整个句子表示的信息。

在一个实施例中,该目标句子向量为浅层句子向量;该根据该源端向量序列得到目标句子向量,包括:获取编码器输出层的源端向量序列;确定该输出层的源端向量序列在对应维度上的最大值,生成浅层句子向量。

其中,浅层句子向量是指将编码器输出层输出的源端向量序列按照预设规则进行处理得到的向量。该预设规则可以是求源端向量序列在对应维度上的最大值。

具体地,计算机设备获取编码器输出层的输出的源端向量序列,确定该输出层的源端向量序列在每个维度上的最大值,得到每个维度上的最大值组成的向量。将该每个维度上的最大值组成的向量作为编码器输出层的源端向量序列对应的浅层句子向量。

例如,编码器输出层输出的源端向量序列为h=[(1.2,1.4,0.6),(0.2,1.3,1.6),(0.5,0.2,1.7)],其中,每个向量表示一个词进行语义编码后得到的源端向量。这里的每个向量为三维向量,求该源端向量序列为h对应的浅层句子向量,可计算出这3个向量在第一维上的最大值、第二维上的最大值和第三维上的最大值,得到向量h=(1.3,1.4,1.7)。计算得到的该向量h即为编码器输出层的源端向量序列h对应的浅层句子向量。当每个词对应的向量是一个512维的向量,得到的源端向量序列是多个512维向量组成的序列。对该源端向量序列求1到512维上的最大值,得到一个512维的向量,即浅层句子向量为一个512维的向量。类似地,在实际应用场景中,每个词对应的向量的维度包括但不限于512维。

上述文本处理方法,每个词在对应维度上的元素体现了每个词在该维度上的重要程度。通过确定编码器输出层的源端向量序列在对应维度上的最大值,能够确定每个维度上最具有代表性的信息。将输出层的源端向量序列在对应维度上的最大值作为浅层句子向量,从而得到的浅层句子向量的每个组成元素代表了每个维度上最重要的信息,使得浅层句子向量保留了各词的整体信息。

在一个实施例中,如图4所示,该目标句子向量为浅层句子向量;该根据该源端向量序列得到目标句子向量,包括:

步骤402,获取编码器输入层的输入序列。

步骤404,确定该输入层的输入序列在对应维度上的最大值,得到中间向量。

其中,中间向量是指计算输入序列在对应维度上的最大值得到的向量。

具体地,计算机设备获取编码器输入层的输入序列,确定该编码器输入层的输入序列在每个维度上的最大值,得到每个维度上的最大值组成的向量,得到一个中间向量。

步骤406,获取编码器输出层的源端向量序列。

步骤408,确定该中间向量和该输出层的源端向量序列之间的相似度向量。

其中,相似度向量是指源端向量序列与每个键-值对之间的逻辑相似度。

具体地,计算机设备获取编码器输出层的源端向量序列,通过点积建模计算该中间向量和该输出层的源端向量序列之间的相似度,得到相似度向量。例如,通过求中间向量q和该输出层的源端向量序列h之间的相似度。其中,ht表示编码器输出层的源端向量序列的转置,d为模型隐藏状态向量的维度,d为常数,当源端向量序列为512维的向量序列时,d为512。

步骤410,根据该相似度向量得到该相似度对应的权重向量。

其中,权重向量是指对相似度向量进行归一化处理后得到的向量。归一化能够将一个含任意实数k维向量转换到另一个k维实向量中,使得每个元素的范围都在0到1之间,并且所有元素之和为1。

具体地,计算机设备获取中间向量和该输出层的源端向量序列之间的相似度向量,将该相似度向量进行归一化处理,得到该相似度向量对应的权重向量。

步骤412,根据该权重向量和该输出层的源端向量序列,生成浅层句子向量。

具体地,计算机设备将该权重向量和该输出层的源端向量序列进行点积计算得到该输出层的源端向量序列对应的浅层句子向量。该输出层的源端向量序列对应的浅层句子向量即为目标句子向量。

例如,对相似度向量e进行归一化处理,得到e对应的权重向量e,将该权重向量e和该输出层的源端向量序列h进行点积,得到浅层句子向量g,即g=e·h。

上述文本处理方法,通过获取编码器输入层的输入序列,确定该输入层的输入序列在对应维度上的最大值,得到中间向量,从而提取出源端词的关键信息。获取编码器输出层的源端向量序列,确定该中间向量和该输出层的源端向量序列之间的相似度向量,以确定源端词和进行语义编码后的序列之间的逻辑相似度。根据该相似度向量得到该相似度对应的权重向量,并根据该权重向量和该输出层的源端向量序列,生成浅层句子向量,使得能够将源端词的信息和进行语义编码后的序列的信息进行整合,从而将词的关键信息整合到句子中。

在一个实施例中,如图5所示,该目标句子向量为深层句子向量;该根据该源端向量序列得到目标句子向量,包括:

步骤502,获取编码器每层的源端向量序列。

步骤504,根据每层的源端向量序列,得到每层的浅层句子向量。

具体地,计算机设备获取编码器每一层神经网络输出的源端向量序列,得到每层的源端向量序列。接着,将第一层神经网络输出的源端向量序列进行注意力操作,得到第一层的浅层句子向量。将第一层的浅层句子向量作为第二层神经网络的输入,通过该第一层的浅层句子向量对源端向量序列进行注意力操作,得到第二层的浅层句子向量。类似地,从第二层神经网络起,将前一层神经网络的输出作为当前层的输入,对当前层的源端向量序列进行注意力操作,得到当前层的浅层句子向量,从而得到每层的浅层句子向量。

步骤506,根据每层的浅层句子向量,生成深层句子向量。

其中,深层句子向量是由每层的浅层句子向量进行建模得到的。

具体地,计算机设备将第一层的浅层句子向量作为输入,更新第一层神经网络的隐含状态。再将第一层神经网络更新后的隐含状态和第二层的浅层句子向量作为第二层神经网络的输入,更新第二层神经网络的隐含状态。类似地,直到更新最后一层的神经网络的隐含状态,将最后一层的神经网络的更新后的隐含状态作为深层句子向量。

上述文本处理方法中,通过获取编码器每层的源端向量序列,根据每层的源端向量序列,得到每层的浅层句子向量。再根据每层的浅层句子向量,生成深层句子向量,使得得到的深层句子向量融合了各层的浅层句子向量的信息。从而在深层句子向量中保留了源文本的全局信息,使得翻译得到的目标文本更准确。

在一个实施例中,该根据该每层的浅层句子向量,生成深层句子向量,包括:

将每层的浅层句子向量输入循环神经网络,得到循环神经网络输出层输出的深层句子向量;该循环神经网络的各层网络对应编码器的各层网络,该循环神经网络中每一层的输入包括编码器中对应层的浅层句子向量和循环神经网络中该层的上一层输出的隐含状态向量,该隐含状态向量为该循环神经网络对上一层输入的浅层句子向量处理后得到的。

其中,循环神经网络(recurrentneuralnetwork,简称rnn)是一种节点定向连接成环的人工神经网络。这种网络的内部状态可以展示动态时序行为,rnn可以利用内部的记忆来处理任意时序的输入的序列。

具体地,计算机设备将第一层的浅层句子向量和经验预设初始值或随机生成的初始值输入循环神经网络的第一层,更新循环神经网络的第一层的隐含状态向量。接着,将循环神经网络的第一层更新后的隐含状态向量和第二层的浅层句子向量作为循环神经网络第二层的输入,更新循环神经网络的第二层的隐含状态向量。类似地,自循环神经网络的第二层起,将循环神经网络的前一层更新后的隐含状态向量和当前层对应的浅层句子向量作为循环神经网络当前层的输入,从而更新循环神经网络当前层的隐含状态向量。直到更新循环神经网络最后一层的隐含状态向量后,将循环神经网络最后一层更新后的隐含状态向量作为深层句子向量。通过将每层的浅层句子向量输入循环神经网络,得到循环神经网络输出层输出的深层句子向量,使得到的深层句子向量融合了各层浅层句子向量的信息,从而保留了源文本的全局信息。

如图6所示,gn=(g1,g2,g3),gn为编码器中的各层浅层句子向量,深层句子向量为该循环神经网络有3层,深层句子向量为可由得到。则获取经验预设初始值r0或随机生成的初始值r0,将编码器中的第一层浅层句子向量g1和r0输入循环神经网络的第一层,将第一层浅层句子向量g1和r0进行加权计算,得到循环神经网络的第一层更新后的隐含状态向量r1,即r1=g1·r0。接着,将循环神经网络的第一层更新后的隐含状态向量r1和编码器中的第二层的浅层句子向量g2作为循环神经网络第二层的输入,得到循环神经网络的第一层更新后的隐含状态向量r2。类似地,按照上述方法,可等到循环神经网络最后一层更新后的隐含状态向量r3,将该r3作为深层句子向量。

在一个实施例中,如图7所示,该根据该每层的浅层句子向量,生成深层句子向量,包括:

步骤702,确定当前层的浅层句子向量和当前层的上一层目标端向量之间的相似度向量。

步骤704,根据该相似度向量确定当前层的浅层句子向量和当前层的上一层目标端向量之间的权重向量。

步骤706,根据该权重向量和每层的浅层句子向量,生成深层句子向量。

具体地,编码器中的各层神经网络对应解码器中的各层神经网络。计算机设备获取编码器中各层神经网络输出的浅层句子向量,并解码器的初始目标端向量。将编码器第一层神经网络输出的浅层句子向量和解码器的初始目标端向量输入到解码器的第一层神经网络中,计算初始目标端向量和第一层浅层句子向量之间的逻辑相似度,得到第一层神经网络输出的相似度向量。将该相似度向量进行归一化处理,得到第一层神经网络输出的权重向量。

接着,计算机设备获取编码器中第二层神经网络输出的浅层句子向量,并获取解码器的第一层神经网络输出的目标端向量。将编码器的第二层浅层句子向量和解码器的第一层目标端向量输入到解码器的第一层神经网络中,计算第一层目标端向量和第二层浅层句子向量之间的逻辑相似度,得到第二层神经网络输出的相似度向量。将该相似度向量进行归一化处理,得到解码器第二层神经网络输出的权重向量。类似地,自第二层神经网络起,将上一层神经网络输出的目标端向量和当前层的浅层句子向量作为当前层神经网络的输入。计算确定上一层神经网络输出的目标端向量和当前层的浅层句子向量之间的相似度向量,再将每层计算得到的相似度向量进行归一化处理,对应得到每层的权重向量。接着,计算机设备将每层的权重向量和每层权重向量对应的浅层句子向量进行点积计算,得到深度句子向量。

上述文本处理方法中,通过确定当前层的浅层句子向量和当前层的上一层目标端向量之间的相似度向量,以确定当前层的浅层句子向量和当前层的上一层目标端向量之间的逻辑相似度。根据该相似度向量确定当前层的浅层句子向量和当前层的上一层目标端向量之间的权重向量,根据该权重向量和每层的浅层句子向量,生成深层句子向量。能够每层浅层句子向量的关键信息进行整合,避免了关键信息遗失的情况,避免翻译出错的情况。

在一个实施例中,如图8所示,对编码器每层的源端向量序列hi进行注意力操作,形成每一层的浅层句子向量gi,从而得到各层浅层句子向量gi构成的浅层句子向量序列g。

g={g1,...,gn}

gi=global(hi)

得到浅层句子向量序列g后,在解码器中,将目标端向量di-1作为查询,对编码器的浅层句子向量序列g={g1,...,gn}进行注意力操作,即gi=att(di-1,g),形成深层句子向量。

得到深层句子向量的具体操为:对目标端向量di-1与g进行点积以获得请求与每个键-值对之间的相似度向量ei:

其中,gnt表示码器每层的浅层句子向量的转置,d为模型隐藏状态向量的维度。然后将相似度向量ei进行归一化处理,得到权重向量βi,再对权重向量βi与编码器每层的浅层句子向量gi进行点积计算,即g=βi·g,以获得深层句子向量g。

在一个实施例中,如图9所示,该根据该每层的源端向量序列,生成每层的浅层句子向量,包括:

步骤902,获取编码器每层的源端向量序列。

具体地,计算机设备将源文本的输入序列输入编码器的第一层神经网络进行语义编码,得到编码器的第一层神经网络输出的源端向量序列。再将第一层的源端向量序列输入编码器的第二层神经网络进行语义编码,得到第二层源端向量序列。按照相同的方式,得到编码器每层神经网络输出的源端向量序列。

步骤904,将每层逐一作为当前层,确定当前层的源端向量序列和当前层的上一层浅层句子向量之间的相似度向量。

步骤906,根据该相似度向量得到该相似度对应的权重向量。

步骤908,根据该权重向量和当前层的源端向量序列,生成当前层的浅层句子向量。

具体地,计算机设备按照顺序将每层神经网络逐一作为当前层。获取当前层的源端向量序列,并获取当前层的上一层浅层句子向量,计算当前层的源端向量序列和当前层的上一层浅层句子向量之间的逻辑相似度,得到相似度向量。接着,对相似度向量进行归一化处理,得到该相似度对应的权重向量。再将该权重向量和当前层的源端向量序列进行加权求和,得到当前层的浅层句子向量。

在本实施例中,第一层神经网络没有上一层,因而也没有上一层浅层句子向量。因此,需要预先设置初始的浅层句子向量。将第一层神经网络作为当前层时,将初始的浅层句子向量作为第一层神经网络的上一层的浅层句子向量。从而计算得到第一层神经网络输出的浅层句子向量。

上述文本处理方法,通过将每层的源端向量序列转换为每层的浅层句子向量,并将当前层输出的浅层句子向量作为下一层的输入,计算出下一层的浅层句子向量。使得每一个当前层的浅层句子向量均由上一层的浅层句子向量和当前层的源端向量序列得到,保证了源端词的信息的传递,并且使得当前层的浅层句子向量均整合了当前层之前的所有层的信息,从而将源文本的每个词的信息整合到句子中。

在一个实施例中,对编码器每一层的源端向量序列进行浅层句子向量学习操作。例如,对第n层的源端向量序列进行注意力操作,形成第n层的浅层句子向量:

gn=global(hn)

具体地,以第n-1层的浅层句子向量gn-1作为第n层的输入,通过该第n-1层的浅层句子向量对编码器第n层的源端向量序列hn进行注意力操作,计算方式如下:

gn=att(gn-1,hn)

进一步地,具体操作为对gn-1与hn进行点积以获得请求与每个键-值对之间的相似度向量en:

其中,hnt表示编码器输入层的源端向量序列的转置,d为模型隐藏状态向量的维度。然后对相似度向量en进行归一化处理,得到相似度向量en对应的权重向量en

然后对权重与编码器第n层的源端向量序列hn进行点积计算获得第n层的浅层句子向量gn:

gn=en·hn。

在一个实施例中,计算机设备将第一层神经网络输出的源端向量序列进行注意力操作,得到第一层的浅层句子向量。将第一层的浅层句子向量作为第二层神经网络的输入,通过该第一层的浅层句子向量对源端向量序列进行注意力操作,得到第二层的浅层句子向量。类似地,从第二层神经网络起,将前一层神经网络的输出作为当前层的输入,对当前层的源端向量序列进行注意力操作,得到当前层的浅层句子向量,从而得到每层的浅层句子向量。需要注意的是,第一层神经网络没有上一层,因而也没有上一层浅层句子向量。因此,将第一层源端向量序列输入第一层神经网络进行注意力操作时,需要预先设置初始值或通过随机生成初始值。将该初始值输入第一层神经网络,通过该初始值对第一层的源端向量序列进行注意力操作。

在一个实施例中,如图10所示,该根据该每个词的目标端向量和该目标句子向量,确定每个词对应的目标词,包括:

步骤1002,根据每个词的目标端向量和该目标句子向量,得到每个词对应的预测词向量。

其中,预测词向量根据一个词对应的目标端向量和目标句子向量进行处理得到的向量。一个词对应一个预测词向量。

具体地,计算机设备获取一个词对应的目标端向量,并获取目标句子向量,将该词对应的目标端向量和目标句子向量进行线性叠加,得到该词对应的预测词向量。按照相同的方式,得到每个词对应的预测词向量。

步骤1004,获取目标端的候选词的词向量。

步骤1006,确定每个词对应的预测词向量和该目标端的候选词的词向量的相似度。

其中,候选词是指预先设置的词库中的词,该词库中的每个词对应一个词向量。

具体地,计算机设备从目标端的词库中获取每个候选词对应的词向量。接着,选取一个词对应的预测词向量,并计算该选取的预测词向量与目标端的各个候选词对应的词向量之间的相似度。类似地,使用相同的方式,计算出每个预测词向量和目标端的候选词的词向量的相似度。

步骤1008,将与每个词对应的预测词向量的相似度最高的候选词作为每个词对应的目标词。

具体地,计算机设备确定选取的预测词向量与目标端的各个候选词对应的词向量之间的相似度之后,确定与该选取的预测词向量相似度最高的候选词,并将该候选词作为该选取的预测词向量对应的目标词。使用相同的方式得到每个预测词向量对应的目标词,从而得到每个源端的词对应的目标词。

在本实施例中,计算机设备确定一个选取的预测词向量与目标端的各个候选词对应的词向量之间的相似度之后,可直接确定该选取的预测词向量对应的目标词。接着,再选取另一个词对应的预测词向量,计算与目标端的各个候选词对应的词向量之间的相似度,以确定选取的词对应的目标词的操作。

上述文本处理方法中,根据每个词的目标端向量和该目标句子向量,得到每个词对应的预测词向量。获取目标端的候选词的词向量并确定每个词对应的预测词向量和该目标端的候选词的词向量的相似度。将与每个词对应的预测词向量的相似度最高的候选词作为每个词对应的目标词,从而得到源文本的每个词对应的目标词。

在一个实施例中,计算机设备可使用一个全连接前馈网络(position-wisefullyconnectedfeed-forwardnetwork)生成输出层,将得到的预测词向量和目标端的所有候选词对应的词向量进行比较,选择相似度最高的一个候选词作为该预测词向量对应的目标词,从而得到该预测词向量对应的源文本的词的目标词。

在一个实施例中,该根据该每个词的目标端向量和该目标句子向量,确定每个词对应的目标词,包括:获取目标端的候选词的词向量;确定每个词对应的预测词向量和目标端的候选词的词向量的相似度;输出预设数量的高相似度的候选词,将预设数量的高相似度的候选词作为每个词对应的目标词。

该根据该每个词对应的目标词,生成该源文本对应的目标文本,包括:根据每个词对应的预设数量的候选词,生成候选文本;将输出概率最高的候选文本作为源文本对应的目标文本。

其中,输出概率是指根据每个词对应的预设数量的候选词计算得到的每个候选文本的概率。

具体地,计算机设备确定选取的预测词向量与目标端的各个候选词对应的词向量之间的相似度之后,可按照相似度将各候选词排序,并选取预设数量的相似度高的候选词。该预设数量的相似度高的候选词可作为该选取的预测词向量对应的多个目标词。当源文本中的每个词都分别对应的预设数量的候选词后,计算机设备可根据每个词对应的预设数量的候选词,生成多个候选文本。进一步地,计算机设备根据源文本中每个词对应的候选词计算每个候选文本的输出概率。确定输出概率最高的候选文本,将该输出概率最高的候选文本作为源文本对应的目标文本。计算候选文本的输出概率的方式包括但不限于集束搜索。

上述文本处理方法,通过确定源文本中每个词对应的候选词,得到源文本对应的多个候选文本,并将输出概率最高的候选文本作为源文本对应的目标文本。从而得到与源文本最接近的目标文本,使得翻译更准确。

在一个实施例中,该文本处理方法包括:

计算机设备获取源文本的输入序列。

接着,计算机设备将该输入序列经过语义编码得到源端向量序列。

接着,计算机设备获取该源端向量序列中每个词对应的第一权重向量。

进一步地,计算机设备根据该源端向量序列和该每个词对应的第一权重向量,生成该每个词的目标端向量。

接着,计算机设备获取编码器每层的源端向量序列。

进一步地,计算机设备将每层逐一作为当前层,确定当前层的源端向量序列和当前层的上一层浅层句子向量之间的相似度向量。

接着,计算机设备根据该相似度向量得到该相似度对应的权重向量。

接着,计算机设备根据该权重向量和当前层的源端向量序列,生成当前层的浅层句子向量。

接着,计算机设备确定当前层的浅层句子向量和当前层的上一层的目标端向量之间的相似度向量。

进一步地,计算机设备根据该相似度向量确定当前层的浅层句子向量和当前层的上一层目标端向量之间的权重向量。

接着,计算机设备根据该权重向量和每层的浅层句子向量,生成深层句子向量。

进一步地,计算机设备根据该每个词的目标端向量和该深层句子向量,得到每个词对应的预测词向量。

接着,计算机设备获取目标端的候选词的词向量。

接着,计算机设备确定该每个词对应的预测词向量和该目标端的候选词的词向量的相似度。

进一步地,计算机设备将与该每个词对应的预测词向量的相似度最高的候选词作为该每个词对应的目标词。

接着,计算机设备根据该每个词对应的目标词,生成该源文本对应的目标文本。

在上述文本处理方法中,通过获取源文本的输入序列,将输入序列经过语义编码得到源端向量序列。通过将每层的源端向量序列转换为每层的浅层句子向量,并将当前层输出的浅层句子向量作为下一层的输入,计算出下一层的浅层句子向量。使得每一个当前层的浅层句子向量均由上一层的浅层句子向量和当前层的源端向量序列得到,保证了源端词的信息的传递,并且使得当前层的浅层句子向量均整合了当前层之前的所有层的信息,从而将源文本的每个词的信息整合到句子中。

通过获取源端向量序列中每个词对应的第一权重向量,根据源端向量序列和每个词对应的第一权重向量,可生成每个词的目标端向量,从而将源端的每个词的向量转换为目标端的每个词的向量。

通过确定当前层的浅层句子向量和当前层的上一层目标端向量之间的相似度向量,以确定当前层的浅层句子向量和当前层的上一层目标端向量之间的逻辑相似度。根据该相似度向量确定当前层的浅层句子向量和当前层的上一层目标端向量之间的权重向量,根据该权重向量和每层的浅层句子向量,生成深层句子向量。能够每层浅层句子向量的关键信息进行整合,避免了关键信息遗失的情况,避免翻译出错的情况。

根据源端向量序列得到目标句子向量,使得目标句子向量融合了源端的每个词的关键信息,并使得每个词与前后的词形成关联。

根据每个词的目标端向量和目标句子向量,确定每个词对应的目标词,解决了现有的文本翻译方法中仅仅根据单个词的目标端向量确定对应的目标词,忽略每个词在句子中所表示的语义,从而导致翻译不准确的问题。最后根据每个词对应的目标词,生成源文本对应的目标文本。采用本方案能够利用句子信息对每个词进行翻译,提高翻译的准确率。

如图11所示,为一个实施例中神经网络机器翻译系统的架构图。图11展示了神经网络机器翻译模型的编码器和解码器一层的结构。

如图11所示,左侧的nx表示编码器的其中一层的结构,这一层中包括两个子层,第一个子层为多头注意力层,第二个子层为前向传播层。每个子层的输入和输出都存在关联,当前子层的输出作为下一个子层的一个输入数据。每个子层的后面紧接着一个归一化操作,归一化操作能够提高模型的收敛速度。右侧的nx表示解码器的其中一层的结构,解码器的一层中包括三个子层,第一个子层为mask矩阵控制的多头注意力子层,用来建模已经生成的目标端句子向量,在训练的过程中,需要一个mask矩阵来控制,使得每次多头注意力计算的时候,只计算到前t-1个词。第二个子层是多头注意力子层,是编码器和解码器之间的注意力机制,也就是在源文本中查找相关的语义信息,该层的计算使用了点积的方式。第三个子层是前向传播子层,与编码器中的前向传播子层的计算方式一致。解码器的每个子层之间也都存在着关联,当前子层的输出作为下一个子层的一个输入数据。并且解码器的每个子层之后同样紧接着一个归一化操作,以加快模型收敛。

在一个实施例中,使用本方案在wmt2017英德机器翻译任务中进行测试,测试结果如下表:

其中,本方案-模型1是指将编码器输出层的源端向量序列进行均值池化操作,得到浅层句子向量,该浅层句子向量即为目标句子向量。本方案-模型2是指将编码器输出层的源端向量序列进行最大值池化(max-pooling)操作,得到浅层句子向量,该浅层句子向量即为目标句子向量。本方案-模型3是指将编码器输入层的输入序列作为查询(query),对编码器输出层的源端向量序列进行注意力操作,得到浅层句子向量,该浅层句子向量即为目标句子向量。当目标句子向量为深层句子向量时,使用本方案-模型4或本方案-模型5的方式得到深层句子向量。本方案-模型4为得到深层句子向量的静态方式,采用循环神经网络对每层的浅层句子向量进行循环建模,取其最终状态作为深层句子向量。本方案-模型5为得到深层句子向量的动态方式,以解码器每个时刻的目标端向量作为查询,以注意力模式对每层的浅层句子向量进行注意力操作形成每个时刻的目标端向量。本实施例中所提出方法简单且易于建模,极少增加所需计算资源和降低计算速度,能够高效地利用句子信息帮助神经机器翻译技术提高翻译性能。

上表中的bleu一般提高超过0.5个点即为显著提高,该栏的δ是指提高的绝对数值。从表中可看出,本方案-模型2、本方案-模型3、本方案-模型4和本方案-模型5的δ都超过了0.5个点,表明本方案所提出的方法能够显著提升翻译质量。

本方案中得到浅层句子向量的方式除了上述实施例之外,还可使用其它机器学习方式对编码器输出层输出的源端向量序列处理得成。本方案中得到深层句子向量的方式除了上述实施例之外,也可以利用其他机器学习的方法(例如,卷积神经网络等)对编码器每层的浅层句子向量进行操作得到。

本方案不具体限定神经网络的模型类似和拓扑结构,方案中的神经网络可以替换为各种其他有桨的新型的模型结构,例如循环神经网络及变种,或者替换为其他网络结构,例如卷积神经网络等。

同时需要指出的一点是,本方案所提供的方法可以用在所有主流神经网络机器翻译系统中,并适用于所有语言的翻译任务。

图2-图10为一个实施例中文本处理方法的流程示意图。应该理解的是,虽然图2-图10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图10中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图12所示,提供了一种文本处理装置。该文本处理装置包括:

序列获取模块1202,用于获取源文本的输入序列。

编码模块1204,用于将输入序列经过语义编码得到源端向量序列。

权重获取模块1206,用于获取源端向量序列中每个词对应的第一权重向量。

目标端向量生成模块1208,用于根据源端向量序列和每个词对应的第一权重向量,生成每个词的目标端向量。

目标句子向量确定模块1210,用于根据源端向量序列得到目标句子向量。

目标词确定模块1212,用于根据每个词的目标端向量和目标句子向量,确定每个词对应的目标词。

目标文本生成模块1214,用于根据每个词对应的目标词,生成源文本对应的目标文本。

上述文本处理装置,通过获取源文本的输入序列,将输入序列经过语义编码得到源端向量序列。获取源端向量序列中每个词对应的第一权重向量,根据源端向量序列和每个词对应的第一权重向量,可生成每个词的目标端向量,从而将源端的每个词的向量转换为目标端的每个词的向量。根据源端向量序列得到目标句子向量,使得目标句子向量融合了源端的每个词的关键信息,并使得每个词与前后的词形成关联。根据每个词的目标端向量和目标句子向量,确定每个词对应的目标词,解决了现有的文本翻译方法中仅仅根据单个词的目标端向量确定对应的目标词,忽略每个词在句子中所表示的语义,从而导致翻译不准确的问题。最后根据每个词对应的目标词,生成源文本对应的目标文本。采用本方案能够利用句子信息对每个词进行翻译,提高翻译的准确率。

在一个实施例中,当该目标句子向量为浅层句子向量时,该目标句子向量确定模块1210还用于:获取编码器输出层的源端向量序列;确定该输出层的源端向量序列在对应维度上的均值,生成浅层句子向量。通过求编码器输出层的源端向量序列在对应维度上的平均值,每个平均值融合了每个词在对应维度上的元素信息,从而得到的浅层句子向量融合了每个词的信息,从而将单个词所表示的信息转换为整个句子表示的信息。

在一个实施例中,当该目标句子向量为浅层句子向量时,该目标句子向量确定模块1210还用于:获取编码器输出层的源端向量序列;确定该输出层的源端向量序列在对应维度上的最大值,生成浅层句子向量。上述文本处理装置,每个词在对应维度上的元素体现了每个词在该维度上的重要程度。通过确定编码器输出层的源端向量序列在对应维度上的最大值,能够确定每个维度上最具有代表性的信息。将输出层的源端向量序列在对应维度上的最大值作为浅层句子向量,从而得到的浅层句子向量的每个组成元素代表了每个维度上最重要的信息,使得浅层句子向量保留了各词的整体信息。

在一个实施例中,当该目标句子向量为浅层句子向量时,该目标句子向量确定模块1210还用于:获取编码器输入层的输入序列;确定该输入层的输入序列在对应维度上的最大值,得到中间向量;获取编码器输出层的源端向量序列;确定该中间向量和该输出层的源端向量序列之间的相似度向量;根据该相似度向量得到该相似度对应的权重向量;根据该权重向量和该输出层的源端向量序列,生成浅层句子向量。通过获取编码器输入层的输入序列,确定该输入层的输入序列在对应维度上的最大值,得到中间向量,从而提取出源端词的关键信息。获取编码器输出层的源端向量序列,确定该中间向量和该输出层的源端向量序列之间的相似度向量,以确定源端词和进行语义编码后的序列之间的逻辑相似度。根据该相似度向量得到该相似度对应的权重向量,并根据该权重向量和该输出层的源端向量序列,生成浅层句子向量,使得能够将源端词的信息和进行语义编码后的序列的信息进行整合,从而将词的关键信息整合到句子中。

在一个实施例中,当该目标句子向量为深层句子向量时,该目标句子向量确定模块1210还用于:获取编码器每层的源端向量序列;根据每层的源端向量序列,得到每层的浅层句子向量;根据每层的浅层句子向量,生成深层句子向量。通过获取编码器每层的源端向量序列,根据每层的源端向量序列,得到每层的浅层句子向量。再根据每层的浅层句子向量,生成深层句子向量,使得得到的深层句子向量融合了各层的浅层句子向量的信息。从而在深层句子向量中保留了源文本的全局信息,使得翻译得到的目标文本更准确。

在一个实施例中,当该目标句子向量为深层句子向量时,该目标句子向量确定模块1210还用于:将每层的浅层句子向量输入循环神经网络,得到循环神经网络输出层输出的深层句子向量;该循环神经网络的各层网络对应编码器的各层网络,该循环神经网络中每一层的输入包括编码器中对应层的浅层句子向量和循环神经网络中该层的上一层输出的隐含状态向量,该隐含状态向量为该循环神经网络对上一层输入的浅层句子向量处理后得到的。通过将每层的浅层句子向量输入循环神经网络,得到循环神经网络输出层输出的深层句子向量,使得得到的深层句子向量融合了各层浅层句子向量的信息,从而保留了源文本的全局信息。

在一个实施例中,当该目标句子向量为深层句子向量时,该目标句子向量确定模块1210还用于:确定当前层的浅层句子向量和当前层的上一层目标端向量之间的相似度向量;根据该相似度向量确定当前层的浅层句子向量和当前层的上一层目标端向量之间的权重向量。根据该权重向量和每层的浅层句子向量,生成深层句子向量。上述文本处理装置中,通过确定当前层的浅层句子向量和当前层的上一层目标端向量之间的相似度向量,以确定当前层的浅层句子向量和当前层的上一层目标端向量之间的逻辑相似度。根据该相似度向量确定当前层的浅层句子向量和当前层的上一层目标端向量之间的权重向量,根据该权重向量和每层的浅层句子向量,生成深层句子向量。能够每层浅层句子向量的关键信息进行整合,避免了关键信息遗失的情况,避免翻译出错的情况。

在一个实施例中,当该目标句子向量为深层句子向量时,该目标句子向量确定模块1210还用于:获取编码器每层的源端向量序列;将每层逐一作为当前层,确定当前层的源端向量序列和当前层的上一层浅层句子向量之间的相似度向量;根据该相似度向量得到该相似度对应的权重向量;根据该权重向量和当前层的源端向量序列,生成当前层的浅层句子向量。通过将每层的源端向量序列转换为每层的浅层句子向量,并将当前层输出的浅层句子向量作为下一层的输入,计算出下一层的浅层句子向量。使得每一个当前层的浅层句子向量均由上一层的浅层句子向量和当前层的源端向量序列得到,保证了源端词的信息的传递,并且使得当前层的浅层句子向量均整合了当前层之前的所有层的信息,从而将源文本的每个词的信息整合到句子中。

在一个实施例中,目标词确定模块1212还用于:根据每个词的目标端向量和该目标句子向量,得到每个词对应的预测词;获取目标端的候选词;确定每个词对应的预测词和该目标端的候选词的相似度;将与每个词对应的预测词的相似度最高的候选词作为每个词对应的目标词。根据每个词的目标端向量和该目标句子向量,得到每个词对应的预测词向量。获取目标端的候选词的词向量并确定每个词对应的预测词向量和该目标端的候选词的词向量的相似度。将与每个词对应的预测词向量的相似度最高的候选词作为每个词对应的目标词,从而得到源文本的每个词对应的目标词。

图13示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110(或服务器120)。如图13所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现文本处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行文本处理方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的文本处理装置可以实现为一种计算机程序的形式,计算机程序可在如图13所示的计算机设备上运行。计算机设备的存储器中可存储组成该文本处理装置的各个程序模块,比如,图12所示的序列获取模块1202、编码模块1204、权重获取模块1206、目标端向量生成模块1208、目标句子向量确定模块1210、目标词确定模块1212和目标文本生成模块1214。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的文本处理方法中的步骤。

例如,图13所示的计算机设备可以通过如图12所示的文本处理装置中的序列获取模块执行获取源文本的输入序列的步骤。计算机设备可通过编码模块执行将输入序列经过语义编码得到源端向量序列的步骤。计算机设备可通过权重获取模块执行获取源端向量序列中每个词对应的第一权重向量的步骤。计算机设备可通过目标端向量生成模块执行根据源端向量序列和每个词对应的第一权重向量,生成每个词的目标端向量的步骤。计算机设备可通过目标句子向量确定模块执行根据源端向量序列得到目标句子向量的步骤。计算机设备可通过目标词确定模块执行根据每个词的目标端向量和目标句子向量,确定每个词对应的目标词的步骤。计算机设备可通过目标文本生成模块执行根据每个词对应的目标词,生成源文本对应的目标文本的步骤。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述文本处理方法的步骤。此处文本处理方法的步骤可以是上述各个实施例的文本处理方法中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述文本处理方法的步骤。此处文本处理方法的步骤可以是上述各个实施例的文本处理方法中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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