文本翻译方法、装置、存储介质和计算机设备与流程

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

本申请是于2018年09月05日提交中国专利局,申请号为201811033545.7,发明名称为“文本翻译方法、装置、存储介质和计算机设备”的分案申请,其全部内容通过引用结合在本申请中。

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



背景技术:

机器翻译是指通过计算机将一种自然语言文本(需翻译的自然语言文本一般称为源文本)翻译为另一种自然语言文本(翻译后的自然语言文本称为目标文本),以实现不同语种的文本之间的转换。而不同的语种之间会有不同的语法及句式习惯,比如,在汉语和日语等语言中,代词缺略是极为常见的现象,与之相反,在英、法等语言中,代词作为句子成分则必不可少。当从代词缺略语言(比如汉语)到非代词缺略语言(比如英语)翻译时,需要将隐含的缺略代词召回并正确地翻译出来,这给机器翻译带来了极大挑战。

传统的机器翻译方式,以中译英为例,为了减少缺少缺略代词所带来的影响,通常是借助平行语料库中中英代词省略的差异性,自动标注中文句子中的缺略代词。然后,利用此语料库训练基于神经网络的缺略代词还原系统,通过训练好的缺略代词还原系统对待翻译的汉语句子进行缺略代词还原的处理,再将处理后的待翻译句子(也就是补全了缺略代词的句子)传递给统计机器翻译系统进行翻译。

传统的机器翻译方式,常常由于缺略代词还原系统的低准确率带来错误传递,导致源端被添加了错误的代词从而使得翻译结果错误,导致了文本翻译准确率低的问题。



技术实现要素:

基于此,有必要针对文本翻译准确率低的技术问题,提供一种文本翻译方法、装置、计算机可读存储介质和计算机设备。

一种文本翻译方法,包括:

获取初始源文本和重构源文本;所述重构源文本是对所述初始源文本进行缺略词位置信息补充而得到的源文本;

对所述初始源文本进行语义编码,得到与所述初始源文本对应的源端向量序列,并根据源端注意力分配权重向量,对所述源端向量序列进行计算得到源端内容向量;

依次对所述源端向量序列进行解码得到目标端向量,且每次解码时根据前次确定的候选目标词的词向量进行解码,并根据当次的目标端向量确定当次的候选目标词、以及所述候选目标词对应的翻译分数;

将依次解码得到的目标端向量构成目标端向量序列,并根据目标端注意力分配权重向量,对所述目标端向量序列进行计算得到目标端内容向量;

按照所述重构源文本,对所述源端内容向量和所述目标端内容向量进行重构评估处理,得到与各候选目标词对应的重构分数;

根据所述各候选目标词生成候选目标文本,并依据所述翻译分数和所述重构分数,从所述候选目标文本中筛选出与所述初始源文本对应的目标文本。

一种文本翻译装置,所述装置包括:

获取模块,用于获取初始源文本和重构源文本;所述重构源文本是对所述初始源文本进行缺略词位置信息补充而得到的源文本;

编码模块,用于对所述初始源文本进行语义编码,得到与所述初始源文本对应的源端向量序列,并根据源端注意力分配权重向量,对所述源端向量序列进行计算得到源端内容向量;

解码模块,用于依次对所述源端向量序列进行解码得到目标端向量,且每次解码时根据前次确定的候选目标词的词向量进行解码,并根据当次的目标端向量确定当次的候选目标词、以及所述候选目标词对应的翻译分数;

拼接模块,用于将依次解码得到的目标端向量构成目标端向量序列,并根据目标端注意力分配权重向量,对所述目标端向量序列进行计算得到目标端内容向量;

重构模块,用于按照所述重构源文本,对所述源端内容向量和所述目标端内容向量进行重构评估处理,得到与各候选目标词对应的重构分数;

生成模块,用于根据所述各候选目标词生成候选目标文本,并依据所述翻译分数和所述重构分数,从所述候选目标文本中筛选出与所述初始源文本对应的目标文本。

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

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

上述文本翻译方法、装置、计算机可读存储介质和计算机设备,通过对初始源文本进行语义编码,得到与初始源文本对应的源端向量序列,再依次对源端向量序列进行解码得到的目标端向量,且每次解码时根据前次确定的候选目标词的词向量进行解码,并根据当次的目标端向量确定当次的候选目标词。可使得解码生成的候选目标词不仅包含了源文本的语义信息,还综合了前次的候选目标词的语义信息,使得最终生成的目标文本更为连贯,翻译结果更准确。将依次解码得到的目标端向量构成目标端向量序列,并按照对初始源文本进行缺略词位置信息补充而得到的重构源文本,对源端向量序列和目标端向量序列进行重构评估处理,得到与各候选目标词对应的重构分数,再依据重构分数和各候选目标词,生成目标文本。这样,通过融合源端和目标端的隐层向量特征可以共享两端的共性信息,在进行重构评估处理时可以减少冗余信息并能避免重要信息的缺失,使得重构分数可以很好的衡量缺略词信息的召回程度。这样,依据重构分数和各候选目标词,生成目标文本,可以减少翻译时缺少缺略代词所带来的影响,大大提高了翻译质量。

附图说明

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

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

图3为一个实施例中在汉语表达中缺略代词被省略的实例示意图;

图4为一个实施例中进行缺略代词还原的结构示意图;

图5为一个实施例中通过机器翻译模型对初始源文本进行翻译得到目标文本的流程示意图;

图6为一个实施例中通过包括编码器-解码器结构的机器翻译模型进行文本翻译的流程示意图;

图7为一个实施例中机器翻译模型的训练步骤的流程示意图;

图8为一个实施例中通过采用最大似然函数和重构评估函数的加权和函数作为目标函数而训练得到的机器翻译模型,对源端向量序列和目标端向量序列进行共享重构处理的结构示意图;

图9为一个实施例中通过采用最大似然函数、重构评估函数、以及缺略词还原函数的加权和函数为目标函数训练机器翻译模型时,对源端向量序列和目标端向量序列进行共享重构处理的结构示意图;

图10为一个实施例中通过重构模块将源端向量序列和目标端向量序列重构回含缺略代词的文本的结构示意图;

图11为另一个实施例中文本翻译方法的流程示意图;

图12为一个实施例中文本翻译装置的结构框图;

图13为另一个实施例中文本翻译装置的结构框图;

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

具体实施方式

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

图1为一个实施例中文本翻译方法的应用环境图。参照图1,该文本翻译方法应用于文本翻译系统。该文本翻译系统包括终端110和服务器120。终端110可获取初始源文本,将初始源文本发送至服务器120,服务器120根据初始源文本确定重构源文本,进而执行文本翻译方法,得到目标文本,再将目标文本返回至终端110。终端110也可在获取初始源文本后执行文本翻译方法得到目标文本。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑和笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

可以理解,本申请各实施例所提及的文本翻译方法,主要可通过人工智能技术训练出机器翻译模型,再通过机器翻译模型执行文本翻译方法。其中,人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

可以理解,本申请各实施例中的文本翻译方法具体涉及到人工智能的机器学习技术,其中,机器学习(machinelearning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。

本申请实施例提供的方案涉及人工智能的机器学习技术,具体通过如下实施例进行详细说明:

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

s202,获取初始源文本和重构源文本;重构源文本是对初始源文本进行缺略词位置信息补充而得到的源文本。

其中,初始源文本是待翻译的初始文本。重构源文本是对初始源文本进行缺略词位置信息补充而得到的源文本。对初始源文本进行缺略词位置信息补充是指确定初始源文本中缺少的缺略词的位置,在初始源文本中补充相应的位置信息。

其中,缺略词是指在语言表达中被省略的词,通常指缺略代词(dp,droppedpronoun)。在特定语言(如,汉语、日语)表达中,一些代词常常会被省略从而使表达更加简洁。虽然这些代词被省略了,但可以通过上下文语境推断出缺失的信息(即,缺略代词及其指代的先行词),因而这种表达并不会影响人们对内容的理解。此现象属于篇章理论中的零指代或空指代范畴。参考图3,图3示出了一个实施例中在汉语表达中缺略代词被省略的实例示意图。如图3所示,汉语端括号中的主格代词“你”、“我”和宾格代词“它”都被省略了(括号中的文字被省略了),但在英文端对应的代词则没有被省略。

对初始源文本进行缺略词位置信息补充可参考图4,图4示出了一个实施例中进行缺略代词还原的结构示意图。如图4所示,图4中上部分对缺少了缺略代词的句子“喜欢这块蛋糕吗?很喜欢。你烤的吗?”进行缺略代词还原后,得到“你喜欢这块蛋糕吗?我很喜欢它。你烤的它吗?”可以理解的是,被还原的缺略代词与源文本中其他词之间的位置关系就是本申请中使得缺略词位置信息。相应的,参考图4中的下部分,对缺少了缺略代词的句子“喜欢这块蛋糕吗?很喜欢。你烤的吗?”进行指代消解后,得到“喜欢这块蛋糕吗?很喜欢你烤的吗?”其中,就是用来对初始源文本进行缺略词位置信息补充的指代符,而进行指代消解后得到的“喜欢这块蛋糕吗?很喜欢你烤的吗?”文本就是重构源文本。

源文本具体可以是句子、段落或篇章等文本。源文本可以是中文文本,也可以是日文文本等。在一个实施例中,计算机设备可对源文本进行分词处理后得到的各个词所组成的词序列。其中,对于源文本为中文文本的分词处理,可采用基于词典或基于统计的分词方式。

具体地,计算机设备可直接获取初始源文本和重构源文本,对初始源文本和重构源文本进行分词处理,得到相应的词序列。计算机设备也可接收由其他计算机设备根据初始源文本和重构源文本分别生成的词序列。

在一个实施例中,计算机设备在获取初始源文本的词序列后,可通过词嵌入(wordembedding)处理将离散的词序列转换成连续的空间表示向量序列。再将空间表示向量序列输入至预训练的机器翻译模型的输入层,通过预训练的机器翻译模型执行文本翻译方法,以得到目标文本。

在一个实施例中,计算机设备可通过预训练的缺略代词还原模型对初始源文本标注缺略代词位置信息。首先,计算机设备可根据样本库中的样本源文本和样本参考文本构建平行语料库。采用词对齐算法,借助平行语料中样本源文本和样本参考文本之间代词省略的差异性(比如,汉语句子中代词缺略,而对应的英文句子中代词不缺略),自动标注样本源文本中的缺略代词。这样可以不需要人工标注就可以快速构建大规模的源文本缺略代词语料库,比如“源端汉语-自动补全缺略代词位置的汉语-目标端英语”三元对应语料库。然后,利用此语料库训练基于神经网络的缺略代词还原模型,通过训练好的缺略代词还原模型可以很好的预测初始源文本中缺略代词的位置。这样,计算机设备可在缺代词的位置处添加指代符以得到重构源文本。

s204,对初始源文本进行语义编码,得到与初始源文本对应的源端向量序列。

其中,对初始源文本进行语义编码,是将初始源文本转换为向量的过程。源端向量序列,是指对初始源文本的词序列进行语义编码后得到的向量序列。具体地,计算机设备可对初始源文本进行分词,得到词序列。分别对各词进行语义编码,提取各词的语义特征,将各词转换成向量表示。拼接各词所对应的向量表示,得到源端向量序列。

在一个实施例中,计算机设备可对初始源文本进行分词,得到初始源文本的词序列。计算机设备可通过词嵌入处理将离散的词序列转换成连续的空间表示向量序列。再将空间表示向量序列输入至预训练的机器翻译模型中,通过机器翻译模型中的编码器对与初始源文本对应的空间表示向量序列进行语义编码处理,得到源端向量序列。其中源端向量序列中的每个源端向量分别对应初始源文本的词序列中的各词。

其中,预训练的机器翻译模型采用基于神经网络的sequence-to-sequence(序列-序列)框架。sequence-to-sequence框架是包含encoder-decoder(编码器-解码器)结构的框架。encoder-decoder结构将输入序列转换为另一个序列输出。在该框架中,编码器将输入序列转化成向量,解码器则接受向量并按时间顺序依次生成输出序列。编码器以及解码器可以采用相同类型的神经网络模型,也可以是不同类型的神经网络模型。神经网络模型比如cnn(convolutionalneuralnetworks,卷积神经网络)模型、rnn(recurrentneuralnetworks)模型、长短时记忆模型(longshort-termmemory,lstm)、时延网络模型或闸控卷积神经网络模型等。

在一个实施例中,计算机设备可将初始源文本的词序列输入到机器翻译模型中编码器的输入层,通过编码器中各隐层进行语义编码处理,得到隐层所输出的向量序列。其中,隐层是神经网络模型中的一种术语,是相对于输入层和输出层的中间层,隐层中包括对神经网络模型训练得到的模型参数。这里编码器的隐层是相对于编码器的输入层和编码器的输出层的中间层。编码器的隐层可包括多个神经网络层。这里将编码器的隐层当作“黑盒”进行描述。

举例说明,以初始源文本的词序列为一个长度为m的序列为例,将初始源文本的词序列输入到编码器中进行语义编码,得到词序列中各词对应的向量。编码器的处理过程如下:

计算机设备可以对初始源文本进行分词,得到初始源文本的词序列为x=(x1,x2,...,xm),通过词嵌入方式将词序列转换成连续的空间表示向量,可记为p=(p1,p2,...,pm)。通过编码器的神经网络,对空间表示向量进行语义编码,得到源端向量序列,可记为h=(h1,h2,...,hm)。

s206,依次对源端向量序列进行解码得到目标端向量,且每次解码时根据前次确定的候选目标词的词向量进行解码,并根据当次的目标端向量确定当次的候选目标词。

其中,解码是将向量转换为序列输出的过程。目标端向量,是指对初始源文本对应的源端向量进行解码计算得到的向量。具体地,计算机设备可在要生成当次(也可称作当前时刻)的候选目标词时,获取前次(也可称作前一时刻)所输出候选目标词的词向量,依据前一时刻所输出候选目标词的词向量,对源端向量序列进行解码,得到当前时刻的目标端向量,再根据当前时刻的目标端向量确定当前时刻所输出的候选目标词。这样当前时刻的目标端向量不仅包含了初始源文本的词序列中各词的语义信息,且综合了前一时刻所输出候选目标词的语义信息,可以使得最终生成的目标文本更为连贯,信息量更为丰富。

在一个实施例中,计算机设备可对候选目标词进行词嵌入(wordembedding)处理,以将候选目标词转换成用实数表示的空间表示向量。

在一个实施例中,计算机设备可通过预训练的机器翻译模型中的解码器对源端向量序列进行解码,以得到目标端向量序列。机器翻译模型可将源端向量序列输入到解码器的隐层中计算得到目标端向量。这里解码器的隐层是相对于解码器的输入层和解码器的输出层的中间层。解码器的隐层可包括多个神经网络层。这里将解码器的隐层当做“黑盒”进行描述。在一个实施例中,解码器在初始时刻的隐层状态向量可以是模型训练得到的模型参数,也可以是默认设置的模型参数。

在一个实施例中,计算机设备根据目标端向量确定的候选目标词可以是一个,也可以是多个。具体地,解码器可根据当次(也可称作当前时刻)的目标端向量,计算得到当次(也可称作当前时刻)的输出概率序列。其中,机器翻译模型当次确定的输出概率序列是指在输出端词集中各候选词为当次输出的目标词的概率所组成的序列。进一步地,机器翻译模型可选择输出概率序列中的最大概率所对应的候选词作为当次的候选目标词。计算机设备也可选择输出概率序列中的概率值最大的前几名(比如前十名)所对应的候选词作为当次的候选目标词。

在一个实施例中,解码器可根据当次的目标端向量,确定当次的翻译分数序列。其中,机器翻译模型当次确定的翻译分数序列是指在输出端词集中各候选词所对应的翻译分数的序列。翻译分数用于评价该候选词作为目标词时的翻译准确性。候选词所对应的翻译分数越大,表示该候选词作为目标词的概率越大。进一步地,机器翻译模型可选择翻译分数序列中的最大分数所对应的候选词作为当次的候选目标词。计算机设备也可选择翻译分数序列中的翻译分数最大的前几名(比如前十名)所对应的候选词作为当次的候选目标词。

当候选目标词为多个时,计算机设备可对多个候选词分别进行词嵌入(wordembedding)处理,以将候选目标词转换成用实数表示的空间表示向量。对多个候选词所对应的空间表示向量进行向量的加权处理,得到候选词对应的词向量。在另一个实施例中,计算机设备可从多个候选词中选择输出概率/翻译分数最大的候选目标词、或者从多个候选目标词中随机选择一个候选目标词,将该候选目标词进行词嵌入处理,以将候选目标词转换成用实数表示的空间表示向量。

在一个实施例中,计算机设备可根据以下公式计算各候选目标词对应的翻译分数:其中,yi-1是前次解码器解码得到的候选目标词;si是当次的目标端向量;ci是对源端向量序列进行当次的注意力机制处理后得到的当次的内容向量;g表示softmax函数;π()函数表示连乘运算。

在一个实施例中,步骤s206具体包括:依次获取当次的与源端向量序列对应的注意力分配权重向量;根据注意力分配权重向量、以及源端向量序列,计算得到当次的内容向量;依次根据当次的内容向量、前次的目标端向量、以及前次确定的候选目标词的词向量,计算得到当次的目标端向量,并根据当次的目标端向量确定当次的候选目标词。

在一个实施例中,计算机设备在生成当次(也称当前时刻)的候选目标词之前,可获取当次(也称当前时刻)的与源端向量序列对应的注意力分配权重向量。其中,当次的注意力分配权重向量可根据源端向量序列、以及解码器中前次(前一时刻)的目标端向量序列所确定。具体地,可参考以下公式:ei,j=att(si-1,hj)。其中,i指第i次,j指源端向量序列中第j个向量,αi,j指第i次中源端向量序列中第j个向量所对应的注意力分配权重。将每次源端向量序列中各个向量所对应的注意力分配权重进行拼接,即可得到当次与源端向量序列对应的注意力分配权重向量。

进一步地,计算机设备可根据当次的注意力分配权重向量、以及源端向量序列,计算得到当次的内容向量。举例说明,对于当次的自注意力分配权重向量,可以表示为αi,j={α1,α2,…,αj}。其中,源端向量序列可以表示为h={h1,h2,…,hj},则当次的内容向量可以通过以下公式计算:相应的,对于每一次的内容向量都可以通过上述公式计算得到。

进一步地,计算机设备可依次根据当次的内容向量、前次的目标端向量、以及前次确定的候选目标词的词向量,计算得到当次的目标端向量,并根据当次的目标端向量确定当次的候选目标词。举例说明,对于当次的目标端向量,可以用si表示,前次的候选目标词可以用yi-1表示,当次的内容向量可以用ci表示,则si=f(si-1,yi-1,ci);其中,f()表示激活函数。相应的,对于每一次的目标端向量都可以通过上述公式计算得到。进一步地,可通过以下公式计算确定当次的候选目标词:yi=g(yi-1,si,ci);其中,g()是softmax函数。

可以理解的是,解码器首次解码得到候选目标词的解码方式和后面时刻解码的方式一样,对于首次解码时所需的前一时刻的相应的数据则可以根据经验预设初始值或随机生成初始值,以进行下一步的处理。

可以理解,本申请所使用的“当次”或“当前时刻”用于描述机器翻译模型的解码器进行解码并确定当次的目标词的时刻,“前次”或“前一时刻”用于描述解码器进行解码并确定前次的目标词的时刻。比如,前次为第i-1次,机器翻译模型所输出的目标词则为yi-1;当次为第i次,机器翻译模型所输出的目标词则为yi。并且,当次是一个相对变化的次数,比如,机器翻译模型在输出当次i的下次i+1的目标词时,则可将该下次i+1作为新的当次,将当次i作为新的前次。

上述实施例中,根据当次的注意力分配权重向量、以及源端向量序列,计算得到当次的内容向量,再依次根据当次的内容向量、前次的目标端向量、以及前次确定的候选目标词的词向量,计算得到当次的目标端向量,并根据当次的目标端向量确定当次的候选目标词。这样通过注意力机制处理,可以使得当次的目标端向量包含初始源文本中对当次而言更重要的语义信息,再综合了前次所输出候选目标词的语义信息,可以使得最终生成的目标文本更为连贯,信息量更为丰富。

s208,将依次解码得到的目标端向量构成目标端向量序列。

具体地,计算机设备可按照解码得到目标端向量的顺序,将各目标端向量进行拼接,得到目标端向量序列。

s210,按照重构源文本,对源端向量序列和目标端向量序列进行重构评估处理,得到与各候选目标词对应的重构分数。

其中,重构评估处理是根据源端向量序列和目标端向量序列重构回标注了缺略词位置信息的源文本,并通过和输入的重构源文本进行比较,以评估根据源端向量序列和目标端向量序列重构回的源文本的重构能力。重构分数为衡量缺略代词信息召回程度的分值。

具体地,计算机设备可通过源端向量序列和目标端向量序列,重新构建标注了缺略词位置信息的源文本,此处称作预估重构源文本。通过比较获取的重构源文本与预估重构源文本之间的差异,可以计算得到与各候选目标词对应的重构分数。其中,重构分数用来衡量各候选目标词的翻译质量,重构分数越高,则该候选目标词作为目标词的可能性越高。

在一个实施例中,当每次根据目标端向量序列所确定的候选目标词为多个时,则与各候选目标词对应的重构分数是一个与解码的次数、以及每次解码得到的候选目标词的数量相对应的数值矩阵。

在一个实施例中,可通过预训练的机器翻译模型执行文本翻译方法。计算机设备可将源端向量序列和目标端向量序列输入至机器翻译模型的重构模块中,通过重构模块将编码器端的隐层向量序列和解码器端的隐层向量序列重构回自动标注了缺略词位置信息的源语端句子。这相当于一个自动编码器(auto-encoder)操作,我们假设此过程可以使源端向量序列和目标端向量序列学习到dp(droppedpronoun,缺略代词)位置信息。其中,重构模块可以由深层神经网络所构成。

s212,依据重构分数和各候选目标词,生成目标文本。

其中,目标文本是对初始源文本进行机器翻译得到的文本。目标文本和初始源文本为不同语言的文本。具体地,计算机设备可依据各候选目标词所对应的重构分数,对候选目标词进行拼接,得到目标文本。

在一个实施例中,计算机设备在根据当次的目标端向量,确定当次的候选目标词时,同时确定各候选目标词对应的翻译分数。翻译分数用于评价该候选词作为目标词时的翻译准确性。候选词所对应的翻译分数越大,表示该候选词作为目标词的概率越大。进一步地,计算机设备可通过每次解码生成的候选目标词对应的翻译分数和重构分数,对各候选目标词的翻译分数和重构分数进行加权求和。选择每次解码得到的加权求和的值最大的候选目标词作为目标词。按各目标词生成的顺序拼接目标词得到目标文本。

在一个实施例中,步骤s212具体包括:根据各候选目标词,生成候选目标文本;依据翻译分数和重构分数,从候选目标文本中筛选出与初始源文本对应的目标文本。

具体地,计算机设备在每次解码得到每次的候选目标词后,可以采用beamsearch(集束搜索)的方式,根据候选目标词生成多个候选目标文本。进一步地,计算机设备可根据各候选目标文本中的每个候选目标词对应的翻译分数和重构分数,计算得到各候选目标文本的加权分数。进而选择加权分数最大的候选目标文本作为与初始源文本对应的目标文本。这样,依据翻译分数和重构分数,从候选目标文本中筛选出目标文本,可以极大地缓解源文本中代词缺失的痛点问题,大大提高了翻译的准确性。

参考图5,图5示出了一个实施例中,通过机器翻译模型对初始源文本进行翻译得到目标文本的流程示意图。如图5所示,计算机设备可将初始源文本(sourcesentence)输入至机器翻译模型的编码器-解码器(encoder-decoder)中,得到候选目标文本{cand1,cand2,...,candk},以及候选目标文本所对应的翻译分数{p1,p2,...,pk}。其中,候选目标文本对应的翻译分数可以将候选目标文本中各候选目标词对应的翻译分数进行加法计算得到。再将重构源文本、源端向量序列和目标端向量序列输入至机器翻译模型的重构模块中进行重构评估处理,得到各候选目标词对应的重构分数。相应的,计算机设备可根据候选目标词所对应的重构分数计算各候选目标文本对应的重构分数{r1,r2,...,rk}。计算机设备可对各候选目标文本的翻译分数和重构分数进行加权求和,比如y=r1+λr1,其中,λ为加权系数。通过选择模块将加权求和所得到的结果中最大值所对应的候选目标文本作为目标文本输出。

上述文本翻译方法,通过对初始源文本进行语义编码,得到与初始源文本对应的源端向量序列,再依次对源端向量序列进行解码得到的目标端向量,且每次解码时根据前次确定的候选目标词的词向量进行解码,并根据当次的目标端向量确定当次的候选目标词。可使得解码生成的候选目标词不仅包含了源文本的语义信息,还综合了前次的候选目标词的语义信息,使得最终生成的目标文本更为连贯,翻译结果更准确。将依次解码得到的目标端向量构成目标端向量序列,并按照对初始源文本进行缺略词位置信息补充而得到的重构源文本,对源端向量序列和目标端向量序列进行重构评估处理,得到与各候选目标词对应的重构分数,再依据重构分数和各候选目标词,生成目标文本。这样,通过融合源端和目标端的隐层向量特征可以共享两端的共性信息,在进行重构评估处理时可以减少冗余信息并能避免重要信息的缺失,使得重构分数可以很好的评估候选目标词的翻译质量。这样,依据重构分数和各候选目标词,生成目标文本,可以减少翻译时缺少缺略代词所带来的影响,大大提高了翻译质量。

在一个实施例中,步骤s202,也就是获取初始源文本和重构源文本的步骤具体包括:获取初始源文本;通过预训练的缺略词还原模型确定初始源文本中缺略词的位置;在缺略词的位置处添加指代符以得到重构源文本。

其中,指代符是指代缺略词的符号,比如具体可以是“#dp#”、“&”等符号,用来替代初始源文本中缺少的代词。具体地,计算机设备可通过预训练的缺略词还原模型预测初始源文本中缺略词的位置,再在初始源文本中缺略词的位置处添加指代符以得到重构源文本。

举例说明,对缺少了缺略代词的句子“喜欢这块蛋糕吗?很喜欢。你烤的吗?”进行缺略词位置信息补充后,得到“喜欢这块蛋糕吗?很喜欢你烤的吗?”其中,就是用来对初始源文本进行缺略词位置信息补充的指代符。“喜欢这块蛋糕吗?很喜欢你烤的吗?”就是对初始源文本进行缺略词位置信息补充而得到的重构源文本。

在一个实施例中,计算机设备可通过预训练的缺略代词还原模型对初始源文本标注缺略代词位置信息。首先,计算机设备可根据样本库中的样本源文本和样本参考文本构建平行语料库。采用词对齐算法,借助平行语料中样本源文本和样本参考文本之间代词省略的差异性(比如,汉语句子中代词缺略,而对应的英文句子中代词不缺略),自动标注样本源文本中的缺略代词。这样可以不需要人工标注就可以快速构建大规模的源文本缺略代词语料库,比如“源端汉语-自动补全缺略代词位置的汉语-目标端英语”三元对应语料库。然后,利用此语料库训练基于神经网络的缺略代词还原模型,通过训练好的缺略代词还原模型可以很好的预测初始源文本中缺略代词的位置。这样,计算机设备可在缺代词的位置处添加指代符以得到重构源文本。

根据实验表明,训练机器学习模型,使机器学习模型具有预测缺略词位置信息的能力的模型效果要远远高于使机器学习模型具有还原缺略词能力的模型效果。也就是说,通过训练缺略词还原模型,使得缺略词还原模型能够准确的预测初始源文本中缺略词的位置的准确性很高。这样,通过重构源文本来辅助翻译能进一步提升翻译质量。

上述实施例中,通过预训练的缺略词还原模型确定初始源文本中缺略词的位置,在缺略词的位置处添加指代符以得到重构源文本,可以通过预训练的缺略词还原模型快速准确的构建重构源文本。

在一个实施例中,该文本翻译方法还包括对源端向量序列和目标端向量序列分别进行注意力机制处理的步骤,该步骤具体包括:获取与源端向量序列对应的源端注意力分配权重向量;根据源端注意力分配权重向量、以及源端向量序列,计算得到源端内容向量;获取与目标端向量序列对应的目标端注意力分配权重向量;根据目标端注意力分配权重向量、以及目标端向量序列,计算得到目标端内容向量。步骤s210也就是按照重构源文本,对源端向量序列和目标端向量序列进行重构评估处理,得到与各候选目标词对应的重构分数的步骤包括:按照重构源文本,对源端内容向量和目标端内容向量进行重构评估处理,得到与各候选目标词对应的重构分数。

在一个实施例中,计算机设备对源端向量序列、以及目标端向量序列进行注意力机制处理的过程中可采用独立注意力机制处理或交叉注意力机制处理。其中独立注意力机制处理是指对源端向量序列、以及目标端向量序列进行注意力机制处理的注意力权重各自独立计算;交叉注意力机制处理是指对源端向量序列、以及目标端向量序列进行注意力机制处理的注意力权重交叉计算。

在一个实施例中,获取与源端向量序列对应的源端注意力分配权重向量的步骤具体包括:对重构源文本中当前词的前一词的词向量、重构模块所输出的与重构源文本中前一词对应的隐层状态向量、以及源端向量序列进行注意力机制处理,得到与源端向量序列对应的源端注意力分配权重向量;或,对重构源文本中当前词的前一词的词向量、重构模块所输出的与重构源文本中前一词对应的隐层状态向量、源端向量序列、以及目标端内容向量进行注意力机制处理,得到与源端向量序列对应的源端注意力分配权重向量。

在一个实施例中,获取与目标端向量序列对应的目标端注意力分配权重向量的步骤包括:对重构源文本中当前词的前一词的词向量、重构模块所输出的与重构源文本中前一词对应的隐层状态向量、以及目标端向量序列进行注意力机制处理,得到与目标端向量序列对应的目标端注意力分配权重向量;或,对重构源文本中当前词的前一词的词向量、重构模块所输出的与重构源文本中前一词对应的隐层状态向量、目标端向量序列、以及源端内容向量进行注意力机制处理,得到与目标端向量序列对应的目标端注意力分配权重向量。

在一个实施例中,以重构文本的词序列的词数为次数基准,当计算机设备对重构源文本中当前词的前一词的词向量、重构模块所输出的与重构源文本中前一词对应的隐层状态向量、以及源端向量序列进行注意力机制处理,得到当次的与源端向量序列对应的源端注意力分配权重向量;且对重构源文本中当前词的前一词的词向量、重构模块所输出的与重构源文本中前一词对应的隐层状态向量、以及目标端向量序列进行注意力机制处理,得到当次的与目标端向量序列对应的目标端注意力分配权重向量时,就可认为计算机设备对源端向量序列、以及目标端向量序列进行独立注意力机制处理。

举例说明,计算机设备可采用以下公式计算得到源端注意力分配权重:其中,att表示注意力机制处理;表示重构源文本中的第i-1个词的词向量;表示与重构源文本中的第i-1个词的词向量对应的隐层状态向量,也就是重构模块所输出的隐层状态向量;表示各源端向量。计算机设备可采用以下公式计算得到目标端注意力分配权重:其中,att表示注意力机制处理;表示重构源文本中的第i-1个词的词向量;表示与重构源文本中的第i-1个词的词向量对应的隐层状态向量,也就是重构模块所输出的隐层状态向量;表示各目标端向量。

在一个实施例中,以重构文本的词序列的词数为次数基准,当计算机设备对重构源文本中当前词的前一词的词向量、重构模块所输出的与重构源文本中前一词对应的隐层状态向量、以及源端向量序列进行注意力机制处理,得到当次的与源端向量序列对应的源端注意力分配权重向量;且目标端对重构源文本中当前词的前一词的词向量、重构模块所输出的与重构源文本中前一词对应的隐层状态向量、目标端向量序列、以及源端内容向量进行注意力机制处理,得到当次的与目标端向量序列对应的目标端注意力分配权重向量时,就可认为计算机设备对源端向量序列、以及目标端向量序列进行交叉注意力机制处理。

举例说明,计算机设备可采用以下公式计算得到源端注意力分配权重:其中,att表示注意力机制处理;表示重构源文本中的第i-1个词的词向量;表示与重构源文本中的第i-1个词的词向量对应的隐层状态向量,也就是重构模块所输出的隐层状态向量;表示各源端向量。计算机设备可采用以下公式计算得到目标端注意力分配权重:其中,att表示注意力机制处理;表示重构源文本中的第i-1个词的词向量;表示与重构源文本中的第i-1个词的词向量对应的隐层状态向量,也就是重构模块所输出的隐层状态向量;表示各目标端向量;·表示向量点乘运算。

在一个实施例中,以重构文本的词序列的词数为次数基准,当计算机设备对重构源文本中当前词的前一词的词向量、重构模块所输出的与重构源文本中前一词对应的隐层状态向量、源端向量序列、以及目标端内容向量进行注意力机制处理,得到当次的与源端向量序列对应的源端注意力分配权重向量;且对重构源文本中当前词的前一词的词向量、重构模块所输出的与重构源文本中前一词对应的隐层状态向量、以及目标端向量序列进行注意力机制处理,得到当次的与目标端向量序列对应的目标端注意力分配权重向量时,就可认为计算机设备对源端向量序列、以及目标端向量序列进行交叉注意力机制处理。

举例说明,计算机设备可采用以下公式计算得到源端注意力分配权重:其中,att表示注意力机制处理;表示重构源文本中的第i-1个词的词向量;表示与重构源文本中的第i-1个词的词向量对应的隐层状态向量,也就是重构模块所输出的隐层状态向量;表示各源端向量;表示各目标端向量;表示目标端注意力分配权重;·表示向量点乘运算。计算机设备可采用以下公式计算得到目标端注意力分配权重:其中,att表示注意力机制处理;表示重构源文本中的第i-1个词的词向量;表示与重构源文本中的第i-1个词的词向量对应的隐层状态向量,也就是重构模块所输出的隐层状态向量;表示各目标端向量。

在一个实施例中,以重构文本的词序列的词数为次数基准,当计算机设备对重构源文本中当前词的前一词的词向量、重构模块所输出的与重构源文本中前一词对应的隐层状态向量、源端向量序列、以及目标端内容向量进行注意力机制处理,得到当次的与源端向量序列对应的源端注意力分配权重向量;且且目标端对重构源文本中当前词的前一词的词向量、重构模块所输出的与重构源文本中前一词对应的隐层状态向量、目标端向量序列、以及源端内容向量进行注意力机制处理,得到当次的与目标端向量序列对应的目标端注意力分配权重向量时,就可认为计算机设备对源端向量序列、以及目标端向量序列进行交叉注意力机制处理。

举例说明,计算机设备可采用以下公式计算得到源端注意力分配权重:其中,att表示注意力机制处理;表示重构源文本中的第i-1个词的词向量;表示与重构源文本中的第i-1个词的词向量对应的隐层状态向量,也就是重构模块所输出的隐层状态向量;表示各源端向量;表示各目标端向量;表示目标端注意力分配权重;·表示向量点乘运算。计算机设备可采用以下公式计算得到目标端注意力分配权重:其中,att表示注意力机制处理;表示重构源文本中的第i-1个词的词向量;表示与重构源文本中的第i-1个词的词向量对应的隐层状态向量,也就是重构模块所输出的隐层状态向量;表示各目标端向量;·表示向量点乘运算。

上述实施例中,通过独立或交叉的关注机制处理源端向量序列和目标端向量序列,可更好地利用源端和目标端的共性知识,能更好的共享源端和目标端的隐层特征,提高文本翻译的准确性。

进一步地,当分别确定了当次的源端注意力分配权重向量和当次的目标端注意力分配权重向量时,可根据源端注意力分配权重向量、以及源端向量序列,计算得到当次的源端内容向量;根据目标端注意力分配权重向量、以及目标端向量序列,计算得到当次的目标端内容向量。

在一个实施例中,计算机设备可通过以下公式计算当次的源端内容向量:其中,表示各源端向量;表示源端注意力分配权重;·表示向量点乘运算。计算机设备可通过以下公式计算当次的目标端内容向量:其中,表示各目标端向量;表示目标端注意力分配权重;·表示向量点乘运算。

进一步地,计算机设备在计算得到当次的源端内容向量和当次的目标端内容向量后,可按照重构源文本,对源端内容向量和目标端内容向量进行重构评估处理,得到与各候选目标词对应的重构分数。

在一个实施例中,计算机设备可根据重构源文本中当前词的前一词的词向量、与重构源文本中前一词对应的隐层状态向量、源端语义向量、以及目标端语义向量,计算得到与重构源文本中当前词对应的隐层状态向量;根据与重构源文本中当前词对应的隐层状态向量、重构源文本中当前词的前一词的词向量、源端语义向量、以及目标端语义向量,计算得到与重构源文本中当前词所对应的重构分数;对与重构源文本中各词所对应的重构分数进行连乘运算,得到与各候选目标词对应的重构分数。

在一个实施例中,计算机设备可通过以下公式计算与重构源文本中当前词对应的隐层状态向量:其中,fr()为激活函数;表示重构源文本中的第i-1个词向量;表示与重构源文本中的第i个词向量对应的隐层状态向量序列;表示当次的源端内容向量;表示当次的目标端内容向量。

在一个实施例中,计算机设备可通过以下公式计算得到与各候选目标词对应的重构分数:其中,gr()为归一化函数;表示重构源文本中的第i-1个词向量;表示与重构源文本中的第i个词向量对应的隐层状态向量序列;表示当次的源端内容向量;表示当次的目标端内容向量;π()表示连乘运算。

在一个实施例中,参考图6,图6示出了一个实施例中,通过包括编码器-解码器结构的机器翻译模型进行文本翻译的流程示意图。首先将初始源文本(也就是输入句子)输入机器翻译模型的编码器中,通过编码器模块输出源端向量序列。再将源端向量序列输入注意力模块,通过注意力机制处理模块对源端向量序列进行注意力机制处理,得到当次的源端内容向量,也就是当前时刻的源端上下文。再将当前时刻的源端上下文输入机器翻译模型的解码器中,通过解码器模块对当前时刻的源端上下文进行解码处理,输出当前时刻的目标端向量。依次重复上述步骤,直到与初始源文本对应的目标端向量序列。将源端向量序列、目标端向量序列、以及重构源文本输入至机器翻译模型的重构模型,通过重构模块处理源端向量序列、目标端向量序列,得到重构向量序列,通过比较重构向量序列和重构源文本之间的差异,得到重构分数。最后依据重构分数和目标端向量序列,生成目标文本。

上述实施例中,通过对分别对源端向量序列和目标端向量序列进行注意力机制处理,得到对应的源端内容向量和目标端内容向量,再按照重构源文本,对源端内容向量和目标端内容向量进行重构评估处理,可以得到融合了源端和目标端信息的更准确的重构分数,使得重构分数能很好的衡量源端向量序列和目标端向量序列与重构源文本之间的相似关系,进而可以通过重构分数辅助生成准确的目标文本。

在一个实施例中,文本翻译方法通过机器翻译模型执行,机器翻译模型的训练步骤包括:

s702,获取初始样本源文本、参考目标文本、以及重构样本源文本;重构样本源文本是对初始样本源文本进行缺略词位置信息补充而得到的源文本。

其中,初始样本源文本、参考目标文本、以及重构样本源文本为训练数据。重构样本源文本是对初始样本源文本进行缺略词位置信息补充而得到的源文本。具体地,计算机设备可从多个公开数据集中获取“样本源文本-重构样本源文本-参考目标文本”的三元对应语料作为训练数据。

在一个实施例中,计算机设备可通过预训练的缺略词还原模型确定初始样本源文本中缺略词的位置,并在缺略词的位置处添加指代符以得到重构样本源文本。

s704,将初始样本源文本输入机器翻译模型中进行训练,得到预测目标文本。

具体地,计算机设备可将初始样本源文本的词序列输入到机器翻译模型中,根据机器翻译模型执行上述文本翻译方法,得到预测目标文本。计算机设备可朝着减小预测目标文本和参考目标文本之间的差异的方向,调整模型参数。这样,通过不断的输入初始样本源文本的词序列,得到预测目标文本,根据预测目标文本和参考目标文本之间的差异调整模型参数,以训练机器翻译模型。

s706,依据参考目标文本和预测目标文本构建最大似然函数。

其中,最大似然函数用于评估参考目标文本与预测目标文本之间的差异程度。最大似然函数承担了训练得到好的机器翻译模型的责任,使模型生成语法正确、文字流畅的目标文本。

在一个实施例中,可通过以下公式构建最大似然函数:其中,argmax是表示寻找具有最大值的参量的函数,就是求使得logp(yn|xn;θ)的值最大时的θ值。是模型训练中的训练样本对。log为对数函数,∑()为叠加运算,θ为模型参数。

s708,通过机器翻译模型,获取与初始样本源文本对应的源端样本向量序列、以及目标端样本向量序列。

具体地,计算机设备可将初始样本源文本的词序列输入至机器翻译模型,通过机器翻译模型中的编码器对初始样本源文本进行语义编码,得到与初始样本源文本对应的源端样本向量序列。通过机器翻译模型的解码器,依次对源端样本向量序列进行解码得到目标端样本向量,且每次解码时根据前次确定的候选目标词的词向量进行解码,并根据当次的目标端样本向量确定当次的候选目标词。将依次解码得到的目标端样本向量拼接成目标端样本向量序列。

s710,依据重构样本源文本、源端样本向量序列、以及目标端样本向量序列构建重构评估函数。

其中,重构评估函数用来衡量缺略代词信息召回程度,可以辅助机器翻译模型和重构模块更好的学习关于缺略词位置信息的隐层表示。具体地,计算机设备可将源端样本向量序列和目标端样本向量序列输入至机器翻译模型的重构模块中,通过重构模块将编码器端的隐层序列和解码器端的隐层序列重构回自动标注了缺略词位置信息的源语端句子。这相当于一个自动编码器(auto-encoder)操作,我们假设此过程可以使源端样本向量序列和目标端样本向量序列学习到dp(droppedpronoun,缺略代词)位置信息。通过获取的重构样本源文本与预估重构源文本之间的差异,构建重构评估函数。

在一个实施例中,可通过以下公式构建重构评估函数:

为归一化函数和激活函数;表示重构样本源文本中的第i-1个词的词向量;表示与重构样本源文本中的第i个词的向量对应的隐层状态向量序列;hj表示各源端向量或目标端向量;表示源端注意力分配权重或目标端注意力分配权重;·表示点乘运算。

s712,根据最大似然函数和重构评估函数,确定目标函数。

具体地,计算机设备可对最大似然函数和重构评估函数进行加权求和,将加权求和函数作为机器翻译模型的目标函数。机器翻译模型可通过以下公式得到各个样本的目标函数:j=jlikelihood+λjreconstruction。其中,其中,λ是加权系数。

在一个实施例中,可通过以下函数表示目标函数:

其中,θ和γ分别是模型参数;[x,y]是模型训练中的训练样本对;gr()和fr()分别为归一化函数和激活函数;表示重构样本源文本中的第i-1个词的词向量;表示与重构样本源文本中的第i个词的词向量对应的隐层状态向量序列;hj表示各源端样本向量或目标端样本向量;表示源端注意力分配权重或目标端注意力分配权重;·表示向量点乘运算。

s714,将目标函数最大化时的模型参数作为机器翻译模型的模型参数,返回将初始样本源文本输入机器翻译模型中进行训练,得到预测目标文本的步骤继续训练,直至满足训练停止条件时停止训练。

其中,训练停止条件是结束模型训练的条件。训练停止条件可以是达到预设的迭代次数,或者是调整模型参数后的机器翻译模型的性能指标达到预设指标。调整机器翻译模型的模型参数,是对机器翻译模型的模型参数进行调整。

具体地,对于每个样本序列对应的目标函数,取目标函数最大时的模型参数作为机器翻译模型的模型参数,然后在该模型参数的基础上对下一个样本序列进行预测,以对模型参数继续进行训练,直至满足训练停止条件时停止训练。

在一个实施例中,参考图8,图8示出了通过采用最大似然函数和重构评估函数的加权和函数作为目标函数而训练得到的机器翻译模型,对源端向量序列和目标端向量序列进行共享重构处理的结构示意图。如图8所示,将与源端x“你烤的吗?”对应的源端向量序列,以及目标端y“didyoubakeit”对应的目标端向量序列输入至机器翻译模型的重构模块中,通过重构模块重构回添加了缺略词位置信息的预测重构源文本“你烤的#dp#吗?”相应的重构隐层状态向量。进而重构模块通过预测重构源文本与重构源文本之间的差异计算得到重构分数,用于辅助衡量编码器和解码器对缺略代词的还原能力。

机器翻译模型引入额外的共享式重构层(也就是重构模块),其输入为编码器端和解码器端的隐层状态向量序列和自动标注缺略词位置信息的源端句子,输出为共享重构分数。训练时,重构分数与最大似然估计线性叠加一起优化,使源端向量序列和目标端向量序列可以共享地学习到缺略代词的位置信息。

上述实施例中,在训练模型的过程中,训练的目标不仅仅考虑最大似然,还考虑了源端向量序列和目标端向量序列共享的对隐含的代词的总结能力,合并两个学习目标可以统一地加强整体翻译质量,并且有效地引导参数朝还原缺略词的方向调整,使得训练得到的机器翻译模型具有更高的翻译准确性。

在一个实施例中,机器翻译模型的训练步骤还包括:获取与初始样本源文本对应的样本缺略词序列;通过机器翻译模型的重构模块对源端样本向量序列、以及目标端样本向量序列进行缺略词重构处理,得到与样本缺略词序列对应的隐层状态向量序列;根据样本缺略词序列和隐层状态向量序列构建缺略词还原函数。步骤s712,也就是根据最大似然函数和重构评估函数,确定目标函数的步骤具体包括:根据最大似然函数、重构评估函数、以及缺略词还原函数,确定目标函数。

其中,与初始样本源文本对应的样本缺略词序列是由初始样本源文本中缺少的缺略词所组成的序列。缺略词还原函数用来衡量缺略代词还原程度,可以辅助机器翻译模型和重构模块更好的预测缺略词的词信息。

在一个实施例中,计算机设备可对初始样本源文本和参考目标文本进行词对齐处理,依据参考目标文本还原初始样本源文本中所缺少的缺略词。或者,计算机设备可根据初始样本源文本的语言环境,人工还原初始样本源文本中所缺少的缺略词。计算机设备可将初始源文本中缺少的词按顺序拼接成样本缺略词序列。

进一步地,计算机设备可将源端样本向量序列、以及目标端样本向量序列输入至机器翻译模型的重构模块中,以进行缺略词重构处理,得到与样本缺略词序列对应的隐层状态向量序列。重构模块可根据重构样本源文本与预估重构源文本之间的差异,构建重构评估函数,并根据预估重构源文本在指定位置上的缺略词进行分类处理,预测还原在指定位置上的缺略词本身。计算机设备根据样本缺略词序列和隐层状态向量序列构建缺略词还原函数。

在一个实施例中,计算机设备通过以下公式构建缺略词还原函数:

其中,θ、γ和τ分别是模型参数;dp={dp1,dp2,…,dpd}是样本缺略词序列;是与样本缺略词序列对应的重构模块所输出的隐层状态向量序列;gp()是归一化函数。

进一步地,计算机设备可将最大似然函数、重构评估函数、以及缺略词还原函数的加权和函数作为机器翻译模型的目标函数。具体地,计算机设备可分别对最大似然函数、重构评估函数、以及缺略词还原函数进行加权求和,将加权求和函数作为机器翻译模型的目标函数。

在一个实施例中,计算机设备可通过以下公式得到各个样本的目标函数:j=jlikelihood+λjreconstruction+τjpredicition。其中,其中,λ和τ分别是加权系数。具体地,计算机设备可通过以下公式表示目标函数:

其中,

其中,dp={dp1,dp2,…,dpd}是样本缺略词序列;是与样本缺略词序列对应的隐层状态向量序列;gp()是归一化函数。

进而,在机器翻译模型的训练过程中,计算机设备可对于每个样本序列对应的目标函数,取目标函数最大时的模型参数作为机器翻译模型的模型参数,然后在该模型参数的基础上对下一个样本序列进行预测,以对模型参数继续进行训练,直至满足训练停止条件时停止训练。

在一个实施例中,参考图9,图9示出了通过采用最大似然函数、重构评估函数、以及缺略词还原函数的加权和函数为目标函数训练机器翻译模型时,对源端向量序列和目标端向量序列进行共享重构处理的结构示意图。如图9所示,将与源端x“你烤的吗?”对应的源端向量序列,以及目标端y“didyoubakeit”对应的目标端向量序列输入至机器翻译模型的重构模块中,通过重构模块重构回添加了缺略词位置信息的预测重构源文本“你烤的#dp#吗?”相应的重构隐层状态向量,以及根据重构隐层状态向量预测缺少的缺略词“它”。

参考图10,图10示出了一个实施例中通过重构模块将源端向量序列和目标端向量序列重构回含缺略代词的文本的结构示意图。如图10所示,源端向量序列可以表示成{v1,v2,...,vt};对于解码器,每一时刻对源端向量序列进行注意力机制处理后得到的内容向量序列记为相应的,每一时刻解码器根据内容向量解码得到的目标端向量序列记为重构模块根据内容向量序列和目标端向量序列重构成补全了缺略词的源文本

进而,计算机设备可根据预测目标文本、预测重构源文本、以及预测缺少的缺略词与样本之间的差异,调整模型参数以训练机器翻译模型。通过将最大似然函数、重构评估函数、以及缺略词还原函数的加权和函数作为机器翻译模型的目标函数而训练得到的机器翻译模型,引入了联合学习的思想,一方面重构模块可共享源端和目标端的隐层状态向量,重构回标注缺略词位置信息的源端句子,另一方面利用重构模块预测缺略词的词表层信息。训练时,重构分数、最大似然估计和缺略词还原损失线性叠加一起优化,使机器翻译模型不仅可以学习到缺略词的位置信息,更具备还原缺略词的词表层的还原能力。当通过上述方法训练得到的机器翻译模型在使用过程中,对于重构模块,输入为隐层状态向量序列和含缺略代词的句子,输出为衡量缺略代词信息召回程度的重构分数。

在一个实施例中,本申请提供的依据机器翻译模型实施的各种实施例,一方面共享编码器端和解码器端的隐层状态向量信息,另一方面可以对缺略代词的词表层还原任务和翻译任务进行统一建模。这样基于共享重构机制的缺略代词还原与神经网络机器翻译联合学习的文本翻译方法,进一步增强了机器翻译模型对缺略代词的关注和学习能力,从而进一步提高翻译质量。

本申请提供的方法可以用在所有主流神经网络机器翻译系统中,比如,rnn模型或transformer(变压器)框架系统,并适用于所有代词缺略语言到非代词缺略语言的翻译任务(如,日语到英语、阿拉伯语到英语等)。并且,本申请各种实施例在文本翻译上,翻译质量都有显著提升。

上述实施例中,在训练模型的过程中,训练的目标不仅仅考虑最大似然和重构分数,还考虑了缺略词还原损失,将重构分数、最大似然估计和缺略词还原损失线性叠加一起优化,使机器翻译模型不仅可以学习到缺略词的位置信息,更具备还原缺略词的词表层的还原能力,使得训练得到的机器翻译模型具有更高的翻译准确性。

如图11所示,在一个具体的实施例中,文本翻译方法包括以下步骤:

s1102,获取初始源文本。

s1104,通过预训练的缺略词还原模型确定初始源文本中缺略词的位置。

s1106,在缺略词的位置处添加指代符以得到重构源文本。

s1108,对初始源文本进行语义编码,得到与初始源文本对应的源端向量序列。

s1110,依次获取当次的与源端向量序列对应的注意力分配权重向量。

s1112,根据注意力分配权重向量、以及源端向量序列,计算得到当次的内容向量。

s1114,依次根据当次的内容向量、前次的目标端向量、以及前次确定的候选目标词的词向量,计算得到当次的目标端向量,并根据当次的目标端向量确定当次的候选目标词、以及候选目标词对应的翻译分数。

s1116,将依次解码得到的目标端向量构成目标端向量序列。

s1118,获取与源端向量序列对应的源端注意力分配权重向量。

s1120,根据源端注意力分配权重向量、以及源端向量序列,计算得到源端内容向量。

s1122,获取与目标端向量序列对应的目标端注意力分配权重向量。

s1124,根据目标端注意力分配权重向量、以及目标端向量序列,计算得到目标端内容向量。

s1126,根据重构源文本中当前词的前一词的词向量、与重构源文本中前一词对应的隐层状态向量、源端语义向量、以及目标端语义向量,计算得到与重构源文本中当前词对应的隐层状态向量。

s1128,根据与重构源文本中当前词对应的隐层状态向量、重构源文本中当前词的前一词的词向量、源端语义向量、以及目标端语义向量,计算得到与重构源文本中当前词所对应的重构分数。

s1130,对与重构源文本中各词所对应的重构分数进行连乘运算,得到与各候选目标词对应的重构分数。

s1132,根据各候选目标词,生成候选目标文本。

s1134,依据翻译分数和重构分数,从候选目标文本中筛选出与初始源文本对应的目标文本。

上述文本翻译方法,通过对初始源文本进行语义编码,得到与初始源文本对应的源端向量序列,再依次对源端向量序列进行解码得到的目标端向量,且每次解码时根据前次确定的候选目标词的词向量进行解码,并根据当次的目标端向量确定当次的候选目标词。可使得解码生成的候选目标词不仅包含了源文本的语义信息,还综合了前次的候选目标词的语义信息,使得最终生成的目标文本更为连贯,翻译结果更准确。将依次解码得到的目标端向量构成目标端向量序列,并按照对初始源文本进行缺略词位置信息补充而得到的重构源文本,对源端向量序列和目标端向量序列进行重构评估处理,得到与各候选目标词对应的重构分数,再依据重构分数和各候选目标词,生成目标文本。这样,通过融合源端和目标端的隐层向量特征可以共享两端的共性信息,在进行重构评估处理时可以减少冗余信息并能避免重要信息的缺失,使得重构分数可以很好的衡量缺略词信息的召回程度。这样,依据重构分数和各候选目标词,生成目标文本,可以减少翻译时缺少缺略代词所带来的影响,大大提高了翻译质量。

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

如图12所示,在一个实施例中,提供了一种文本翻译装置1200,包括:获取模块1201、编码模块1202、解码模块1203、拼接模块1204、重构模块1205和生成模块1206。

获取模块1201,用于获取初始源文本和重构源文本;重构源文本是对初始源文本进行缺略词位置信息补充而得到的源文本。

编码模块1202,用于对初始源文本进行语义编码,得到与初始源文本对应的源端向量序列。

解码模块1203,用于依次对源端向量序列进行解码得到目标端向量,且每次解码时根据前次确定的候选目标词的词向量进行解码,并根据当次的目标端向量确定当次的候选目标词。

拼接模块1204,用于将依次解码得到的目标端向量构成目标端向量序列。

重构模块1205,用于按照重构源文本,对源端向量序列和目标端向量序列进行重构评估处理,得到与各候选目标词对应的重构分数。

生成模块1206,用于依据重构分数和各候选目标词,生成目标文本。

在一个实施例中,获取模块1201还用于获取初始源文本;通过预训练的缺略词还原模型确定初始源文本中缺略词的位置;在缺略词的位置处添加指代符以得到重构源文本。

在一个实施例中,解码模块1203还用于依次获取当次的与源端向量序列对应的注意力分配权重向量;根据注意力分配权重向量、以及源端向量序列,计算得到当次的内容向量;依次根据当次的内容向量、前次的目标端向量、以及前次确定的候选目标词的词向量,计算得到当次的目标端向量,并根据当次的目标端向量确定当次的候选目标词。

在一个实施例中,文本翻译装置1200还包括注意力机制处理模块1207,注意力机制处理模块1207用于获取与源端向量序列对应的源端注意力分配权重向量;根据源端注意力分配权重向量、以及源端向量序列,计算得到源端内容向量;获取与目标端向量序列对应的目标端注意力分配权重向量;根据目标端注意力分配权重向量、以及目标端向量序列,计算得到目标端内容向量。重构模块1205还用于按照重构源文本,对源端内容向量和目标端内容向量进行重构评估处理,得到与各候选目标词对应的重构分数。

在一个实施例中,重构模块1205还用于根据重构源文本中当前词的前一词的词向量、与重构源文本中前一词对应的隐层状态向量、源端语义向量、以及目标端语义向量,计算得到与重构源文本中当前词对应的隐层状态向量;根据与重构源文本中当前词对应的隐层状态向量、重构源文本中当前词的前一词的词向量、源端语义向量、以及目标端语义向量,计算得到与重构源文本中当前词所对应的重构分数;对与重构源文本中各词所对应的重构分数进行连乘运算,得到与各候选目标词对应的重构分数。

在一个实施例中,注意力机制处理模块1207还用于对重构源文本中当前词的前一词的词向量、重构模块所输出的与重构源文本中前一词对应的隐层状态向量、以及源端向量序列进行注意力机制处理,得到与源端向量序列对应的源端注意力分配权重向量;或,对重构源文本中当前词的前一词的词向量、重构模块所输出的与重构源文本中前一词对应的隐层状态向量、源端向量序列、以及目标端内容向量进行注意力机制处理,得到与源端向量序列对应的源端注意力分配权重向量。

在一个实施例中,注意力机制处理模块1207还用于对重构源文本中当前词的前一词的词向量、重构模块所输出的与重构源文本中前一词对应的隐层状态向量、以及目标端向量序列进行注意力机制处理,得到与目标端向量序列对应的目标端注意力分配权重向量;或,对重构源文本中当前词的前一词的词向量、重构模块所输出的与重构源文本中前一词对应的隐层状态向量、目标端向量序列、以及源端内容向量进行注意力机制处理,得到与目标端向量序列对应的目标端注意力分配权重向量。

在一个实施例中,解码模块1203还用于根据当次的目标端向量,确定当次的候选目标词、以及候选目标词对应的翻译分数。生成模块1206还用于根据各候选目标词,生成候选目标文本;依据翻译分数和重构分数,从候选目标文本中筛选出与初始源文本对应的目标文本。

在一个实施例中,参考图13,文本翻译装置还包括训练模块1208,训练模块1208用于获取初始样本源文本、参考目标文本、以及重构样本源文本;重构样本源文本是对初始样本源文本进行缺略词位置信息补充而得到的源文本;将初始样本源文本输入机器翻译模型中进行训练,得到预测目标文本;依据参考目标文本和预测目标文本构建最大似然函数;通过机器翻译模型,获取与初始样本源文本对应的源端样本向量序列、以及目标端样本向量序列;依据重构样本源文本、源端样本向量序列、以及目标端样本向量序列构建重构评估函数;根据最大似然函数和重构评估函数,确定目标函数;将目标函数最大化时的模型参数作为机器翻译模型的模型参数,返回将初始样本源文本输入机器翻译模型中进行训练,得到预测目标文本的步骤继续训练,直至满足训练停止条件时停止训练。

在一个实施例中,训练模块1208还用于将最大似然函数和重构评估函数的加权和函数作为机器翻译模型的目标函数;其中,通过以下公式表示目标函数:

其中,θ和γ分别是模型参数;[x,y]是模型训练中的训练样本对;gr()和fr()分别为归一化函数和激活函数;表示重构样本源文本中的第i-1个词的词向量;表示与重构样本源文本中的第i个词的词向量对应的隐层状态向量序列;hj表示各源端样本向量或目标端样本向量;表示源端注意力分配权重或目标端注意力分配权重;·表示向量点乘运算。

在一个实施例中,训练模块1208还用于获取与初始样本源文本对应的样本缺略词序列;通过机器翻译模型的重构模块对源端样本向量序列、以及目标端样本向量序列进行缺略词重构处理,得到与样本缺略词序列对应的隐层状态向量序列;根据样本缺略词序列和隐层状态向量序列构建缺略词还原函数;根据最大似然函数、重构评估函数、以及缺略词还原函数,确定目标函数。

在一个实施例中,训练模块1208还用于将最大似然函数、重构评估函数、以及缺略词还原函数的加权和函数作为机器翻译模型的目标函数;其中,通过以下公式表示目标函数:

其中,θ、γ和τ分别是模型参数;dp={dp1,dp2,…,dpd}是样本缺略词序列;是与样本缺略词序列对应的隐层状态向量序列;gp()是归一化函数。

上述文本翻译装置,通过对初始源文本进行语义编码,得到与初始源文本对应的源端向量序列,再依次对源端向量序列进行解码得到的目标端向量,且每次解码时根据前次确定的候选目标词的词向量进行解码,并根据当次的目标端向量确定当次的候选目标词。可使得解码生成的候选目标词不仅包含了源文本的语义信息,还综合了前次的候选目标词的语义信息,使得最终生成的目标文本更为连贯,翻译结果更准确。将依次解码得到的目标端向量构成目标端向量序列,并按照对初始源文本进行缺略词位置信息补充而得到的重构源文本,对源端向量序列和目标端向量序列进行重构评估处理,得到与各候选目标词对应的重构分数,再依据重构分数和各候选目标词,生成目标文本。这样,通过融合源端和目标端的隐层向量特征可以共享两端的共性信息,在进行重构评估处理时可以减少冗余信息并能避免重要信息的缺失,使得重构分数可以很好的衡量缺略词信息的召回程度。这样,依据重构分数和各候选目标词,生成目标文本,可以减少翻译时缺少缺略代词所带来的影响,大大提高了翻译质量。

图14示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110或服务器120。如图14所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现文本翻译方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行文本翻译方法。

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

在一个实施例中,本申请提供的文本翻译装置可以实现为一种计算机程序的形式,计算机程序可在如图14所示的计算机设备上运行。计算机设备的存储器中可存储组成该文本翻译装置的各个程序模块,比如,图12所示的获取模块、编码模块、解码模块、拼接模块、重构模块和生成模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的文本翻译方法中的步骤。

例如,图14所示的计算机设备可以通过如图12所示的文本翻译装置中的获取模块执行步骤s202。计算机设备可通过编码模块执行步骤s204。计算机设备可通过解码模块执行步骤s206。计算机设备可通过拼接模块执行步骤s208。计算机设备可通过重构模块执行步骤s210。计算机设备可通过生成模块执行步骤s212。

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

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

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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