CN109271646B - 文本翻译方法、装置、可读存储介质和计算机设备 - Google Patents
文本翻译方法、装置、可读存储介质和计算机设备 Download PDFInfo
- Publication number
- CN109271646B CN109271646B CN201811026196.6A CN201811026196A CN109271646B CN 109271646 B CN109271646 B CN 109271646B CN 201811026196 A CN201811026196 A CN 201811026196A CN 109271646 B CN109271646 B CN 109271646B
- Authority
- CN
- China
- Prior art keywords
- layer
- neural network
- vector sequence
- output
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及一种文本翻译方法、装置、计算机可读存储介质和计算机设备,所述方法包括:获取源文本的词序列;通过机器翻译模型中编码器的多层神经网络,逐层对所述词序列进行语义编码,得到源端融合向量序列;所述源端融合向量序列融合了各层神经网络所输出的源端向量序列;通过所述机器翻译模型的解码器,根据所述机器翻译模型前次输出的目标词的词向量,对所述源端融合向量序列进行解码,得到当次的目标端向量序列;根据所述目标端向量序列,确定所述机器翻译模型当次输出的目标词;根据所述机器翻译模型输出的各目标词,生成所述源文本对应的目标文本。本申请提供的方案可以提高文本翻译质量。
Description
技术领域
本申请涉及机器学习技术领域,特别是涉及一种文本翻译方法、装置、计算机可读存储介质和计算机设备。
背景技术
随着机器学习技术的发展,出现了机器翻译技术。在现有的机器翻译领域,通常采用深层神经网络来进行文本翻译,常用的深层神经网络比如,循环神经网络、卷积神经网络、以及自注意力机制网络等。传统的通过神经网络模型来进行文本翻译,通常会使用编码-解码框架,也就是根据由多层神经网络构成的编码器、以及由多层神经网络构成的解码器而组成的框架。
然而,使用传统的神经网络翻译框架来进行文本翻译,通常仅仅利用了编码器和解码器中最上层神经网络的信息,使得文本翻译准确率不高。
发明内容
基于此,有必要针对文本翻译准确率低的技术问题,提供一种文本翻译方法、装置、计算机可读存储介质和计算机设备。
一种文本翻译方法,包括:
获取源文本的词序列;
通过机器翻译模型中编码器的多层神经网络,逐层对所述词序列进行语义编码,得到源端融合向量序列;所述源端融合向量序列融合了各层神经网络所输出的源端向量序列;
通过所述机器翻译模型的解码器,根据所述机器翻译模型前次输出的目标词的词向量,对所述源端融合向量序列进行解码,得到当次的目标端向量序列;
根据所述目标端向量序列,确定所述机器翻译模型当次输出的目标词;
根据所述机器翻译模型输出的各目标词,生成所述源文本对应的目标文本。
一种文本翻译装置,所述装置包括:
获取模块,用于获取源文本的词序列;
编码模块,用于通过机器翻译模型中编码器的多层神经网络,逐层对所述词序列进行语义编码,得到源端融合向量序列;所述源端融合向量序列融合了各层神经网络所输出的源端向量序列;
解码模块,用于通过所述机器翻译模型的解码器,根据所述机器翻译模型前次输出的目标词的词向量,对所述源端融合向量序列进行解码,得到当次的目标端向量序列;
确定模块,用于根据所述目标端向量序列,确定所述机器翻译模型当次输出的目标词;
生成模块,用于根据所述机器翻译模型输出的各目标词,生成所述源文本对应的目标文本。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述文本翻译方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述文本翻译方法的步骤。
上述文本翻译方法、装置、计算机可读存储介质和计算机设备,通过机器翻译模型中编码器的多层神经网络,逐层对源文本的词序列进行语义编码,融合各层神经网络所输出的源端向量序列,得到源端融合向量序列。这样通过融合各层神经网络所输出的源端向量序列,可以融合机器翻译模型中各隐层的信息,以学习更好的隐层表示。再通过机器翻译模型的解码器,根据机器翻译模型前次输出的目标词的词向量,对源端融合向量序列进行解码,得到当次的目标端向量序列,根据目标端向量序列,确定机器翻译模型当次所输出的目标词。依据机器翻译模型输出的各目标词,生成与源文本对应的目标文本。这样,通过编码-解码框架对源文本进行文本翻译时,可以融合各层的语义和句法信息,更充分的学习到机器翻译模型中各隐层表示,减少了在文本翻译过程中有效信息的丢失,从而大大提高了文本翻译的准确率。
附图说明
图1为一个实施例中文本翻译方法的应用环境图;
图2为一个实施例中文本翻译方法的流程示意图;
图3为一个实施例中通过包括编码器-解码器结构的机器翻译模型进行文本翻译的流程示意图;
图4为一个实施例中编码器的多层神经网络对词序列进行语义编码处理的结构示意图;
图5为一个实施例中通过机器翻译模型中解码器的多层神经网络,根据机器翻译模型前一时刻输出的目标词的词向量,逐层对源端融合向量序列进行解码,得到目标端融合向量序列步骤的流程示意图;
图6为一个实施例中解码器的多层神经网络对源端融合向量序列进行解码处理的结构示意图;
图7为一个实施例中一个实施例中稠密连接网络的结构示意图;
图8为一个实施例中对各层神经网络的输出进行线性融合的结构示意图;
图9为一个实施例中采用递归融合方式融合各层神经网络的输出的结构示意图;
图10为一个实施例中对各层神经网络的输出采用层次融合的结构示意图;
图11为一个实施例中对各层神经网络的输出采用跨层注意力机制融合的结构示意图;
图12为一个实施例中机器翻译模型的训练步骤的流程示意图;
图13为一个实施例中文本翻译方法的流程示意图;
图14为一个实施例中文本翻译装置的结构框图;
图15为另一个实施例中文本翻译装置的结构框图;
图16为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中文本翻译方法的应用环境图。参照图1,该文本翻译方法应用于文本翻译***。该文本翻译***包括终端110和服务器120。终端110可将源文本或对源文本进行分词后得到的词序列发送至服务器120,服务器120执行文本翻译方法,得到目标文本,再将目标文本返回至终端110。终端110也可在获取源文本后执行文本翻译方法。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑和笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,在一个实施例中,提供了一种文本翻译方法。本实施例主要以该方法应用于计算机设备来举例说明,该计算机设备可以是上述图1中的终端110或服务器120。参照图2,该文本翻译方法具体包括如下步骤:
S202,获取源文本的词序列。
其中,源文本是待翻译的初始文本。源文本具体可以是句子、段落或篇章等文本。源文本可以是中文文本,也可以是英文文本等。源文本的词序列,是对源文本进行分词处理后得到的各个词所组成的序列。对于源文本为中文文本的分词处理,可采用基于词典或基于统计的分词方式。对于源文本为英文文本的分词处理,可以根据空格拆分单词等分词方式。
具体地,计算机设备可直接获取源文本,对源文本进行分词处理,得到相应的词序列。计算机设备也可接收由其他计算机设备根据源文本生成的词序列。计算机设备在获取源文本的词序列后,可通过预训练的机器翻译模型的输入层,对获取的词序列进行下一步处理。
在一个实施例中,计算机设备在获取源文本的词序列后,可通过词嵌入(wordembedding)处理将离散的词序列转换成连续的空间表示向量序列。再将空间表示向量序列输入至预训练的机器翻译模型的输入层,以进行下一步的处理。
S204,通过机器翻译模型中编码器的多层神经网络,逐层对词序列进行语义编码,得到源端融合向量序列;源端融合向量序列融合了各层神经网络所输出的源端向量序列。
其中,机器翻译模型是预训练的机器学习模型。机器翻译模型可采用基于神经网络的Sequence-to-Sequence(序列-序列)框架。Sequence-to-Sequence框架是包含Encoder-Decoder(编码器-解码器)结构的框架。Encoder-Decoder结构将输入序列转换为另一个序列输出。在该框架中,编码器将输入序列转化成向量序列,解码器则根据向量序列并按时间顺序依次生成输出序列。其中,编码器以及解码器可以采用相同类型的神经网络模型,也可以是不同类型的神经网络模型。比如,编码器以及解码器可以均为CNN(Convolutional Neural Networks,卷积神经网络)模型或RNN(Recurrent NeuralNetworks,循环神经网络)模型等。或者编码器和解码器分别采用不同的神经网络模型,比如编码器采用RNN模型、解码器采用CNN模型等。
在一个实施例中,将源文本的词序列输入机器翻译模型后,可通过机器翻译模型中编码器的多层神经网络,逐层对词序列进行语义编码,得到源端融合向量序列。其中,源端融合向量序列融合了各层神经网络所输出的源端向量序列。解码器再将源端融合向量序列解码转换成目标端向量序列,机器翻译模型的输出层则可以将目标端向量序列转换成输出序列,进而得到源文本的翻译文本,也就是与源文本对应的目标文本。
在一个实施例中,机器翻译模型中编码器的多层神经网络,可分别逐层对词序列进行语义编码,得到各层神经网络所输出的源端向量序列。具体地,计算机设备可将源文本的词序列对应的空间表示向量序列输入至编码器的多层神经网络中的第一层神经网络,通过第一层神经网络对空间表示向量序列进行语义编码处理,输出第一层神经网络对应的源端向量序列。再将第一层神经网络所输出的源端向量序列作为第二层神经网络的输入,通过第二层神经网络进行语义编码处理,得到第二层神经网络所输出的源端向量序列。依次类推,直到得到最后一层神经网络所输出的源端向量序列。机器翻译模型可将各层神经网络所输出的源端向量序列进行融合,得到源端融合向量序列。
在一个实施例中,机器翻译模型中编码器的多层神经网络,在逐层对词序列进行语义编码时,可将前序层神经网络所输出的源端向量序列直接或经过处理后所得的向量序列作为当前层神经网络的输入,通过当前层神经网络进行语义编码后,得到当前层神经网络所输出的源端向量序列。其中,前序层是指当前层之前的层。依次类推,直到得到最后一层神经网络所输出的源端向量序列,将最后一层神经网络所输出的源端向量序列作为源端融合向量序列。
在一个实施例中,机器翻译模型可采用线性叠加融合处理、或融合网络处理等融合方式对多层神经网络所输出的源端融合向量进行融合处理。
其中,对词序列进行语义编码,是将词序列转换为向量的过程。源端向量序列,是指将源文本的词序列输入到编码器的多层神经网络中的隐层,通过隐层对词序列进行源端层变换处理后得到的向量。隐层是神经网络模型中的一种术语,是相对于输入层和输出层的中间层,隐层中包括对神经网络模型训练得到的模型参数。这里编码器的隐层是相对于编码器的输入层和编码器的输出层的中间层。编码器的隐层可多个神经网络层。
下面通过举例说明的方式说明通过机器翻译模型中编码器的多层神经网络,逐层对词序列进行语义编码,得到源端融合向量序列步骤的过程:以源文本的词序列为长度为m的序列为例,将词序列输入到编码器的多层神经网络中进行语义编码。首先,计算机设备可对源文本进行分词,得到源文本的词序列为x=(x1,x2,...,xm),通过词嵌入方式将词序列转换成连续的空间表示向量,可记为p=(p1,p2,...,pm)。通过编码器的多层神经网络,逐层对空间表示向量进行语义编码,得到源端融合向量序列,可记为H=(h1,h2,...,hm)。
S206,通过机器翻译模型的解码器,根据机器翻译模型前次输出的目标词的词向量,对源端融合向量序列进行解码,得到当次的目标端向量序列。
其中,解码是将输入解码器的向量序列转换成目标输出序列的过程。目标端向量序列是将词序列中各词的词向量对应的源端融合向量输入到解码器的隐层中计算得到的向量序列。源端融合向量序列和目标端向量序列都可表示词序列的语义信息和语法信息。这里解码器的隐层是相对于解码器的输入层和解码器的输出层的中间层。解码器的隐层可包括多个神经网络层。
具体地,当机器翻译模型在生成当次的目标词之前,可获取前次输出的目标词。依据前次机器翻译模型所输出目标词的词向量,通过解码器对编码器输出的源端向量序列进行解码,得到当次的目标端向量序列。目标端向量序列不仅包含了源文本的词序列中各词的语义信息,且综合了前次所输出目标词的语义信息,使得最终生成的目标文本更为连贯,翻译结果更准确。
在一个实施例中,机器翻译模型在生成当次的目标词之前,可获取历史输出的目标词。依据历史输出的目标词、当次解码器输出的的目标端向量序列、和当次的内容向量,生成当次的目标端向量序列。其中,当次的内容向量是依据当次的自注意力分配权重向量,对源端向量序列进行加权求和得到的向量。
在一个实施例中,机器翻译模型可在要生成当次的目标端向量序列时,获取前次所输出目标词。机器翻译模型可对前次输出的目标词做词嵌入处理,将目标词转换成用实数表示的词向量。
在一个实施例中,步骤S206具体包括:通过机器翻译模型中解码器的多层神经网络,根据机器翻译模型前次输出的目标词的词向量,逐层对源端融合向量序列进行解码,得到当次的目标端融合向量序列;目标端融合向量序列融合了各层神经网络所输出的目标端向量序列。进一步地,机器翻译模型可根据当前时刻的目标端融合向量序列,确定机器翻译模型当前时刻输出的目标词。
在一个实施例中,机器翻译模型中解码器的多层神经网络,可分别逐层对源端融合向量序列进行解码,得到各层神经网络所输出的目标端向量序列。具体地,计算机设备可将源端融合向量序列输入至解码器的多层神经网络中的第一层神经网络,通过第一层神经网络对源端融合向量序列进行解码,输出第一层神经网络对应的目标端向量序列。再将第一层神经网络所输出的目标端向量序列作为第二层神经网络的输入,通过第二层神经网络进行层变换处理,得到第二层神经网络所输出的目标端向量序列。依次类推,直到得到最后一层神经网络所输出的目标端向量序列。机器翻译模型可将各层神经网络所输出的目标端向量序列进行融合,得到目标端融合向量序列。
在一个实施例中,机器翻译模型中解码器的多层神经网络,在逐层对源端融合向量序列进行解码处理时,可将前序层神经网络所输出的目标端向量序列直接或经过处理后所得的向量序列作为当前层神经网络的输入,通过当前层神经网络进行语义编码后,得到当前层神经网络所输出的目标端向量序列。依次类推,直到得到最后一层神经网络所输出的目标端向量序列,将最后一层神经网络所输出的目标端端向量序列作为目标端融合向量序列。
在一个实施例中,机器翻译模型可采用线性叠加融合处理、或融合网络处理等融合方式对多层神经网络所输出的源端融合向量进行融合处理。在一个实施例中,机器翻译模型中解码器和编码器所采用的融合方式可以相同也可以不同。
上述实施例中,通过机器翻译模型中解码器的多层神经网络,逐层对源文融合向量序列进行解码处理,得到融合了各层神经网络的输出结果的目标端融合向量序列。这样通过融合各层神经网络所输出的目标端向量序列,在机器翻译处理中可以融合机器翻译模型中各隐层的信息,以学习更好的隐层表示,大大提高了翻译的准确率。
可以理解,本申请所使用的“当次”用于描述机器翻译模型的解码器进行解码并输出当次的目标词的时刻,“前次”用于描述解码器进行解码并输出前次的目标词的时刻。比如,前次为第i-1次,机器翻译模型所输出的目标词则为yi-1;当次为第i次,机器翻译模型所输出的目标词则为yi。并且,当次是一个相对变化的次数,比如,机器翻译模型在输出当次i的下次i+1的目标词时,则可将该下次i+1作为新的当次,将当次i作为新的前次。
S208,根据目标端向量序列,确定机器翻译模型当次输出的目标词。
具体地,当机器翻译模型在生成当次的待输出的目标词时,可通过机器翻译模型的输出层,根据解码器解码得到的目标端向量序列,计算得到当次的输出概率序列。其中,机器翻译模型输出的当次的输出概率序列是指在输出端词集中各候选词为当次输出的目标词的概率所组成的序列。进一步地,机器翻译模型可选择输出概率序列中的最大概率所对应的候选词作为当次的目标词。依次重复上述解码步骤,直到输出结束词为止。
S210,根据机器翻译模型输出的各目标词,生成源文本对应的目标文本。
具体地,计算机设备可通过机器翻译模型的输出层,按照输出各个目标词的顺序,将输出的各个目标词进行拼接,生成与源文本对应的目标文本。在一个实施例中,目标文本与源文本为不同语言的文本。
参考图3,图3示出了一个实施例中通过包括编码器-解码器结构的机器翻译模型进行文本翻译的流程示意图。首先将源文本(也就是输入句子)输入机器翻译模型的编码器中,通过编码器模块输出源端融合向量序列。再将源端融合向量序列、及前次输出的目标词的词向量输入注意力模块,通过注意力模块对源端融合向量序列进行注意力机制处理,得到当次的源端内容向量,也就是当前时刻源端上下文。再将当前时刻源端上下文输入机器翻译模型的解码器中,通过解码器模块对当前时刻源端上下文进行解码处理,输出当前时刻的目标词。
上述文本翻译方法,通过机器翻译模型中编码器的多层神经网络,逐层对源文本的词序列进行语义编码,融合各层神经网络所输出的源端向量序列,得到源端融合向量序列。这样通过融合各层神经网络所输出的源端向量序列,可以融合机器翻译模型中各隐层的信息,以学习更好的隐层表示。再通过机器翻译模型的解码器,根据机器翻译模型前次输出的目标词的词向量,对源端融合向量序列进行解码,得到当次的目标端向量序列,根据目标端向量序列,确定机器翻译模型当次所输出的目标词。依据机器翻译模型输出的各目标词,生成与源文本对应的目标文本。这样,通过编码-解码框架对源文本进行文本翻译时,可以融合各层的语义和句法信息,更充分的学习到机器翻译模型中各隐层表示,减少了在模型处理中有效信息的丢失,大大提高了文本翻译的准确率。
在一个实施例中,步骤S204,也就是通过机器翻译模型中编码器的多层神经网络,逐层对词序列进行语义编码,得到源端融合向量序列的步骤具体包括以下步骤:向机器翻译模型中编码器的多层神经网络中的第一层神经网络,输入词序列,获得第一层神经网络所输出的源端向量序列;在从多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当前层神经网络中词序列中各词所对应的第一自注意力分配权重向量;根据词序列中各词所对应的第一自注意力分配权重向量、以及前一层神经网络所输出的源端向量序列,分别计算得到当前层神经网络中、词序列中各词所对应的源端向量;拼接当前层神经网络中、词序列中各词所对应的源端向量,得到当前层神经网络所输出的源端向量序列,直至得到各层神经网络分别输出的源端向量序列;融合源端向量序列,得到源端融合向量序列。
具体地,机器翻译模型中编码器的各层神经网络均可通过自注意力机制处理方式(也可称作源端层变换)处理各层神经网络的输入,从而得到各层神经网络的输出。计算机设备可将源文本的词序列作为机器翻译模型中编码器的多层神经网络中的第一层神经网络的输入。根据预设的初始值、或随机生成的初始值对词序列进行源端层变换处理,得到第一层神经网络所输出的源端向量序列。其中,源端层变换处理是通过编码器中的神经网络对输入数据进行处理得到输出数据的处理过程。在本申请中,编码器中各层神经网络对输入数据进行的源端层变换处理方式是一样的,下面进行详细解释。
进一步地,在从多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当前层神经网络中词序列中各词所对应的第一自注意力分配权重向量。其中,各个词对应的第一自注意力分配权重是根据前一层的源端向量序列进行注意力机制处理后得到的。
机器翻译模型可根据词序列中各词所对应的第一自注意力分配权重向量、以及前一层神经网络所输出的源端向量序列,分别计算得到当前层神经网络中、词序列中各词所对应的源端向量。
参考图4,图4示出了一个实施例中编码器的多层神经网络对词序列进行语义编码处理的结构示意图。图4中的每个方框表示神经网络中与一个词对应的隐藏层向量,也就是源端向量。对于每一层神经网络中的每一个源端向量,神经网络可获取与该源端向量对应的第一自注意力分配权重向量,根据第一自注意力分配权重向量对前一层神经网络对应的源端向量序列进行加权求和计算,得到当前层的源端向量。
举例说明,对于第i层神经网络中的第j个源端向量,编码器可对前一层也就是第i-1层神经网络所输出的源端向量序列进行注意力机制处理,得到第一自注意力分配权重向量,可以表示为αi,j={α1,α2,…,αJ}。其中,第i-1层神经网络所输出的源端向量序列可以表示为H={h1,h2,...,hJ},则第i层神经网络中的第j个源端向量所对应的源端向量可以通过以下公式计算:相应的,对于每一层神经网络中的每个源端向量都可以通过上述公式计算得到。
在一个实施例中,对于每一层神经网络中的每个源端向量可采用以下公式计算得到:其中,Q、K、V分别是对当层的输入(也就是前一层神经网络的输出)按三个不同的可学习参数矩阵线性变换而得到的,Q也就是请求(query)向量序列、K为键(key)向量序列、V为值(value)向量序列。进一步地,机器翻译模型可使用点积建模请求与每个键-值对之间的逻辑相似度e,其中,KT表示键值矩阵的转置,d为模型隐藏层向量的维度。Softmax为归一化函数。
进一步地,机器翻译模型可拼接当前层神经网络中、词序列中各词所对应的源端向量,得到当前层神经网络所输出的源端向量序列。对于编码器的多层神经网络中的每层神经网络,都采用上述方式得到各层神经网络分别输出的源端向量序列,机器翻译模型可融合各层神经网络对应的源端向量序列,从而得到源端融合向量序列。
可以理解的是,对于第一层神经网络,第一层神经网络对词序列进行源端层变换处理的方式是一样,对于第一层神经网络处理时所需的前一层神经网络的相应的数据则可以根据经验预设初始值或随机生成初始值,以进行下一步的处理。
上述实施例中,对于多层神经网络中每一层神经网络,都根据词序列中各词所对应的第一自注意力分配权重向量、以及前一层神经网络所输出的源端向量序列,分别计算得到当前层神经网络中、词序列中各词所对应的源端向量,进而得到源端向量序列,这样可使得每一层神经网络均能利用前一层神经网络所输出的结果,保障了神经网络在数据处理过程中的传递性。再将各层神经网络所输出的源端向量序列进行融合,能充分的学习到机器翻译模型中各隐藏层表示,可以避免重要信息丢失。
在一个实施例中,通过机器翻译模型中解码器的多层神经网络,根据机器翻译模型前一时刻输出的目标词的词向量,逐层对源端融合向量序列进行解码,得到目标端融合向量序列的步骤具体包括以下步骤:
S502,将机器翻译模型历史输出的目标词的词向量,输入机器翻译模型中解码器的多层神经网络中的第一层神经网络,获得当次的第一层神经网络所输出的目标端向量序列。
具体地,解码器解码得到目标词是依次进行的,也就是每个时刻都会输出一个目标词。解码器在进行当次解码时,机器翻译模型可将历史输出的目标词的词向量,作为机器翻译模型中解码器的多层神经网络中的第一层神经网络的输入,通过第一层神经网络,根据预设的初始值、或随机生成的初始值对输入数据进行目标端层变换处理得到当次的第一层神经网络所输出的目标端向量序列。其中,目标端层变换处理是通过解码器中的神经网络对输入数据进行处理得到输出数据的处理过程。在本申请中,解码器中各层神经网络对输入数据进行的目标端层变换处理方式是一样的,下面进行详细解释。
可以理解的是,随着解码器解码出的目标词的数量的增加,在每一次的解码过程中,输入至解码器的多层神经网络中的第一层神经网络中的目标词就相应的增加。
S504,在从多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当次的、各目标词所对应的第二自注意力分配权重向量。
具体地,在从解码器的多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当前层神经网络中词序列中各词所对应的第二自注意力分配权重向量。其中,各个词对应的第二自注意力分配权重是根据前一层的目标端向量序列进行注意力机制处理后得到的。
S506,根据各目标词所对应的第二自注意力分配权重向量、以及前一层神经网络所对应的目标端向量序列,分别计算得到当次的、当前层神经网络中各目标词所对应的第一目标端向量。
具体地,在机器翻译模型每次输出目标词时,机器翻译模型可根据各目标词所对应的第二自注意力分配权重向量、以及前一层神经网络所对应的目标端向量序列,分别计算得到当次的、当前层神经网络中各目标词所对应的第一目标端向量。
在一个实施例中,由于机器翻译模型是按时序生成目标词的,因而,在解码的过程中,对于每一层神经网络,各目标词对应的隐藏层向量仅根据历史目标词对应的前一层神经网络的隐层向量进行加权求和得到。
参考图6,图6示出了一个实施例中解码器的多层神经网络对源端融合向量序列进行解码处理的结构示意图。图6中的每个方框表示神经网络中与一个词对应的隐藏层向量。图6上部分为解码器的多层神经网络的任意两层神经网络。举例说明,对于第i层神经网络中的第j个目标端向量,编码器可对前一层也就是第i-1层神经网络所输出的目标端向量序列进行注意力机制处理,得到第二自注意力分配权重向量,可以表示为αi,j={α1,α2,…,αj}(第二自注意力分配权重向量的维度为j)。其中,第i-1层神经网络所输出的目标端向量序列可以表示为H={h1,h2,...,hj},则第i层神经网络中的第j个源端向量所对应的源端向量可以通过以下公式计算:也就是说,对前一层神经网络对应的前j个目标词对应的目标端向量序列进行加权求和,可以计算得到当前层的第j个目标词对应的第一目标端向量。相应的,对于每一层神经网络中的每个目标端向量都可以通过上述公式计算得到。
在一个实施例中,对于每一层神经网络中的每个目标端向量可采用以下公式计算得到:其中,Q、K、V分别是对当层的输入(也就是前一层神经网络的输出)按三个不同的可学习参数矩阵线性变换而得到的,Q也就是请求(query)向量序列、K为键(key)向量序列、V为值(value)向量序列。进一步地,机器翻译模型可使用点积建模请求与每个键-值对之间的逻辑相似度e,其中,KT表示键值矩阵的转置,d为模型隐藏层向量的维度。Softmax函数为一种归一化指数函数。
S508,在从多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当次的、各目标词所对应的注意力分配权重向量;注意力分类权重向量与源端融合向量序列对应。
具体地,在从多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当次的、各目标词所对应的注意力分配权重向量。此处的注意力分配权重向量是指编码-解码的注意力分配权重向量,该注意力分类权重向量与源端融合向量序列对应。可以理解的是,在解码器解码的不同时序的过程中,相应的,注意力分配权重也不同。
在一个实施例中,机器翻译模型可根据解码器的当前层神经网络对应的前次目标端向量、以及源端向量计算得到注意力分配权重。
S510,根据各目标词所对应的注意力分配权重向量、以及源端融合向量序列,分别计算得到当次的、当前层神经网络中各目标词所对应的第二目标端向量。
具体地,机器翻译模型可根据各目标词所对应的注意力分配权重向量、以及源端融合向量序列,分别计算得到当次的、当前层神经网络中各目标词所对应的第二目标端向量。
参考图6,对于各层神经网络中各目标词所对应的第二目标端向量,可以对源端融合向量序列进行加权求和得到,其中,加权系数分别对应注意力分配权重向量中的各数值。可以理解的是,在解码器解码的不同时序的过程中,相应的,注意力分配权重也不同。
举例说明,对于各层神经网络中的任意一个目标词,机器翻译模型可获取当次、当前层的该目标词所对应的注意力分配权重向量,可以表示为αi,j={α1,α2,…,αJ}。其中,源端融合向量序列可以表示为则该目标词所对应的第二目标端向量可以通过以下公式计算:相应的,对于每一层神经网络中的每个第二源端向量都可以通过上述公式计算得到。
S512,融合第一目标端向量和第二目标端向量,得到当次的目标端向量。
具体地,机器翻译模型可通过两层神经网络,采用ReLU(Recitified LinearUnit,线性整流函数)或其他激活函数,融合第一目标端向量和第二目标端向量,得到当次的目标端向量。相应地,对于各层神经网络的各个目标词所对应的目标端向量均可采用上述方式处理得到。
S514,拼接当次的当前层神经网络中、各个目标词所对应的目标端向量,得到当次的、当前层神经网络输出的目标端向量序列,直至得到当次的各层神经网络分别输出的目标端向量序列。
具体地,机器翻译模型可按顺序拼接当次的当前层神经网络中、各个目标词所对应的目标端向量,得到当次的、当前层神经网络输出的目标端向量序列。对于解码器的多层神经网络中的各层神经网络,均可重复上述步骤S504至步骤S514,直至得到当次的各层神经网络分别输出的目标端向量序列。
S516,融合目标端向量序列,得到目标端融合向量序列。
具体地,机器翻译模型可以融合各层神经网络所输出的目标端向量序列,得到目标端融合向量序列。其中,机器翻译模型可采用线性叠加融合处理、或融合网络处理等融合方式对多层神经网络所输出的目标端融合向量进行融合处理。
进一步地,当机器翻译模型在生成当次的待输出的目标词时,可通过机器翻译模型的输出层,根据解码器解码得到的目标端融合向量序列,计算得到当次的输出概率序列。进而选择输出概率序列中的最大概率所对应的候选词作为当次的目标词。可以理解的是,对于解码器解码的每个时刻,都可重复上述步骤S502至步骤S516、以及根据目标端融合向量序列生成当次的目标词的步骤,直到机器翻译模型输出停止词为止。
可以理解的是,第一层神经网络对第一层神经网络的输入数据进行目标端层变换处理的方式与其他层神经网络是一样,对于第一层神经网络处理时所需的前一层神经网络的相应的数据则可以根据经验预设初始值或随机生成初始值,以进行下一步的处理。
上述实施例中,解码器通过对历史输出的目标词的词向量进行自注意力机制处理得到第一目标端向量,对源端融合向量序列进行注意力机制处理得到第二目标端向量。再融合第一目标端向量和第二目标端向量,得到当次的目标端向量,这样的目标端向量既能融合源端的隐藏层向量表示,又综合了历史输出的目标词的语义信息,使得最终生成的目标文本更为连贯,翻译准确率更高。
在一个实施例中,多层神经网络为稠密连接网络;通过机器翻译模型中编码器的多层神经网络,逐层对词序列进行语义编码,得到源端融合向量序列的步骤包括以下步骤:向机器翻译模型中编码器的多层神经网络中的第一层神经网络,输入词序列,获得第一层神经网络所输出的源端向量序列;在从多层神经网络中的第二层神经网络起的当前层神经网络中,获取当前层的所有前序层神经网络所分别对应的前序源端向量序列;对前序源端向量序列进行线性叠加,得到综合前序源端向量序列;根据综合前序源端向量序列和前一层神经网络所对应的源端向量序列,计算得到当前层神经网络所输出的源端向量序列,直到得到多层神经网络中最后一层神经网络所输出的源端向量序列;将最后一层神经网络所输出的源端向量序列作为源端融合向量序列。
具体地,编码器中多层神经网络为稠密连接网络。在一个实施例中,编码器中的每一个稠密连接均为残差连接。参考图7,图7示出了一个实施例中稠密连接网络的结构示意图。机器翻译模型可将当前层的所有前序层神经网络所分别输出的源端向量序列作为当前层神经网络的输入。
计算机设备可将源文本的词序列输入机器翻译模型中编码器的多层神经网络中的第一层神经网络,通过第一层神经网络的源端层变换处理,得到第一层神经网络所输出的源端向量序列。其中,源端层变换处理具体可采用上述实施例中的自注意力机制处理方式。
进一步地,在从多层神经网络中的第二层神经网络起的当前层神经网络中,获取当前层的所有前序层神经网络所分别对应的前序源端向量序列。机器翻译模型可对前一层神经网络所输出的源端向量序列进行层变换处理,将源端层变换处理后得到的向量序列、以及当前层的所有前序源端向量序列进行线性叠加,得到当前层所对应的源端向量序列。相应地,对于编码器中的多层神经网络的每一层均按照上述步骤执行,直到得到多层神经网络中最后一层神经网络所输出的源端向量序列。将最后一层神经网络所输出的源端向量序列作为源端融合向量序列。
在一个实施例中,在一个实施例中,可以通过以下公式进行融合计算:
其中,Hl表示第l层神经网络输出的融合向量序列;Hl-1表示第l-1层神经网络输出的源端向量序列;Hi表示第i层神经网络输出的源端向量序列;Layer表示层变换函数;表示将第一层至第l-1层神经网络输出的向量序列进行线性叠加。
在一个实施例中,层变换函数是指当前层神经网络对当前层的输入做层变换处理的函数,可以是上述实施例中的源端所对应的自注意力机制处理方式。
可以理解的是,对于解码器而言,解码器中的多层神经网络也可以采用稠密连接网络,解码器中的多层神经网络逐层对源端融合向量序列进行解码,得到融合了各层神经网络所输出的目标端向量序列的目标端融合向量序列的过程中,可以采用和编码器相应的上述融合方式,也可以采用和编码器不同的融合方式。
上述实施例中,通过对当前层的前序层神经网络对应的前序源端序列进行线性叠加,并结合前一层神经网络所对应的源端向量序列,计算得到当前层的源端向量序列,以此类推,直到得到多层神经网络中最后一层神经网络所输出的源端向量序列。这样将前序层的输出作为当前层的输入的融合方式,使得最后一层神经网络所输出的源端向量序列很好的融合了各层神经网络的输出。并且,采用线性叠加的方式可以有效地减少数据处理的难度,提高了网络执行效率。
在一个实施例中,通过机器翻译模型中编码器的多层神经网络,逐层对词序列进行语义编码,得到源端融合向量序列的步骤包括:通过机器翻译模型中编码器的多层神经网络,逐层对词序列进行语义编码,得到各层神经网络源所输出的源端向量序列;对各层神经网络所输出的源端向量序列进行线性叠加,得到源端融合向量序列。
具体地,计算机设备可将源文本的词序列输入机器翻译模型中编码器的多层神经网络中的第一层神经网络,通过第一层神经网络的源端层变换处理,得到第一层神经网络所输出的源端向量序列。其中,源端层变换处理具体可采用上述实施例中的自注意力机制处理方式。将第一层神经网络所输出的源端向量序列作为第二层神经网络的输入,通过第二层神经网络的源端层变换处理,得到第二层神经网络所输出的源端向量序列。各层神经网络依次执行上述步骤,将前一层神经网络的输出作为当前层神经网络的输入,通过当前层神经网络的源端层变换处理,得到当前层神经网络的输出。
进一步地,参考图8,图8示出了一个实施例中对各层神经网络的输出进行线性融合的结构示意图。机器翻译模型可对各层神经网络所输出的源端向量序列进行线性叠加,得到源端融合向量序列。其中,线性叠加具体可以是进行加权求和的运算,加权系数可以是训练好的模型参数。
在一个实施例中,通过以下公式进行线性叠加计算:
可以理解的是,对于解码器而言,解码器中的多层神经网络逐层对源端融合向量序列进行解码,得到融合了各层神经网络所输出的目标端向量序列的目标端融合向量序列的过程中,可以采用和编码器相应的上述融合方式,也可以采用和编码器不同的融合方式。
上述实施例中,通过线性融合的方式融合各层神经网络所输出的源端向量序列得到源端融合向量序列,可以融合各层的语义和句法信息,更充分的学习到机器翻译模型中各隐层表示,减少了在文本翻译过程中有效信息的丢失,大大提高了文本翻译的准确率。并且,采用线性叠加的方式可以有效地减少数据处理的难度,提高了网络执行效率。
在一个实施例中,通过机器翻译模型中编码器的多层神经网络,逐层对词序列进行语义编码,得到源端融合向量序列的步骤具体包括以下步骤:向机器翻译模型中编码器的多层神经网络中的第一层神经网络,输入词序列,获得第一层神经网络所输出的源端向量序列;通过机器翻译模型中编码器的多层神经网络中的第二层神经网络,对第一层神经网络所输出的源端向量序列进行语义编码,得到第二层神经网络所输出的源端向量序列;对第一层神经网络所输出的源端向量序列、以及第二层神经网络所输出的源端向量序列进行网络融合处理,得到与第二层神经网络对应的网络融合向量序列;在从多层神经网络中的第三层神经网络起的当前层神经网络中,获取前一层神经网络对应的网络融合向量序列;对当前层神经网络所输出的源端向量序列、以及前一层神经网络对应的网络融合向量序列进行网络融合处理,得到与当前层神经网络对应的网络融合向量序列,直到得到与多层神经网络中最后一层神经网络对应的网络融合向量序列;将最后一层神经网络所对应的网络融合向量序列作为源端融合向量序列。
参考图9,图9示出了一个实施例中采用递归融合方式融合各层神经网络的输出的结构示意图。计算机设备可将源文本的词序列输入机器翻译模型中编码器的多层神经网络中的第一层神经网络,通过第一层神经网络的源端层变换处理,得到第一层神经网络所输出的源端向量序列。其中,源端层变换处理具体可采用上述实施例中的自注意力机制处理方式。将第一层神经网络所输出的源端向量序列作为第二层神经网络的输入,通过第二层神经网络的源端层变换处理,得到第二层神经网络所输出的源端向量序列。各层神经网络依次执行上述步骤,将前一层神经网络的输出作为当前层神经网络的输入,通过当前层神经网络的源端层变换处理,得到当前层神经网络的输出。
另一方面,机器翻译模型可通过两层神经网络,采用ReLU或其他激活函数,融合第一层神经网络所输出的源端向量序列、以及第二层神经网络所输出的源端向量序列,得到与第二层神经网络对应的网络融合向量序列。再对第三层神经网络所输出的源端向量序列、以及与第二层神经网络对应的网络融合向量序列进行网络融合处理,得到与第三层神经网络对应的网络融合向量序列。依次计算,直到得到与多层神经网络中最后一层神经网络对应的网络融合向量序列为止。将最后一层神经网络所对应的网络融合向量序列作为源端融合向量序列。
在一个实施例中,通过以下公式进行递归融合计算:
可以理解的是,对于解码器而言,解码器中的多层神经网络逐层对源端融合向量序列进行解码,得到融合了各层神经网络所输出的目标端向量序列的目标端融合向量序列的过程中,可以采用和编码器相应的上述融合方式,也可以采用和编码器不同的融合方式。
上述实施例中,通过递归融合的方式融合各层神经网络所输出的源端向量序列得到源端融合向量序列,可以融合各层的语义和句法信息,更充分的学习到机器翻译模型中各隐层表示,减少了在文本翻译过程中有效信息的丢失,大大提高了文本翻译的准确率。
在一个实施例中,通过机器翻译模型中编码器的多层神经网络,逐层对词序列进行语义编码,得到源端融合向量序列的步骤包括:
通过以下公式计算得到源端融合向量序列:
其中,AGG表示融合网络处理;表示与第2i层神经网络对应的源端融合向量序列;表示与第2(i-1)层神经网络对应的源端融合向量序列;H2i-1表示第2i-1层神经网络输出的源端向量序列;H2i表示第2i层神经网络输出的源端向量序列。
具体地,参考图10,图10示出了一个实施例中对各层神经网络的输出采用层次融合的结构示意图。计算机设备可将源文本的词序列输入机器翻译模型中编码器的多层神经网络中的第一层神经网络,通过第一层神经网络的源端层变换处理,得到第一层神经网络所输出的源端向量序列。其中,源端层变换处理具体可采用上述实施例中的自注意力机制处理方式。将第一层神经网络所输出的源端向量序列作为第二层神经网络的输入,通过第二层神经网络的源端层变换处理,得到第二层神经网络所输出的源端向量序列。
另一方面,机器翻译模型可对第一层神经网络所输出的源端向量序列、以及第二层神经网络所输出的源端向量序列进行网络融合处理,得到与第二层神经网络对应的网络融合向量序列。与第二层神经网络对应的网络融合向量序列又作为第三层神经网络的输入,通过第三层神经网络的源端层变换处理,得到第三层神经网络所输出的源端向量序列。将第三层神经网络所输出的源端向量序列作为第四层神经网络的输入,通过第四层神经网络的源端层变换处理,得到第四层神经网络所输出的源端向量序列。
机器翻译模型对第三层神经网络所输出的源端向量序列、第四层神经网络所输出的源端向量序列、以及与第二层神经网络对应的网络融合向量序列进行网络融合处理,得到与第四层神经网络对应的网络融合向量序列。依次逐层处理,直到得到与最后一层神经网络对应的网络融合向量序列。将与最后一层神经网络对应的网络融合向量序列作为源端融合向量序列。
可以理解的是,对于解码器而言,解码器中的多层神经网络逐层对源端融合向量序列进行解码,得到融合了各层神经网络所输出的目标端向量序列的目标端融合向量序列的过程中,可以采用和编码器相应的上述融合方式,也可以采用和编码器不同的融合方式。
上述实施例中,通过层次融合的方式融合各层神经网络所输出的源端向量序列得到源端融合向量序列,可以融合各层的语义和句法信息,更充分的学习到机器翻译模型中各隐层表示,减少了在文本翻译过程中有效信息的丢失,大大提高了文本翻译的准确率。
在一个实施例中,通过机器翻译模型中编码器的多层神经网络,逐层对词序列进行语义编码,得到源端融合向量序列的步骤包括:通过机器翻译模型中编码器的多层神经网络,逐层对词序列进行语义编码,得到各层神经网络源所输出的源端向量序列;对各层神经网络所输出的源端向量序列进行跨层注意力机制融合,得到源端融合向量序列。其中,通过以下公式进行跨层注意力机制融合计算:
其中,AGG表示融合网络处理;ATT表示注意力机制处理;Cl表示与第l层神经网络对应的源端融合向量序列;Q、K、V分别表示当前层神经网络的输入分别被三个不同的可学习参数矩阵线性变换而得到的向量序列;表示对l-k层进行注意力机制处理后得到的内容向量。
参考图11,图11示出了一个实施例中对各层神经网络的输出采用跨层注意力机制融合的结构示意图。具体地,计算机设备可将源文本的词序列输入机器翻译模型中编码器的多层神经网络中的第一层神经网络,通过第一层神经网络的源端层变换处理,得到第一层神经网络所输出的源端向量序列。其中,源端层变换处理具体可采用上述实施例中的自注意力机制处理方式。将第一层神经网络所输出的源端向量序列作为第二层神经网络的输入,通过第二层神经网络的源端层变换处理,得到第二层神经网络所输出的源端向量序列。各层神经网络依次执行上述步骤,将前一层神经网络的输出作为当前层神经网络的输入,通过当前层神经网络的源端层变换处理,得到当前层神经网络的输出。
进一步地,机器翻译模型可对各层神经网络所输出的源端向量序列进行跨层注意力机制处理,得到各层神经网络所对应的内容向量。再对各层层神经网络所对应的内容向量进行网络融合处理,得到源端融合向量序列。
其中,对各层神经网络所输出的源端向量序列进行跨层注意力机制处理可采用如下公式计算:其中,其中,Q、K、V分别是对当层的输入(也就是前一层神经网络的输出)按三个不同的可学习参数矩阵线性变换而得到的,Q也就是请求(query)向量序列、K为键(key)向量序列、V为值(value)向量序列。相应的,Ql是指对第l层神经网络的输入按可学习参数矩阵线性变换而得到的请求向量序列;Kl-k是指对第l-k层神经网络的输入按可学习参数矩阵线性变换而得到的键向量序列;Vl-k是指对第l-k层神经网络的输入按可学习参数矩阵线性变换而得到的值向量序列。
可以理解的是,对于解码器而言,解码器中的多层神经网络逐层对源端融合向量序列进行解码,得到融合了各层神经网络所输出的目标端向量序列的目标端融合向量序列的过程中,可以采用和编码器相应的上述融合方式,也可以采用和编码器不同的融合方式。
上述实施例中,通过跨层注意力机制融合的方式融合各层神经网络所输出的源端向量序列得到源端融合向量序列,可以融合各层的语义和句法信息,更充分的学习到机器翻译模型中各隐层表示,减少了在文本翻译过程中有效信息的丢失,大大提高了文本翻译的准确率。
在一个实施例中,机器翻译模型的训练步骤具体包括以下步骤:
S1202,获取样本集中训练样本的样本词序列、以及参考输出概率序列。
具体地,样本集是用于进行模型训练时需要的大量的训练数据的集合。样本集中包括各个样本对应的样本词序列、以及对应的参考输出概率序列。样本集中的样本数据可以是从多个公开数据集中获取的。其中,参考输出概率序列中最大概率所对应的候选词为参考目标词。
S1204,将样本词序列输入机器翻译模型中进行训练,得到预测输出概率序列。
具体地,计算机设备可将样本词序列输入到机器翻译模型中,根据机器翻译模型执行上述文本翻译方法,得到预测输出概率序列。计算机设备可朝着减小预测输出概率序列和参考输出概率之间的差异的方向,调整模型参数。这样,通过不断的输入样本词序列,得到预测输出概率序列,根据预测输出概率序列和参考输出概率之间的差异调整模型参数,以训练机器翻译模型。
S1206,根据参考输出概率序列和预测输出概率序列构建最大似然函数。
其中,最大似然函数用于评估参考输出概率序列与预测输出概率序列之间的差异程度。最大似然函数承担了训练得到好的机器翻译模型的责任,使模型生成语法正确、文字流畅的目标文本。
在一个实施例中,可通过以下公式构建最大似然函数:
其中,argmax是表示寻找具有最大值的参量的函数,就是求使得logP(yn|xn;θ)的值最大时的θ值。是模型训练中的训练样本对,也就是样本词序列、及参考输出概率。log为对数函数,∑()为叠加运算,θ为模型参数。
S1208,根据不同层神经网络所对应的向量序列之间的差异性构建层差异函数。
其中,层差异函数用于评估神经网络中不同层之间的差异程度。具体地,机器翻译模型可逐个根据不同层的输出之间的差异,构建层差异函数。在一个实施例中,机器翻译模型可通过相邻层之间的差异构建层差异函数。
在一个实施例中,机器翻译模型可分别获取不同层卷积神经网络所对应的向量序列;根据各不同层卷积神经网络所对应的向量序列之间的差异,构建差异函数;将差异函数进行正则化处理,得到层差异函数。
具体地,机器翻译模型可通过计算各隐层之间向量的平方余弦距离之平均来计算不同层卷积神经网络所对应的向量序列之间的差异。可参考以下公式:
其中,Hl={s1,s2,…,sN},Hl′={t1,t2,…,tN};si和ti分别表示不同层神经网络中的隐含向量。
在一个实施例中,计算机设备还可将不同层神经网络所输出的向量序列输入至新的神经网络判别器,通过神经网络判别器学出各层之间的相似性,也就可以得到不同层之间的差异。
进一步地,机器翻译模型根据各不同层卷积神经网络所对应的向量序列之间的差异,构建差异函数后,可将差异函数进行正则化处理,得到层差异函数。参考以下公式:通过将差异函数进行正则化处理,可以增强层与层之间的差异,使得机器翻译模型可以更好的融合各层神经网络的输出,更充分的学习到机器翻译模型中各隐层表示,减少了在文本翻译过程中有效信息的丢失。
S1210,将最大似然函数和层差异函数的加权和函数作为机器翻译模型的目标函数。
具体地,机器翻译模型可通过以下公式得到各个样本的目标函数:J=Jlikelihood+λJdiversity。其中,其中,λ是加权系数;分别对最大似然函数和层差异函数进行加权求和,得到最终的目标函数。
在一个实施例中,机器翻译模块可根据所有不同层之间的差异构建层差异函数。或者,为了减少计算量,机器翻译模型可根据相邻层之间的差异构建层差异函数。再根据层差异函数和最大似然函数构建目标函数。
在一个实施例中,通过以下公式表示目标函数:
其中,[x,y]是模型训练中的训练样本对;Hl={s1,s2,…,sN},Hl+1={t1,t2,…,tN};si和ti分别表示不同层神经网络中的隐含向量;D(Hl,Hl+1)表示相邻层卷积神经网络所对应的向量序列之间的差异的值;λ是超参数;θ,γ分别是模型参数。
S1212,将目标函数最大化时的模型参数作为机器翻译模型的模型参数,返回将样本词序列输入机器翻译模型中进行训练,得到预测输出概率序列的步骤继续训练,直至满足训练停止条件时停止训练。
其中,训练停止条件是结束模型训练的条件。训练停止条件可以是达到预设的迭代次数,或者是调整模型参数后的机器翻译模型的性能指标达到预设指标。调整机器翻译模型的模型参数,是对机器翻译模型的模型参数进行调整。
具体地,对于每个样本序列对应的目标函数,取目标函数最大时的模型参数作为机器翻译模型的模型参数,然后在该模型参数的基础上对下一个样本序列进行预测,以对模型参数继续进行训练,直至满足训练停止条件时停止训练。
在一个实施例中,本申请提供的至少五种融合方式,可分别通过相应的方法训练机器翻译模型来实现。本申请提供的各种实施例可以用在所有主流神经网络机器翻译***中,并适用于所有语言的翻译任务。本申请各种实施例在文本翻译上,翻译质量都有显著提升。
上述实施例中,在训练模型的过程中,训练的目标不仅仅考虑最大似然,还考虑了神经网络不同层之间的差异,使得训练得到的机器翻译模型可以更充分的学习到各隐层表示,减少了在文本翻译过程中有效信息的丢失,大大提高了文本翻译的准确率,使得目标文本的质量更高。
如图13所示,在一个具体地实施例中,文本翻译方法具体包括以下步骤:
S1302,获取源文本的词序列。
S1304,向机器翻译模型中编码器的多层神经网络中的第一层神经网络,输入词序列,获得第一层神经网络所输出的源端向量序列。
S1306,在从多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当前层神经网络中词序列中各词所对应的第一自注意力分配权重向量。
S1308,根据词序列中各词所对应的第一自注意力分配权重向量、以及前一层神经网络所输出的源端向量序列,分别计算得到当前层神经网络中、词序列中各词所对应的源端向量。
S1310,拼接当前层神经网络中、词序列中各词所对应的源端向量,得到当前层神经网络所输出的源端向量序列,直至得到各层神经网络分别输出的源端向量序列。
S1312,融合源端向量序列,得到源端融合向量序列。源端融合向量序列融合了各层神经网络所输出的源端向量序列。
S1214,将机器翻译模型历史输出的目标词的词向量,输入机器翻译模型中解码器的多层神经网络中的第一层神经网络,获得当次的第一层神经网络所输出的目标端向量序列。
S1316,在从多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当次的、各目标词所对应的第二自注意力分配权重向量。
S1318,根据各目标词所对应的第二自注意力分配权重向量、以及前一层神经网络所对应的目标端向量序列,分别计算得到当次的、当前层神经网络中各目标词所对应的第一目标端向量。
S1320,在从多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当次的、各目标词所对应的注意力分配权重向量;注意力分类权重向量与源端融合向量序列对应。
S1322,根据各目标词所对应的注意力分配权重向量、以及源端融合向量序列,分别计算得到当次的、当前层神经网络中各目标词所对应的第二目标端向量。
S1324,融合第一目标端向量和第二目标端向量,得到当次的目标端向量。
S1326,拼接当次的当前层神经网络中、各个目标词所对应的目标端向量,得到当次的、当前层神经网络输出的目标端向量序列,直至得到当次的各层神经网络分别输出的目标端向量序列。
S1328,融合目标端向量序列,得到目标端融合向量序列。
S1330,根据当前时刻的目标端融合向量序列,确定机器翻译模型当前时刻输出的目标词。
S1332,根据机器翻译模型输出的各目标词,生成源文本对应的目标文本。
上述文本翻译方法,通过机器翻译模型中编码器的多层神经网络,逐层对源文本的词序列进行语义编码,融合各层神经网络所输出的源端向量序列,得到源端融合向量序列。这样通过融合各层神经网络所输出的源端向量序列,可以融合机器翻译模型中各隐层的信息,以学习更好的隐层表示。再通过机器翻译模型的解码器,根据机器翻译模型前次输出的目标词的词向量,对源端融合向量序列进行解码,得到当次的目标端向量序列,根据目标端向量序列,确定机器翻译模型当次所输出的目标词。依据机器翻译模型输出的各目标词,生成与源文本对应的目标文本。这样,通过编码-解码框架对源文本进行文本翻译时,可以融合各层的语义和句法信息,更充分的学习到机器翻译模型中各隐层表示,减少了在文本翻译过程中有效信息的丢失,从而大大提高了文本翻译的准确率。
图13为一个实施例中文本翻译方法的流程示意图。应该理解的是,虽然图13的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图13中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图14所示,在一个实施例中,提供了一种文本翻译装置1400,包括:获取模块1401、编码模块1402、解码模块1403、确定模块1404和生成模块1405。
获取模块1401,用于获取源文本的词序列。
编码模块1402,用于通过机器翻译模型中编码器的多层神经网络,逐层对词序列进行语义编码,得到源端融合向量序列;源端融合向量序列融合了各层神经网络所输出的源端向量序列。
解码模块1403,用于通过机器翻译模型的解码器,根据机器翻译模型前次输出的目标词的词向量,对源端融合向量序列进行解码,得到当次的目标端向量序列。
确定模块1404,用于根据目标端向量序列,确定机器翻译模型当次输出的目标词。
生成模块1405,用于根据机器翻译模型输出的各目标词,生成源文本对应的目标文本。
在一个实施例中,编码模块1402还用于向机器翻译模型中编码器的多层神经网络中的第一层神经网络,输入词序列,获得第一层神经网络所输出的源端向量序列;在从多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当前层神经网络中词序列中各词所对应的第一自注意力分配权重向量;根据词序列中各词所对应的第一自注意力分配权重向量、以及前一层神经网络所输出的源端向量序列,分别计算得到当前层神经网络中、词序列中各词所对应的源端向量;拼接当前层神经网络中、词序列中各词所对应的源端向量,得到当前层神经网络所输出的源端向量序列,直至得到各层神经网络分别输出的源端向量序列;融合源端向量序列,得到源端融合向量序列。
在一个实施例中,解码模块1403还用于通过机器翻译模型中解码器的多层神经网络,根据机器翻译模型前次输出的目标词的词向量,逐层对源端融合向量序列进行解码,得到当次的目标端融合向量序列;目标端融合向量序列融合了各层神经网络所输出的目标端向量序列。确定模块1404还用于根据当前时刻的目标端融合向量序列,确定机器翻译模型当前时刻输出的目标词。
在一个实施例中,解码模块1403还用于将机器翻译模型历史输出的目标词的词向量,输入机器翻译模型中解码器的多层神经网络中的第一层神经网络,获得当次的第一层神经网络所输出的目标端向量序列;在从多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当次的、各目标词所对应的第二自注意力分配权重向量;根据各目标词所对应的第二自注意力分配权重向量、以及前一层神经网络所对应的目标端向量序列,分别计算得到当次的、当前层神经网络中各目标词所对应的第一目标端向量;在从多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当次的、各目标词所对应的注意力分配权重向量;注意力分类权重向量与源端融合向量序列对应;根据各目标词所对应的注意力分配权重向量、以及源端融合向量序列,分别计算得到当次的、当前层神经网络中各目标词所对应的第二目标端向量;融合第一目标端向量和第二目标端向量,得到当次的目标端向量;拼接当次的当前层神经网络中、各个目标词所对应的目标端向量,得到当次的、当前层神经网络输出的目标端向量序列,直至得到当次的各层神经网络分别输出的目标端向量序列;融合目标端向量序列,得到目标端融合向量序列。
在一个实施例中,编码模块1402还用于向机器翻译模型中编码器的多层神经网络中的第一层神经网络,输入词序列,获得第一层神经网络所输出的源端向量序列;在从多层神经网络中的第二层神经网络起的当前层神经网络中,获取当前层的所有前序层神经网络所分别对应的前序源端向量序列;对前序源端向量序列进行线性叠加,得到综合前序源端向量序列;根据综合前序源端向量序列和前一层神经网络所对应的源端向量序列,计算得到当前层神经网络所输出的源端向量序列,直到得到多层神经网络中最后一层神经网络所输出的源端向量序列;将最后一层神经网络所输出的源端向量序列作为源端融合向量序列。
在一个实施例中,编码模块1402还用于通过机器翻译模型中编码器的多层神经网络,逐层对词序列进行语义编码,得到各层神经网络源所输出的源端向量序列;
对各层神经网络所输出的源端向量序列进行线性叠加,得到源端融合向量序列;其中,通过以下公式进行线性叠加计算:
在一个实施例中,编码模块1402还用于向机器翻译模型中编码器的多层神经网络中的第一层神经网络,输入词序列,获得第一层神经网络所输出的源端向量序列;通过机器翻译模型中编码器的多层神经网络中的第二层神经网络,对第一层神经网络所输出的源端向量序列进行语义编码,得到第二层神经网络所输出的源端向量序列;对第一层神经网络所输出的源端向量序列、以及第二层神经网络所输出的源端向量序列进行网络融合处理,得到与第二层神经网络对应的网络融合向量序列;在从多层神经网络中的第三层神经网络起的当前层神经网络中,获取前一层神经网络对应的网络融合向量序列;对当前层神经网络所输出的源端向量序列、以及前一层神经网络对应的网络融合向量序列进行网络融合处理,得到与当前层神经网络对应的网络融合向量序列,直到得到与多层神经网络中最后一层神经网络对应的网络融合向量序列;将最后一层神经网络所对应的网络融合向量序列作为源端融合向量序列。
在一个实施例中,编码模块1402还用于通过以下公式计算得到源端融合向量序列:
其中,AGG表示融合网络处理;表示与第2i层神经网络对应的源端融合向量序列;表示与第2(i-1)层神经网络对应的源端融合向量序列;H2i-1表示第2i-1层神经网络输出的源端向量序列;H2i表示第2i层神经网络输出的源端向量序列。
在一个实施例中,编码模块1402还用于通过机器翻译模型中编码器的多层神经网络,逐层对词序列进行语义编码,得到各层神经网络源所输出的源端向量序列;
对各层神经网络所输出的源端向量序列进行跨层注意力机制融合,得到源端融合向量序列;其中,通过以下公式进行跨层注意力机制融合计算:
其中,AGG表示融合网络处理;ATT表示注意力机制处理;Cl表示与第l层神经网络对应的源端融合向量序列;Q、K、V分别表示当前层神经网络的输入分别被三个不同的可学习参数矩阵线性变换而得到的向量序列;表示对l-k层进行注意力机制处理后得到的内容向量。
参考图15,在一个实施例中,文本翻译装置1400还包括训练模块1406,训练模块1406用于获取样本集中训练样本的样本词序列、以及参考输出概率序列;将样本词序列输入机器翻译模型中进行训练,得到预测输出概率序列;根据参考输出概率序列和预测输出概率序列构建最大似然函数;根据不同层神经网络所对应的向量序列之间的差异性构建层差异函数;将最大似然函数和层差异函数的加权和函数作为机器翻译模型的目标函数;将目标函数最大化时的模型参数作为机器翻译模型的模型参数,返回将样本词序列输入机器翻译模型中进行训练,得到预测输出概率序列的步骤继续训练,直至满足训练停止条件时停止训练。
在一个实施例中,训练模块1406还用于分别获取不同层卷积神经网络所对应的向量序列;根据各不同层卷积神经网络所对应的向量序列之间的差异,构建差异函数;将差异函数进行正则化处理,得到层差异函数。
在一个实施例中,训练模块1406还用于通过以下公式表示目标函数:
其中,[x,y]是模型训练中的训练样本对;Hl={s1,s2,…,sN},Hl+1={t1,t2,…,tN};si和ti分别表示不同层神经网络中的隐含向量;D(Hl,Hl+1)表示相邻层卷积神经网络所对应的向量序列之间的差异的值;λ是超参数;θ,γ分别是模型参数。
上述文本翻译装置,通过机器翻译模型中编码器的多层神经网络,逐层对源文本的词序列进行语义编码,融合各层神经网络所输出的源端向量序列,得到源端融合向量序列。这样通过融合各层神经网络所输出的源端向量序列,可以融合机器翻译模型中各隐层的信息,以学习更好的隐层表示。再通过机器翻译模型的解码器,根据机器翻译模型前次输出的目标词的词向量,对源端融合向量序列进行解码,得到当次的目标端向量序列,根据目标端向量序列,确定机器翻译模型当次所输出的目标词。依据机器翻译模型输出的各目标词,生成与源文本对应的目标文本。这样,通过编码-解码框架对源文本进行文本翻译时,可以融合各层的语义和句法信息,更充分的学习到机器翻译模型中各隐层表示,减少了在文本翻译过程中有效信息的丢失,从而大大提高了文本翻译的准确率。
图16示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110或服务器120。如图16所示,该计算机设备包括该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现文本翻译方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行文本翻译方法。
本领域技术人员可以理解,图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的文本翻译装置可以实现为一种计算机程序的形式,计算机程序可在如图16所示的计算机设备上运行。计算机设备的存储器中可存储组成该文本翻译装置的各个程序模块,比如,图14所示的获取模块、编码模块、解码模块、确定模块和生成模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的文本翻译方法中的步骤。
例如,图16所示的计算机设备可以通过如图14所示的文本翻译装置中的获取模块执行步骤S202。计算机设备可通过编码模块执行步骤S204。计算机设备可通过解码模块执行步骤S206。计算机设备可通过确定模块执行步骤S208。计算机设备可通过生成模块执行步骤S210。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述文本翻译方法的步骤。此处文本翻译方法的步骤可以是上述各个实施例的文本翻译方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述文本翻译方法的步骤。此处文本翻译方法的步骤可以是上述各个实施例的文本翻译方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (26)
1.一种文本翻译方法,包括:
获取源文本的词序列;
通过机器翻译模型中编码器的多层神经网络,逐层对所述词序列进行语义编码,得到源端融合向量序列;所述源端融合向量序列融合了多层神经网络所输出的源端向量序列;
通过所述机器翻译模型的解码器,根据所述机器翻译模型前次输出的目标词的词向量,对所述源端融合向量序列进行解码,得到当次的目标端向量序列;
根据所述目标端向量序列,确定所述机器翻译模型当次输出的目标词;
根据所述机器翻译模型输出的各目标词,生成所述源文本对应的目标文本;
其中,融合多层神经网络所输出的源端向量序列的融合方式包括:
采用线性融合方式、递归融合方式、层次融合方式、或跨层注意力机制融合方式中的任一种方式,融合多层神经网络所输出的源端向量序列,得到源端融合向量序列,或者,
通过将所述多层神经网络中当前层的所有前序层神经网络分别输出的源端向量序列作为所述当前层的输入,根据所述输入计算得到所述当前层的输出,直至得到最后一层神经网络的输出,即所述源端融合向量序列。
2.根据权利要求1所述的方法,其特征在于,所述通过所述机器翻译模型的解码器,根据所述机器翻译模型前次输出的目标词的词向量,对所述源端融合向量序列进行解码,得到当次的目标端向量序列,包括:
通过所述机器翻译模型中解码器的多层神经网络,根据所述机器翻译模型前次输出的目标词的词向量,逐层对所述源端融合向量序列进行解码,得到当次的目标端融合向量序列;所述目标端融合向量序列融合了多层神经网络所输出的目标端向量序列;
所述根据所述目标端向量序列,确定所述机器翻译模型当前时刻输出的目标词,包括:
根据当前时刻的目标端融合向量序列,确定所述机器翻译模型当前时刻输出的目标词。
3.根据权利要求2所述的方法,其特征在于,所述通过所述机器翻译模型中解码器的多层神经网络,根据所述机器翻译模型前一时刻输出的目标词的词向量,逐层对所述源端融合向量序列进行解码,得到目标端融合向量序列,包括:
将所述机器翻译模型历史输出的目标词的词向量,输入机器翻译模型中解码器的多层神经网络中的第一层神经网络,获得当次的第一层神经网络所输出的目标端向量序列;
在从所述多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当次的、各目标词所对应的第二自注意力分配权重向量;
根据各目标词所对应的第二自注意力分配权重向量、以及前序层神经网络所对应的目标端向量序列,分别计算得到当次的、当前层神经网络中各目标词所对应的第一目标端向量;
在从所述多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当次的、各目标词所对应的注意力分配权重向量;所述注意力分类权重向量与所述源端融合向量序列对应;
根据各目标词所对应的注意力分配权重向量、以及所述源端融合向量序列,分别计算得到当次的、当前层神经网络中各目标词所对应的第二目标端向量;
融合所述第一目标端向量和所述第二目标端向量,得到当次的目标端向量;
拼接当次的当前层神经网络中、各个目标词所对应的目标端向量,得到当次的、当前层神经网络输出的目标端向量序列,直至得到当次的各层神经网络分别输出的目标端向量序列;
获取融合了多层神经网络所输出的目标端融合向量序列。
4.根据权利要求1所述的方法,其特征在于,所述通过机器翻译模型中编码器的多层神经网络,逐层对所述词序列进行语义编码,得到源端融合向量序列,包括:
向机器翻译模型中编码器的多层神经网络中的第一层神经网络,输入所述词序列,获得所述第一层神经网络所输出的源端向量序列;
在从所述多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当前层神经网络中所述词序列中各词所对应的第一自注意力分配权重向量;
根据所述词序列中各词所对应的第一自注意力分配权重向量、以及前序层神经网络所输出的源端向量序列,分别计算得到当前层神经网络中、所述词序列中各词所对应的源端向量;
拼接当前层神经网络中、所述词序列中各词所对应的源端向量,得到当前层神经网络所输出的源端向量序列,直至得到各层神经网络分别输出的源端向量序列;
获取融合了多层神经网络所输出的源端向量序列的源端融合向量序列。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述多层神经网络为稠密连接网络;所述通过机器翻译模型中编码器的多层神经网络,逐层对所述词序列进行语义编码,得到源端融合向量序列包括:
向机器翻译模型中编码器的多层神经网络中的第一层神经网络,输入所述词序列,获得所述第一层神经网络所输出的源端向量序列;
在从所述多层神经网络中的第二层神经网络起的当前层神经网络中,获取当前层的所有前序层神经网络所分别对应的前序源端向量序列;
对所述前序源端向量序列进行线性叠加,得到综合前序源端向量序列;
根据所述综合前序源端向量序列和前一层神经网络所对应的源端向量序列,计算得到当前层神经网络所输出的源端向量序列,直到得到所述多层神经网络中最后一层神经网络所输出的源端向量序列;
将所述最后一层神经网络所输出的源端向量序列作为源端融合向量序列。
7.根据权利要求1至3中任一项所述的方法,其特征在于,所述通过机器翻译模型中编码器的多层神经网络,逐层对所述词序列进行语义编码,得到源端融合向量序列包括:
向机器翻译模型中编码器的多层神经网络中的第一层神经网络,输入所述词序列,获得所述第一层神经网络所输出的源端向量序列;
通过所述机器翻译模型中编码器的多层神经网络中的第二层神经网络,对所述第一层神经网络所输出的源端向量序列进行语义编码,得到第二层神经网络所输出的源端向量序列;
对第一层神经网络所输出的源端向量序列、以及第二层神经网络所输出的源端向量序列进行网络融合处理,得到与所述第二层神经网络对应的网络融合向量序列;
在从所述多层神经网络中的第三层神经网络起的当前层神经网络中,获取前一层神经网络对应的网络融合向量序列;
对当前层神经网络所输出的源端向量序列、以及所述前一层神经网络对应的网络融合向量序列进行网络融合处理,得到与当前层神经网络对应的网络融合向量序列,直到得到与所述多层神经网络中最后一层神经网络对应的网络融合向量序列;
将最后一层神经网络所对应的网络融合向量序列作为源端融合向量序列。
9.根据权利要求1至3中任一项所述的方法,其特征在于,所述通过机器翻译模型中编码器的多层神经网络,逐层对所述词序列进行语义编码,得到源端融合向量序列包括:
通过机器翻译模型中编码器的多层神经网络,逐层对所述词序列进行语义编码,得到各层神经网络源所输出的源端向量序列;
对各层神经网络所输出的源端向量序列进行跨层注意力机制融合,得到源端融合向量序列;其中,通过以下公式进行跨层注意力机制融合计算:
10.根据权利要求1所述的方法,其特征在于,所述机器翻译模型的训练步骤包括:
获取样本集中训练样本的样本词序列、以及参考输出概率序列;
将所述样本词序列输入机器翻译模型中进行训练,得到预测输出概率序列;
根据所述参考输出概率序列和所述预测输出概率序列构建最大似然函数;
根据不同层神经网络所对应的向量序列之间的差异性构建层差异函数;
将所述最大似然函数和所述层差异函数的加权和函数作为所述机器翻译模型的目标函数;
将所述目标函数最大化时的模型参数作为机器翻译模型的模型参数,返回所述将所述样本词序列输入机器翻译模型中进行训练,得到预测输出概率序列的步骤继续训练,直至满足训练停止条件时停止训练。
11.根据权利要求10所述的方法,其特征在于,所述根据不同层神经网络所对应的向量序列之间的差异性构建层差异函数,包括:
分别获取不同层卷积神经网络所对应的向量序列;
根据各不同层卷积神经网络所对应的向量序列之间的差异,构建差异函数;
将所述差异函数进行正则化处理,得到层差异函数。
13.一种文本翻译装置,其特征在于,所述装置包括:
获取模块,用于获取源文本的词序列;
编码模块,用于通过机器翻译模型中编码器的多层神经网络,逐层对所述词序列进行语义编码,得到源端融合向量序列;所述源端融合向量序列融合了多层神经网络所输出的源端向量序列;
解码模块,用于通过所述机器翻译模型的解码器,根据所述机器翻译模型前次输出的目标词的词向量,对所述源端融合向量序列进行解码,得到当次的目标端向量序列;
确定模块,用于根据所述目标端向量序列,确定所述机器翻译模型当次输出的目标词;
生成模块,用于根据所述机器翻译模型输出的各目标词,生成所述源文本对应的目标文本;
其中,融合多层神经网络所输出的源端向量序列的融合方式包括:
采用线性融合方式、递归融合方式、层次融合方式、或跨层注意力机制融合方式中的任一种方式,融合多层神经网络所输出的源端向量序列,得到源端融合向量序列,或者,通过将所述多层神经网络中当前层的所有前序层神经网络分别输出的源端向量序列作为所述当前层的输入,根据所述输入计算得到所述当前层的输出,直至得到最后一层神经网络的输出,即所述源端融合向量序列。
14.根据权利要求13所述的装置,其特征在于,所述解码模块,具体用于通过所述机器翻译模型中解码器的多层神经网络,根据所述机器翻译模型前次输出的目标词的词向量,逐层对所述源端融合向量序列进行解码,得到当次的目标端融合向量序列;所述目标端融合向量序列融合了多层神经网络所输出的目标端向量序列;
所述确定模块,具体用于根据当前时刻的目标端融合向量序列,确定所述机器翻译模型当前时刻输出的目标词。
15.根据权利要求14所述的装置,其特征在于,所述解码模块,具体用于将所述机器翻译模型历史输出的目标词的词向量,输入机器翻译模型中解码器的多层神经网络中的第一层神经网络,获得当次的第一层神经网络所输出的目标端向量序列;在从所述多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当次的、各目标词所对应的第二自注意力分配权重向量;根据各目标词所对应的第二自注意力分配权重向量、以及前序层神经网络所对应的目标端向量序列,分别计算得到当次的、当前层神经网络中各目标词所对应的第一目标端向量;在从所述多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当次的、各目标词所对应的注意力分配权重向量;所述注意力分类权重向量与所述源端融合向量序列对应;根据各目标词所对应的注意力分配权重向量、以及所述源端融合向量序列,分别计算得到当次的、当前层神经网络中各目标词所对应的第二目标端向量;融合所述第一目标端向量和所述第二目标端向量,得到当次的目标端向量;拼接当次的当前层神经网络中、各个目标词所对应的目标端向量,得到当次的、当前层神经网络输出的目标端向量序列,直至得到当次的各层神经网络分别输出的目标端向量序列;获取融合了多层神经网络所输出的目标端融合向量序列。
16.根据权利要求13所述的装置,其特征在于,所述编码模块,具体用于向机器翻译模型中编码器的多层神经网络中的第一层神经网络,输入所述词序列,获得所述第一层神经网络所输出的源端向量序列;在从所述多层神经网络中的第二层神经网络起的当前层神经网络中,分别获取当前层神经网络中所述词序列中各词所对应的第一自注意力分配权重向量;根据所述词序列中各词所对应的第一自注意力分配权重向量、以及前序层神经网络所输出的源端向量序列,分别计算得到当前层神经网络中、所述词序列中各词所对应的源端向量;拼接当前层神经网络中、所述词序列中各词所对应的源端向量,得到当前层神经网络所输出的源端向量序列,直至得到各层神经网络分别输出的源端向量序列;获取融合了多层神经网络所输出的源端向量序列的源端融合向量序列。
17.根据权利要求13至15中任一项所述的装置,其特征在于,所述多层神经网络为稠密连接网络;所述编码模块,具体用于向机器翻译模型中编码器的多层神经网络中的第一层神经网络,输入所述词序列,获得所述第一层神经网络所输出的源端向量序列;在从所述多层神经网络中的第二层神经网络起的当前层神经网络中,获取当前层的所有前序层神经网络所分别对应的前序源端向量序列;对所述前序源端向量序列进行线性叠加,得到综合前序源端向量序列;根据所述综合前序源端向量序列和前一层神经网络所对应的源端向量序列,计算得到当前层神经网络所输出的源端向量序列,直到得到所述多层神经网络中最后一层神经网络所输出的源端向量序列;将所述最后一层神经网络所输出的源端向量序列作为源端融合向量序列。
19.根据权利要求13至15中任一项所述的装置,其特征在于,所述编码模块,具体用于向机器翻译模型中编码器的多层神经网络中的第一层神经网络,输入所述词序列,获得所述第一层神经网络所输出的源端向量序列;通过所述机器翻译模型中编码器的多层神经网络中的第二层神经网络,对所述第一层神经网络所输出的源端向量序列进行语义编码,得到第二层神经网络所输出的源端向量序列;对第一层神经网络所输出的源端向量序列、以及第二层神经网络所输出的源端向量序列进行网络融合处理,得到与所述第二层神经网络对应的网络融合向量序列;在从所述多层神经网络中的第三层神经网络起的当前层神经网络中,获取前一层神经网络对应的网络融合向量序列;对当前层神经网络所输出的源端向量序列、以及所述前一层神经网络对应的网络融合向量序列进行网络融合处理,得到与当前层神经网络对应的网络融合向量序列,直到得到与所述多层神经网络中最后一层神经网络对应的网络融合向量序列;将最后一层神经网络所对应的网络融合向量序列作为源端融合向量序列。
22.根据权利要求13所述的装置,其特征在于,所述装置还包括训练模块,用于获取样本集中训练样本的样本词序列、以及参考输出概率序列;将所述样本词序列输入机器翻译模型中进行训练,得到预测输出概率序列;根据所述参考输出概率序列和所述预测输出概率序列构建最大似然函数;根据不同层神经网络所对应的向量序列之间的差异性构建层差异函数;将所述最大似然函数和所述层差异函数的加权和函数作为所述机器翻译模型的目标函数;将所述目标函数最大化时的模型参数作为机器翻译模型的模型参数,返回所述将所述样本词序列输入机器翻译模型中进行训练,得到预测输出概率序列的步骤继续训练,直至满足训练停止条件时停止训练。
23.根据权利要求22所述的装置,其特征在于,所述训练模块,还用于分别获取不同层卷积神经网络所对应的向量序列;根据各不同层卷积神经网络所对应的向量序列之间的差异,构建差异函数;将所述差异函数进行正则化处理,得到层差异函数。
25.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至12中任一项所述方法的步骤。
26.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至12中任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010164964.5A CN111382584B (zh) | 2018-09-04 | 2018-09-04 | 文本翻译方法、装置、可读存储介质和计算机设备 |
CN201811026196.6A CN109271646B (zh) | 2018-09-04 | 2018-09-04 | 文本翻译方法、装置、可读存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811026196.6A CN109271646B (zh) | 2018-09-04 | 2018-09-04 | 文本翻译方法、装置、可读存储介质和计算机设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010164964.5A Division CN111382584B (zh) | 2018-09-04 | 2018-09-04 | 文本翻译方法、装置、可读存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109271646A CN109271646A (zh) | 2019-01-25 |
CN109271646B true CN109271646B (zh) | 2022-07-08 |
Family
ID=65187539
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811026196.6A Active CN109271646B (zh) | 2018-09-04 | 2018-09-04 | 文本翻译方法、装置、可读存储介质和计算机设备 |
CN202010164964.5A Active CN111382584B (zh) | 2018-09-04 | 2018-09-04 | 文本翻译方法、装置、可读存储介质和计算机设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010164964.5A Active CN111382584B (zh) | 2018-09-04 | 2018-09-04 | 文本翻译方法、装置、可读存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN109271646B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109635269B (zh) * | 2019-01-31 | 2023-06-16 | 苏州大学 | 一种机器翻译文本的译后编辑方法及装置 |
CN109918684B (zh) * | 2019-03-05 | 2024-07-09 | 腾讯科技(深圳)有限公司 | 模型训练方法、翻译方法、相关装置、设备及存储介质 |
CN111368564B (zh) * | 2019-04-17 | 2022-04-08 | 腾讯科技(深圳)有限公司 | 文本处理方法、装置、计算机可读存储介质和计算机设备 |
CN110175338B (zh) * | 2019-05-31 | 2023-09-26 | 北京金山数字娱乐科技有限公司 | 一种数据处理方法及装置 |
CN110334359B (zh) * | 2019-06-05 | 2021-06-15 | 华为技术有限公司 | 文本翻译方法和装置 |
CN110427630B (zh) * | 2019-06-10 | 2023-10-13 | 北京捷通华声科技股份有限公司 | 机器翻译的方法、装置、电子设备、存储介质及翻译模型 |
CN110457713B (zh) * | 2019-06-19 | 2023-07-28 | 腾讯科技(深圳)有限公司 | 基于机器翻译模型的翻译方法、装置、设备和存储介质 |
CN110263353B (zh) * | 2019-06-25 | 2023-10-13 | 北京金山数字娱乐科技有限公司 | 一种机器翻译方法及装置 |
CN110414012B (zh) * | 2019-07-29 | 2022-12-09 | 腾讯科技(深圳)有限公司 | 一种基于人工智能的编码器构建方法及相关设备 |
CN110472255B (zh) * | 2019-08-20 | 2021-03-02 | 腾讯科技(深圳)有限公司 | 神经网络机器翻译方法、模型、电子终端以及存储介质 |
CN110717340B (zh) * | 2019-09-29 | 2023-11-21 | 百度在线网络技术(北京)有限公司 | 推荐方法、装置、电子设备及存储介质 |
CN110717345B (zh) * | 2019-10-15 | 2020-07-07 | 内蒙古工业大学 | 一种译文重对齐的循环神经网络跨语言机器翻译方法 |
CN110889450B (zh) * | 2019-11-27 | 2023-08-11 | 腾讯科技(深圳)有限公司 | 超参数调优、模型构建方法和装置 |
CN111862956B (zh) * | 2020-07-27 | 2022-07-12 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN111931517B (zh) * | 2020-08-26 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 文本翻译方法、装置、电子设备以及存储介质 |
CN112395832B (zh) * | 2020-11-17 | 2024-05-21 | 上海金桥信息股份有限公司 | 一种基于序列到序列的文本量化分析与生成方法及*** |
CN112597778B (zh) * | 2020-12-14 | 2023-06-13 | 华为技术有限公司 | 一种翻译模型的训练方法、翻译方法以及设备 |
CN112883149B (zh) * | 2021-01-20 | 2024-03-26 | 华为技术有限公司 | 一种自然语言处理方法以及装置 |
CN112990434B (zh) * | 2021-03-09 | 2023-06-20 | 平安科技(深圳)有限公司 | 机器翻译模型的训练方法及相关装置 |
CN112733043B (zh) * | 2021-03-30 | 2021-07-23 | 腾讯科技(深圳)有限公司 | 评论推荐方法及装置 |
CN114564562B (zh) * | 2022-02-22 | 2024-05-14 | 平安科技(深圳)有限公司 | 基于答案指导的题目生成方法、装置、设备及存储介质 |
CN117473170B (zh) * | 2023-12-27 | 2024-04-09 | 布比(北京)网络技术有限公司 | 基于代码表征的智能合约模版推荐方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368476A (zh) * | 2017-07-25 | 2017-11-21 | 深圳市腾讯计算机***有限公司 | 一种翻译的方法、目标信息确定的方法及相关装置 |
CN107608973A (zh) * | 2016-07-12 | 2018-01-19 | 华为技术有限公司 | 一种基于神经网络的翻译方法及装置 |
CN107870902A (zh) * | 2016-09-26 | 2018-04-03 | 谷歌公司 | 神经机器翻译*** |
WO2018081089A1 (en) * | 2016-10-26 | 2018-05-03 | Deepmind Technologies Limited | Processing text sequences using neural networks |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126507B (zh) * | 2016-06-22 | 2019-08-09 | 哈尔滨工业大学深圳研究生院 | 一种基于字符编码的深度神经翻译方法及*** |
US10929674B2 (en) * | 2016-08-29 | 2021-02-23 | Nec Corporation | Dual stage attention based recurrent neural network for time series prediction |
CN106844352B (zh) * | 2016-12-23 | 2019-11-08 | 中国科学院自动化研究所 | 基于神经机器翻译***的单词预测方法及*** |
CN107357789B (zh) * | 2017-07-14 | 2020-10-02 | 哈尔滨工业大学 | 融合多语编码信息的神经机器翻译方法 |
CN107608943B (zh) * | 2017-09-08 | 2020-07-28 | 中国石油大学(华东) | 融合视觉注意力和语义注意力的图像字幕生成方法及*** |
CN108304388B (zh) * | 2017-09-12 | 2020-07-07 | 腾讯科技(深圳)有限公司 | 机器翻译方法及装置 |
CN107967262B (zh) * | 2017-11-02 | 2018-10-30 | 内蒙古工业大学 | 一种神经网络蒙汉机器翻译方法 |
CN108268452A (zh) * | 2018-01-15 | 2018-07-10 | 东北大学 | 一种基于深度学习的专业领域机器同步翻译装置及方法 |
CN108415977B (zh) * | 2018-02-09 | 2022-02-15 | 华南理工大学 | 一个基于深度神经网络及强化学习的生成式机器阅读理解方法 |
-
2018
- 2018-09-04 CN CN201811026196.6A patent/CN109271646B/zh active Active
- 2018-09-04 CN CN202010164964.5A patent/CN111382584B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608973A (zh) * | 2016-07-12 | 2018-01-19 | 华为技术有限公司 | 一种基于神经网络的翻译方法及装置 |
CN107870902A (zh) * | 2016-09-26 | 2018-04-03 | 谷歌公司 | 神经机器翻译*** |
WO2018081089A1 (en) * | 2016-10-26 | 2018-05-03 | Deepmind Technologies Limited | Processing text sequences using neural networks |
CN107368476A (zh) * | 2017-07-25 | 2017-11-21 | 深圳市腾讯计算机***有限公司 | 一种翻译的方法、目标信息确定的方法及相关装置 |
Non-Patent Citations (1)
Title |
---|
面向自然语言处理的深度学习研究;奚雪峰等;《自动化学报》;20161031;第42卷(第10期);第1445-1465页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111382584B (zh) | 2022-07-29 |
CN109271646A (zh) | 2019-01-25 |
CN111382584A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271646B (zh) | 文本翻译方法、装置、可读存储介质和计算机设备 | |
CN111368565B (zh) | 文本翻译方法、装置、存储介质和计算机设备 | |
CN110162669B (zh) | 视频分类处理方法、装置、计算机设备及存储介质 | |
CN108427771B (zh) | 摘要文本生成方法、装置和计算机设备 | |
US11113479B2 (en) | Utilizing a gated self-attention memory network model for predicting a candidate answer match to a query | |
CN110534087B (zh) | 一种文本韵律层级结构预测方法、装置、设备及存储介质 | |
CN109785824B (zh) | 一种语音翻译模型的训练方法及装置 | |
WO2019169996A1 (zh) | 视频处理、视频检索方法、装置、存储介质及服务器 | |
CN110032633B (zh) | 多轮对话处理方法、装置和设备 | |
WO2020140487A1 (zh) | 用于智能设备的人机交互语音识别方法及*** | |
CN108665506B (zh) | 图像处理方法、装置、计算机存储介质及服务器 | |
EP3885966B1 (en) | Method and device for generating natural language description information | |
EP3586276A1 (en) | Sequence processing using online attention | |
CN104541324A (zh) | 一种使用动态贝叶斯网络模型的语音识别***和方法 | |
CN108763230B (zh) | 利用外部信息的神经机器翻译方法 | |
CN113488028A (zh) | 基于快速跳跃解码的语音转写识别训练解码方法及*** | |
CN113240115A (zh) | 一种生成人脸变化图像模型的训练方法及相关装置 | |
CN116912642A (zh) | 基于双模多粒度交互的多模态情感分析方法、设备及介质 | |
CN109979461B (zh) | 一种语音翻译方法及装置 | |
CN112837673B (zh) | 基于人工智能的语音合成方法、装置、计算机设备和介质 | |
JP2020057357A (ja) | 神経網の動作方法と学習方法及びその神経網 | |
CN114239607A (zh) | 一种对话答复方法及装置 | |
CN112214592B (zh) | 一种回复对话评分模型训练方法、对话回复方法及其装置 | |
CN116958343A (zh) | 面部动画生成方法、装置、设备、介质及程序产品 | |
CN116364061A (zh) | 多场景语音识别方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |