CN107357789B - 融合多语编码信息的神经机器翻译方法 - Google Patents
融合多语编码信息的神经机器翻译方法 Download PDFInfo
- Publication number
- CN107357789B CN107357789B CN201710575907.4A CN201710575907A CN107357789B CN 107357789 B CN107357789 B CN 107357789B CN 201710575907 A CN201710575907 A CN 201710575907A CN 107357789 B CN107357789 B CN 107357789B
- Authority
- CN
- China
- Prior art keywords
- word
- ctx
- vector
- language
- dic
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
融合多语编码信息的神经机器翻译方法,本发明涉及神经机器翻译方法。本发明的目的是为了解决现有技术翻译准确率低的问题。过程为:一,得到每种语言各自对应的子字符号序列,建立dic_s1,dic_s2和dic_t;二、将词向量输入NMT模型训练,根据初值训练更新词向量,直至NMT模型的bleu值提升1‑3个点;三、得到ctx_s1和ctx_s2;四、得到融合结果;五、得到C;六、将t+1时刻qt+1按公式计算得到目标语言序列第t+1时刻的单词y′t+1的概率分布pt+1,根据pt+1采样出t+1时刻的目标单词y′t+1,直至解码出句子结束标记,解码翻译结束。本发明用于机器翻译领域。
Description
技术领域
本发明涉及神经机器翻译方法。
背景技术
机器翻译是利用计算机将一种源语言转换为另一种目标语言的过程。神经网络兴起之前,主流的统计机器翻译通过对大量的平行语料进行统计分析,构建统计翻译模型,进而句法树,词语对齐等结构,不仅过程繁琐,模型的实现也很复杂。随着神经网络的发展和普及,研究者们尝试将神经网络应用到机器翻译领域,有了现在最主流的端到到的神经机器翻译模型,这种模型不需要复杂的结构和繁琐的人工特征,而是接用神经网络将源语言映射到目标语言,并且这个网络可以联合调整,以最大限度的提高翻译性能。具体而言,这种端到端神经机器翻译模型首先使用一个称为编码器(Encoder)的神经网络将源语言句子X=(x1,x2,...,x4)编码成一个稠密向量,然后使用一个称为解码器(Decoder)的神经网络通过最大化预测序列概率从该向量中解码出目标语言句子Y=(y1,y2,...,y5)。由于神经机器翻译模型易实现而且效果好,所以现在的研究和发明都致力于改进神经机器翻译模型。
神经机器翻译模型取得的成功离跟语言模型有密不可分的联系。语言模型是自然语言处理领域的基础问题,其在词性标注、句法分析、机器翻译、信息检索等任务中起到了重要作用。语言模型可以刻画上文信息对下文信息的影响,其形式化的描述就是给定一个字符串,看它是自然语言的概率P(w1,w2,…,wt),w1到wt依次表示这句话中的各个词。由于循环神经网络(Recurrent Neural Network,RNN)利用一个循环反馈的隐层很自然的利用了上文信息,而且在理论上可以使用到全部的上文信息,这是神经语言模型的优点,也是传统的语言模型达不到的。但RNN在实际应用中存在梯度消失的问题,因此实际应用中使用的多是含门机制的长短期记忆单元(Long Short-Term Memory,LSTM)和门限循环单元(GatedRecurrent Unit,GRU)构成的循环神经网。LSTM和GRU针对RNN无法有效保留所需信息的现状,使用了记忆单元(Memory Cell)记录信息,并引入多个门(gate)控制记忆单元的更新和使用,使得所需的信息可以有效保存下来。LSTM和GRU已经被广泛应用于词性标注、命名实体识别和机器翻译等自然语言处理任务中。
神经机器翻译模型良好的翻译性能跟模型中使用的注意力(Attention)机制有很大联系。经典的神经机器翻译设计的时候由于将任意长度的句子都编码成为固定长度的稠密连续的实数向量,固定维度的向量则相当于,任何时刻都对源语言所有信息给予了同等程度的关注,这是不合理的。换句话说,越早被编码的词汇信息越容易被遗忘掉,这就会影响翻译性能,从而限制了NMT的发展。引入Attention机制的翻译模型就可以解决这个问题,通过对编码器神经网络中的各个时刻的隐层状态进行加权平均,可以在预测目标词的时候为每个目标词汇生成包含全局信息的向量。权值etj=align(zt,hj)表示目标语言中第t个时刻的词zt和源语言中第j个词hj的匹配程度,align可以看做是对齐模型。所以,引入Attention机制的神经机器翻译模型可以对编码后的上下文片段进行解码,以此来解决长句子的特征学习问题,因而会取得更好的翻译效果。
目前神经机器翻译模型的研究基本上都是使用双语语料训练的端到端的翻译模型,这种模型没有充分利用现有的多语平行语料,也没有考虑到使用语料编码之后的语义信息之间的联系改善翻译性能;导致现有技术翻译准确率低。
发明内容
本发明的目的是为了解决现有技术翻译准确率低的问题,而提出融合多语编码信息的神经机器翻译方法。
融合多语编码信息的神经机器翻译方法具体过程为:
步骤一,使用统计机器翻译平台Moses提供的分词脚本tokenizer.perl对待处理三语平行语料进行分词,然后使用BPE将分词处理后的待处理三语平行语料表征为每种语言各自对应的子字符号序列,使用Nematus平台下的build_dictionary.py脚本建立源端输入语言词典dic_s1,dic_s2和目标语言词典dic_t;
步骤二、基于源端输入语言词典dic_s1对步骤一得到的子字符号序列X=(x1,x2,...,xT)中每一个词xi使用word embedding分布式方法表示,即用一定维度的向量表示词,wi=[n1,n2,n3,...,nm],nj∈实数;i=1,2,...,T;1≤j≤m,wi为词向量;
所述word embedding为词嵌入;
其中X=(x1,x2,...,xT)为分词处理后的待处理三语平行语料中的一语;R为实数,V为源端输入语言词典dic_s1的单词数,m为词向量的维度,取值为正整数;T为句子的词的个数,取值为正整数;
将使用词向量表示的词组成的句子W=(w1,w2,...,wT)输入NMT模型训练,随机初始化W初值,根据初值训练更新W,直至NMT模型的bleu值提升1-3个点;
基于源端输入语言词典dic_s2对步骤一得到的子字符号序列Z=(z1,z2,...,zT′)中每一个词Zk使用word embedding分布式方法表示,即用一定维度的向量表示词,w′k∈R|V′|,w′k=[l1,l2,l3,...,lm′],ll′∈实数;k=1,2,...,T′;1≤l′≤m′,w′k称之为词向量;
Z=(z1,z2,...,zT′)为分词处理后的待处理三语平行语料中的一语;R为实数,V′为源端输入语言词表dic_s2的单词数,m′为词向量的维度,取值为正整数;T′为句子的词的个数,取值为正整数;
将使用词向量表示的词组成的句子W′=(w′1,w′2,...,w′T)输入NMT模型训练,随机初始化W′初值,根据初值训练更新W′,直至NMT模型的bleu值提升1-3个点;
步骤三、基于GRU单元构成循环神经网络组成的双向循环编码器,双向循环编码器对步骤二得到的词向量W=(w1,w2,...,wT)和词向量W′=(w′1,w′2,...,w′T)进行编码,得到W=(w1,w2,...,wT)的编码向量ctx_s1和W′=(w′1,w′2,...,w′T)的编码向量ctx_s2;
所述GRU为门限循环单元;
步骤四、将编码向量ctx_s1和编码向量ctx_s2进行融合,得到融合结果context=[ctx_s1;ctx_s2];
步骤五、将得到的融合结果context=[ctx_s1;ctx_s2]经过attention层按C=Φ(Wc*context+Wh*q)计算得到C;
所述Attention为注意力层;C为融合后的编码信息;
其中Φ表示函数变换,Wc表示context对应的权值参数,q表示解码器的隐层状态,Wh表示q对应的权值参数,*为乘号;
步骤六、每个时刻t,按照公式qt+1=φ(C,y′t,qt)计算得到t+1时刻解码器的隐层状态信息qt+1,基于目标语言词典dic_t,并根据t+1时刻解码器的隐层状态信息qt+1,使用公式p(y′t+1|y′<t+1,X,Z)=softmax(Wsqt+1+bl)(表示在已知t+1时刻前的所有目标词和X,Z的前提下模型预测t+1时刻的目标词的概率),计算得到第t+1时刻的单词y′t+1的概率分布pt+1,为使用BPE将分词处理后的待处理三语平行语料中的一语表征后的目标语言序列;根据pt+1采样出t+1时刻的目标单词y′t+1,直至解码出句子结束标记,解码翻译结束;
其中y′t+1为t+1时刻的NMT模型训练得到的目标词,Ws为网络权值参数,qt+1为t+1时刻的解码器的隐层状态信息,bl为网络偏置信息。
融合多语编码信息的神经机器翻译方法具体过程为:
步骤1)、使用统计机器翻译平台Moses提供的分词脚本tokenizer.perl对待处理三语平行语料进行分词,然后使用BPE将分词处理后的待处理三语平行语料表征为每种语言各自对应的子字符号序列,使用Nematus平台下的build_dictionary.py脚本建立源端输入语言词典dic_s1,dic_s2和目标语言词典dic_t;
步骤2)、基于源端输入语言词典dic_s1对步骤一得到的子字符号序列X=(x1,x2,...,xT)中每一个词xi使用word embedding分布式方法表示,即用一定维度的向量表示词,wi∈R|V|,wi=[n1,n2,n3,...,nm],nj∈实数;X=(x1,x2,...,xT)为分词处理后的待处理三语平行语料中的一语(中文),i=1,2,...,T;1≤j≤m,w'i称之为词向量;
所述word embedding为词嵌入;
其中X=(x1,x2,...,xT)为分词处理后的待处理三语平行语料中的一语;R为实数,V为源端输入语言词典dic_s1的单词数,m为正整数;T为句子的词的个数,取值为正整数;
将使用词向量表示的词组成的句子W=(w1,w2,...,wT)输入NMT模型训练,随机初始化W初值,根据初值训练更新W,直至NMT模型的bleu值提升1-3个点;
基于源端输入语言词典dic_s2对步骤一得到的子字符号序列Z=(z1,z2,...,zT′)中+每一个词Zi使用word embedding分布式方法表示,即用一定维度的向量表示词,w′k∈R|V′|,w′k=[l1,l2,l3,...,lm′],ll′∈实数;k=1,2,...,T′;1≤l′≤m′,w′k称之为词向量;
Z=(z1,z2,...,zT′)为分词处理后的待处理三语平行语料中的一语;R为实数,其中V′为源端输入语言词表dic_s2的单词数,m′为正整数;T′为句子的词的个数,为正整数;
将使用词向量表示的词组成的句子W′=(w′1,w′2,...,w′T)输入NMT模型训练,随机初始化W′初值,根据初值训练更新词向量W′,直至NMT模型的bleu值提升1-3个点;
步骤3)、基于GRU单元构成循环神经网络组成的双向循环编码器,双向循环编码器对步骤二得到的词向量W=(w1,w2,...,wT)和词向量W′=(w′1,w′2,...,w′T)进行编码,得到W=(w1,w2,...,wT)的编码向量ctx_s1和W′=(w′1,w′2,...,w′T)的编码向量ctx_s2;
所述GRU为门限循环单元;
步骤4)、将编码向量ctx_s1作为attenion的输入,按C'=Φ(W'c*ctx_s1+W'h*q')计算得到C′;
其中Φ表示函数变换,W'c表示编码向量ctx_s1作为attenion的输入时,ctx_s1对应的权值参数;q'表示编码向量ctx_s1作为attenion的输入时,解码器的隐层状态;W'h表示q'对应的权值参数;C′为编码信息(代表了源语言);
将编码向量ctx_s2作为attenion的输入,按C”=Φ(W”c*ctx_s2+W”h*q')计算得到C”;
其中Φ表示函数变换;W”c表示编码向量ctx_s2作为attenion的输入时,ctx_s2对应的权值参数;W”h表示编码向量ctx_s2作为attenion的输入时,q'对应的权值参数;C”为编码信息;
步骤5)、将得到的C′和C″用多层感知机网络按ctx=Θ(C′,C″)融合,得到ctx,Θ为多层感知机网络,ctx为融合结果;
步骤6)、每个时刻t,按照公式q′t+1=φ(ctx,y″t,q′t)计算得到t+1时刻解码器的隐层状态信息q′t+1,基于目标语言词典dic_t,并根据t+1时刻解码器的隐层状态信息q′t+1,使用公式p(y″t+1|y″<t+1,X,Z)=softmax(Ws′qt+1+b′l)(表示在已知t+1时刻前的所有目标词和X,Z的前提下模型预测t+1时刻的目标词的概率)计算得到第t+1时刻的单词y″t+1的概率分布pt+1,根据pt+1采样出t+1时刻的目标单词y″t+1,直至解码出句子结束标记,解码翻译结束;
其中y″t+1为t+1时刻的NMT模型训练得到的目标词,W′s为网络权值参数,q′t+1为t+1时刻的解码器的隐层状态信息,b′l为网络偏置信息。
本发明的有益效果为:
本发明从多语平行语料表达相同的语义信息的角度出发,将多语平行语料作为多个编码器的输入,得到多语的编码信息之后,采用向量拼接融合的方法来完善语义信息,通过融合技术丰富语义信息达到提高翻译准确率的目的。
本发明从多语平行语料表达相同的语义信息的角度出发,将多语平行语料作为多个编码器的输入,得到多语的编码信息之后,采用多层感知机融合的方法来完善语义信息,通过融合技术丰富语义信息达到提高翻译准确率的目的。
结合实施例得出其他采用双语输入但没融合的方法的BLEU值为22.53,本专利提出的向量拼接方法的BLEU值为23.59,本专利提出的多层感知融合方法的BLEU值为24.49;可以看出,本专利提出的使用向量拼接的编码信息融合方法和使用多层感知机的编码信息融合方法跟已有的使用双语输入但没采用融合的方法比较效果有明显的提升。
附图说明
图1为融合多语编码信息的神经机器翻译模整体流程图;
图2为本专利提出的使用向量拼接方式融合编码信息的NMT模型模型示意图;
图3为本专利提出的使用多层感知机方式融合编码信息的NMT模型模型示意图。
具体实施方式
具体实施方式一:结合图1、图2说明本实施方式,本实施方式的融合多语编码信息的神经机器翻译方法具体过程为:
步骤一,使用统计机器翻译平台Moses(摩西)提供的分词脚本tokenizer.perl对待处理三语(中文、英文、转换成日文)平行语料进行分词,然后使用BPE(字节对编码(BytePairEncoding,BPE))(Neamtus平台下的learn_bpe.py脚本)将分词处理后的待处理三语平行语料表征为一系列每种语言各自对应的子字符号序列,使用Nematus平台下的build_dictionary.py脚本建立源端输入语言词典dic_s1,dic_s2和目标语言词典dic_t;
步骤二、基于源端输入语言词典dic_s1对步骤一得到的子字符号序列X=(x1,x2,...,xT)中每一个词xi使用word embedding分布式方法表示,即用一定维度的向量表示词,wi=[n1,n2,n3,...,nm],nj∈实数;i=1,2,...,T;1≤j≤m,wi为词向量;
所述word embedding为词嵌入;
其中X=(x1,x2,...,xT)为分词处理后的待处理三语平行语料中的一语(中文);R为实数,V为源端输入语言(中文)词典dic_s1的单词数,m为词向量的维度,词向量的维度m是由用户自己指定的。取值为正整数;T为句子的词的个数,取值为正整数;
将使用词向量表示的词组成的句子W=(w1,w2,...,wT)输入NMT模型训练,随机初始化W初值,根据初值训练更新W,直至NMT模型的bleu值提升1-3个点;
基于源端输入语言词典dic_s2对步骤一得到的子字符号序列Z=(z1,z2,...,zT′)中每一个词Zk使用word embedding分布式方法表示,即用一定维度的向量表示词,w′k∈R|V′|,w′k=[l1,l2,l3,...,lm′],ll′∈实数;k=1,2,...,T′;1≤l′≤m′,w′k称之为词向量;
Z=(z1,z2,...,zT′)为分词处理后的待处理三语平行语料中的一语(英文);R为实数,V′为源端输入语言(英文)词表dic_s2的单词数,m′为词向量的维度,词向量的维度m′是由用户自己指定的。取值为正整数;T′为句子的词的个数,取值为正整数;
将使用词向量表示的词组成的句子W′=(w′1,w′2,...,w′T)输入NMT模型训练,随机初始化W′初值,根据初值训练更新W′,直至NMT模型的bleu值提升1-3个点;
步骤三、基于GRU单元构成循环神经网络组成的双向循环编码器,双向循环编码器对步骤二得到的词向量W=(w1,w2,...,wT)和词向量W′=(w′1,w′2,...,w′T)进行编码,得到W=(w1,w2,...,wT)的编码向量ctx_s1和W′=(w′1,w′2,...,w′T)的编码向量ctx_s2;
所述GRU为门限循环单元;
步骤四、将编码向量ctx_s1和编码向量ctx_s2进行融合,得到融合结果context=[ctx_s1;ctx_s2];
步骤五、将得到的融合结果context=[ctx_s1;ctx_s2]经过attention层按C=Φ(Wc*context+Wh*q)计算得到C;
所述Attention为注意力层;C为融合后的编码信息(代表输入语言(中文和英文)的语义信息);
其中Φ表示函数变换,Wc表示context对应的权值参数,q表示解码器的隐层状态,Wh表示q对应的权值参数,*为乘号;
步骤六、每个时刻t,按照公式qt+1=φ(C,y′t,qt)计算得到t+1时刻解码器的隐层状态信息qt+1,基于目标语言词典dic_t,并根据t+1时刻解码器的隐层状态信息qt+1,使用公式p(y′t+1|y′<t+1,X,Z)=softmax(Wsqt+1+bl)(表示在已知t+1时刻前的所有目标词和X,Z的前提下模型预测t+1时刻的目标词的概率),计算得到第t+1时刻的单词y′t+1的概率分布pt+1,pt+1为使用BPE将分词处理后的待处理三语平行语料中的一语(日语)表征后的目标语言序列;根据pt+1采样出t+1时刻的目标单词y′t+1,直至解码出句子结束标记<eos>,解码翻译结束;
其中y′t+1为t+1时刻的NMT模型训练得到的目标词,Ws为网络权值参数,qt+1为t+1时刻的解码器的隐层状态信息,bl为网络偏置信息。
具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤三中基于GRU单元构成循环神经网络组成的双向循环编码器,双向循环编码器对步骤二得到的词向量W=(w1,w2,...,wT)和词向量W′=(w′1,w′2,...,w′T)进行编码,得到W=(w1,w2,...,wT)的编码向量ctx_s1和W′=(w′1,w′2,...,w′T)的编码向量ctx_s2;具体过程为:
步骤三一、
采用门限循环单元GRU构成的双向编码器对W′=(w′1,w′2,...,w′T)按照反向词序列计算反向编码状态信息(正向反向同时进行,W=(w1,w2,...,wT)和W′=(w′1,w′2,...,w′T)也同时进行);
步骤三二、
具体实施方式三:结合图1、图3说明本实施方式,本实施方式的融合多语编码信息的神经机器翻译方法具体过程为:
步骤1)、使用统计机器翻译平台Moses(摩西)提供的分词脚本tokenizer.perl对待处理三语(中文英文转换成日文)平行语料进行分词,然后使用BPE(字节对编码(BytePair Encoding,BPE))(Neamtus平台下的learn_bpe.py脚本)将分词处理后的待处理三语平行语料表征为一系列每种语言各自对应的子字符号序列,使用Nematus平台下的build_dictionary.py脚本建立源端输入语言词典dic_s1,dic_s2和目标语言词典dic_t;
步骤2)、基于源端输入语言词典dic_s1对步骤一得到的子字符号序列X=(x1,x2,...,xT)中每一个词xi使用word embedding(词嵌入)分布式方法表示,即用一定维度的向量表示词,wi∈R|V|,wi=[n1,n2,n3,...,nm],nj∈实数;X=(x1,x2,...,xT)为分词处理后的待处理三语平行语料中的一语(中文),i=1,2,...,T;1≤j≤m,wi称之为词向量;
所述word embedding为词嵌入;
其中X=(x1,x2,...,xT)为分词处理后的待处理三语平行语料中的一语(中文);R为实数,V为源端输入语言(中文)词典dic_s1的单词数,词向量的维度m是由用户自己指定的。m为正整数;T为句子的词的个数,取值为正整数;
将使用词向量表示的词组成的句子W=(w1,w2,...,wT)输入NMT模型训练,随机初始化W初值,根据初值训练更新W,直至NMT模型的bleu值提升1-3个点;
基于源端输入语言词典dic_s2对步骤一得到的子字符号序列Z=(z1,z2,...,zT′)中+每一个词Zi使用word embedding分布式方法表示,即用一定维度的向量表示词,w′k∈R|V′|,w′k=[l1,l2,l3,...,lm′],ll′∈实数;k=1,2,...,T′;1≤l′≤m′,w′k称之为词向量;
Z=(z1,z2,...,zT′)为分词处理后的待处理三语平行语料中的一语(英文);R为实数,其中V′为源端输入语言(英文)词表dic_s2的单词数,词向量的维度m′是由用户自己指定的,m′为正整数;T′为句子的词的个数,为正整数;
将使用词向量表示的词组成的句子W′=(w′1,w′2,...,w′T)输入NMT模型训练,随机初始化W′初值,根据初值训练更新W′,直至NMT模型的bleu值提升1-3个点;
步骤3)、
基于GRU单元构成循环神经网络组成的双向循环编码器,双向循环编码器对步骤二得到的词向量W=(w1,w2,...,wT)和词向量W′=(w′1,w′2,...,w′T)进行编码,得到W=(w1,w2,...,wT)的编码向量ctx_s1和W′=(w′1,w′2,...,w′T)的编码向量ctx_s2;
所述GRU为门限循环单元;
步骤4)、将编码向量ctx_s1作为attenion的输入,按C'=Φ(W'c*ctx_s1+W'h*q')计算得到C′;
其中Φ表示函数变换,W'c表示编码向量ctx_s1作为attenion的输入时,ctx_s1对应的权值参数;q'表示编码向量ctx_s1作为attenion的输入时,解码器的隐层状态;W'h表示q'对应的权值参数;C′为编码信息(代表了源语言(中文和英文)的信息);
将编码向量ctx_s2作为attenion的输入,按C”=Φ(W”c*ctx_s2+W”h*q')计算得到C”;
其中Φ表示函数变换;W”c表示编码向量ctx_s2作为attenion的输入时,ctx_s2对应的权值参数;W”h表示编码向量ctx_s2作为attenion的输入时,q'对应的权值参数;C”为编码信息(代表了源语言(中文和英文)的信息);
步骤5)、将得到的C′和C″用多层感知机网络按ctx=Θ(C′,C″)融合,得到ctx,Θ为多层感知机网络,ctx为融合结果;
步骤6)、每个时刻t,按照公式q′t+1=φ(ctx,y″t,q′t)计算得到t+1时刻解码器的隐层状态信息q′t+1,基于目标语言词典dic_t,并根据t+1时刻解码器的隐层状态信息q′t+1,使用公式p(y″t+1|y″<t+1,X,Z)=softmax(Ws′qt+1+b′l)(表示在已知t+1时刻前的所有目标词和X,Z的前提下模型预测t+1时刻的目标词的概率)计算得到第t+1时刻的单词y″t+1的概率分布pt+1,pt+1为使用BPE将分词处理后的待处理三语平行语料中的一语(日语)表征后的目标语言序列,根据pt+1采样出t+1时刻的目标单词y″t+1,直至解码出句子结束标记<eos>,解码翻译结束;
其中y″t+1为t+1时刻的NMT模型训练得到的目标词,W′s为网络权值参数,q′t+1为t+1时刻的解码器的隐层状态信息,b′l为网络偏置信息;
具体实施方式四:本实施方式与具体实施方式三不同的是:所述步骤3)中基于GRU单元构成循环神经网络组成的双向循环编码器,双向循环编码器对步骤二得到的词向量W=(w1,w2,...,wT)和词向量W′=(w′1,w′2,...,w′T)进行编码,得到W=(w1,w2,...,wT)的编码向量ctx_s1和W′=(w′1,w′2,...,w′T)的编码向量ctx_s2;
所述GRU为门限循环单元;
采用门限循环单元GRU构成的双向编码器对W′=(w′1,w′2,...,w′T)按照反向词序列计算反向编码状态信息(正向反向同时进行,W=(w1,w2,...,wT)和W′=(w′1,w′2,...,w′T)也同时进行);
步骤3)二、
采用以下实施例验证本发明的有益效果:
实施例一:
本实施例具体是按照以下步骤制备的:
表1:实验使用数据是中文日文英文三语平行语料,包含了体育、旅游、交通、餐饮和商务等领域,共59600对平行句子。别从中文、英文、日文语料中随机抽取1000句平行句对作为开发集,随机抽取另1000句平行句对作为测试集,剩下的57600句对作为测试集合。
表1发明使用数据
表2:NMT模型使用的参数设置表:
表2参数设置
表3模型翻译结果
根据表3展示的实验结果可以看出,本本专利提出的使用向量拼接的编码信息融合方法和使用多层感知机的编码信息融合方法跟已有的使用双语输入但没采用融合的方法比较效果有明显的提升。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (4)
1.融合多语编码信息的神经机器翻译方法,其特征在于:所述方法具体过程为:
步骤一,使用统计机器翻译平台Moses提供的分词脚本tokenizer.perl对待处理三语平行语料进行分词,然后使用BPE将分词处理后的待处理三语平行语料表征为每种语言各自对应的子字符号序列;
使用Nematus平台下的build_dictionary.py脚本建立源端输入语言词典dic_s1,dic_s2和目标语言词典dic_t;
步骤二、基于源端输入语言词典dic_s1对步骤一得到的子字符号序列X=(x1,x2,...,xT)中每一个词xi使用word embedding分布式方法表示,即用一定维度的向量表示词,wi∈R|V|,wi=[n1,n2,n3,...,nm],nj∈实数;i=1,2,...,T;1≤j≤m,wi为词向量;
所述word embedding为词嵌入;
其中X=(x1,x2,...,xT)为使用BPE将分词处理后的待处理三语平行语料中的一语表征后的子字符号序列;R为实数,V为源端输入语言词典dic_s1的单词数,m为词向量的维度,取值为正整数;T为句子的词的个数,取值为正整数;
将使用词向量表示的词组成的句子W=(w1,w2,...,wT)输入NMT模型训练,随机初始化W初值,根据初值训练更新W,直至NMT模型的bleu值提升1-3个点;
基于源端输入语言词典dic_s2对步骤一得到的子字符号序列Z=(z1,z2,...,zT′)中每一个词zk使用word embedding分布式方法表示,即用一定维度的向量表示词,w′k∈R|V′|,w′k=[l1,l2,l3,...,lm′],ll′∈实数;k=1,2,...,T′;1≤l′≤m′,w′k为词向量;
Z=(z1,z2,...,zT′)为使用BPE将分词处理后的待处理三语平行语料中的一语表征后的子字符号序列;R为实数,V′为源端输入语言词表dic_s2的单词数,m′为词向量的维度,取值为正整数;T′为句子的词的个数,取值为正整数;
将使用词向量表示的词组成的句子W′=(w′1,w′2,...,w′T′)输入NMT模型训练,随机初始化W′初值,根据初值训练更新W′,直至NMT模型的bleu值提升1-3个点;
步骤三、基于门限循环单元GRU构成循环神经网络组成的双向循环编码器,双向循环编码器对步骤二得到的词向量W=(w1,w2,...,wT)和词向量W′=(w′1,w′2,...,w′T′)进行编码,得到W=(w1,w2,...,wT)的编码向量ctx_s1和W′=(w′1,w′2,...,w′T′)的编码向量ctx_s2;
步骤四、将编码向量ctx_s1和编码向量ctx_s2进行融合,得到融合结果context=[ctx_s1;ctx_s2];
步骤五、将得到的融合结果context=[ctx_s1;ctx_s2]经过attention层按C=Φ(Wc*context+Wh*q)计算得到C;
所述attention 为注意力层;C为融合后的编码信息;
其中Φ表示函数变换,Wc表示context对应的权值参数,q表示解码器的隐层状态,Wh表示q对应的权值参数,*为乘号;
步骤六、每个时刻t,按照公式qt+1=φ(C,yt′,qt)计算得到t+1时刻解码器的隐层状态信息qt+1,基于目标语言词典dic_t,并根据t+1时刻解码器的隐层状态信息qt+1,使用公式p(y′t+1|y′<t+1,X,Z)=soft max(Wsqt+1+bl),计算得到第t+1时刻的单词y′t+1的概率分布pt+1,根据pt+1采样出t+1时刻的目标单词y′t+1,直至解码出句子结束标记,解码翻译结束;
其中y′t+1为t+1时刻的NMT模型训练得到的目标词;Ws为网络权值参数,qt+1为t+1时刻的解码器的隐层状态信息,bl为网络偏置信息。
2.根据权利要求1所述融合多语编码信息的神经机器翻译方法,其特征在于:所述步骤三中基于门限循环单元GRU构成循环神经网络组成的双向循环编码器,双向循环编码器对步骤二得到的词向量W=(w1,w2,...,wT)和词向量W′=(w′1,w′2,...,w′T′)进行编码,得到W=(w1,w2,...,wT)的编码向量ctx_s1和W′=(w′1,w′2,...,w′T′)的编码向量ctx_s2;具体过程为:
步骤三一、
步骤三二、
3.融合多语编码信息的神经机器翻译方法,其特征在于:所述方法具体过程为:
步骤1)、使用统计机器翻译平台Moses提供的分词脚本tokenizer.perl对待处理三语平行语料进行分词,然后使用BPE将分词处理后的待处理三语平行语料表征为每种语言各自对应的子字符号序列,使用Nematus平台下的build_dictionary.py脚本建立源端输入语言词典dic_s1,dic_s2和目标语言词典dic_t;
步骤2)、基于源端输入语言词典dic_s1对步骤一得到的子字符号序列X=(x1,x2,...,xT)中每一个词xi使用word embedding分布式方法表示,即用一定维度的向量表示词,wi∈R|V|,wi=[n1,n2,n3,...,nm],nj∈实数;i=1,2,...,T;1≤j≤m,wi称之为词向量;
所述word embedding为词嵌入;
其中X=(x1,x2,...,xT)为使用BPE将分词处理后的待处理三语平行语料中的一语表征后的子字符号序列;R为实数,V为源端输入语言词典dic_s1的单词数,m为正整数;T为句子的词的个数,取值为正整数;
将使用词向量表示的词组成的句子W=(w1,w2,...,wT)输入NMT模型训练,随机初始化W初值,根据初值训练更新W,直至NMT模型的bleu值提升1-3个点;
基于源端输入语言词典dic_s2对步骤一得到的子字符号序列Z=(z1,z2,...,zT′)中+每一个词zi使用word embedding分布式方法表示,即用一定维度的向量表示词,w′k∈R|V′|,w′k=[l1,l2,l3,...,lm′],ll′∈实数;k=1,2,...,T′;1≤l′≤m′,w′k称之为词向量;
Z=(z1,z2,...,zT′)为使用BPE将分词处理后的待处理三语平行语料中的一语表征后的子字符号序列;R为实数,其中V′为源端输入语言词表dic_s2的单词数,m′为正整数;T′为句子的词的个数,为正整数;
将使用词向量表示的词组成的句子W′=(w′1,w′2,...,w′T′)输入NMT模型训练,随机初始化W′初值,根据初值训练更新W′,直至NMT模型的bleu值提升1-3个点;
步骤3)、基于门限循环单元GRU构成循环神经网络组成的双向循环编码器,双向循环编码器对步骤二得到的词向量W=(w1,w2,...,wT)和词向量W′=(w′1,w′2,...,w′T′)进行编码,得到W=(w1,w2,...,wT)的编码向量ctx_s1和W′=(w′1,w′2,...,w′T′)的编码向量ctx_s2;
步骤4)、将编码向量ctx_s1作为attenion的输入,按C'=Φ(W'c*ctx_s1+W'h*q')计算得到C′;
其中Φ表示函数变换,W'c表示编码向量ctx_s1作为attenion的输入时,ctx_s1对应的权值参数;q'表示编码向量ctx_s1作为attenion的输入时,解码器的隐层状态;W'h表示q'对应的权值参数;C′为编码信息;*为乘号;
将编码向量ctx_s2作为attenion的输入,按C”=Φ(W”c*ctx_s2+W”h*q')计算得到C”;
其中Φ表示函数变换;W”c表示编码向量ctx_s2作为attenion的输入时,ctx_s2对应的权值参数;W”h表示编码向量ctx_s2作为attenion的输入时,q'对应的权值参数;C”为编码信息;
步骤5)、将得到的C′和C″用多层感知机网络按ctx=Θ(C′,C″)融合,得到ctx,Θ为多层感知机网络,ctx为融合结果;
步骤6)、每个时刻t,按照公式q′t+1=φ(ctx,y″t,qt′)计算得到t+1时刻解码器的隐层状态信息q′t+1,基于目标语言词典dic_t,并根据t+1时刻解码器的隐层状态信息q′t+1,使用公式p(y″t+1|y″<t+1,X,Z)=softmax(Ws′qt+1+b′l)计算得到第t+1时刻的单词y″t+1的概率分布pt+1,根据pt+1采样出t+1时刻的目标单词y″t+1,直至解码出句子结束标记,解码翻译结束;
其中y″t+1为t+1时刻的NMT模型训练得到的目标词;W′s为网络权值参数,q′t+1为t+1 时刻的解码器的隐层状态信息,b′l为网络偏置信息。
4.根据权利要求3所述融合多语编码信息的神经机器翻译方法,其特征在于:所述步骤3)中基于门限循环单元GRU构成循环神经网络组成的双向循环编码器,双向循环编码器对步骤二得到的词向量W=(w1,w2,...,wT)和词向量W′=(w′1,w′2,...,w′T′)进行编码,得到W=(w1,w2,...,wT)的编码向量ctx_s1和W′=(w′1,w′2,...,w′T′)的编码向量ctx_s2;
步骤3)二、
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710575907.4A CN107357789B (zh) | 2017-07-14 | 2017-07-14 | 融合多语编码信息的神经机器翻译方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710575907.4A CN107357789B (zh) | 2017-07-14 | 2017-07-14 | 融合多语编码信息的神经机器翻译方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107357789A CN107357789A (zh) | 2017-11-17 |
CN107357789B true CN107357789B (zh) | 2020-10-02 |
Family
ID=60293482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710575907.4A Active CN107357789B (zh) | 2017-07-14 | 2017-07-14 | 融合多语编码信息的神经机器翻译方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107357789B (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108417210B (zh) * | 2018-01-10 | 2020-06-26 | 苏州思必驰信息科技有限公司 | 一种词嵌入语言模型训练方法、词语识别方法及系统 |
CN110046338B (zh) * | 2018-01-15 | 2022-11-11 | 深圳市腾讯计算机系统有限公司 | 一种上下文选择方法、装置、电子设备及存储介质 |
CN108388549B (zh) * | 2018-02-26 | 2021-02-19 | 腾讯科技(深圳)有限公司 | 信息转换方法、装置、存储介质和电子装置 |
CN108549709B (zh) * | 2018-04-20 | 2019-02-22 | 福州大学 | 区块链内外多源异构数据基于广度学习算法的融合方法 |
CN108595428A (zh) * | 2018-04-25 | 2018-09-28 | 杭州闪捷信息科技股份有限公司 | 基于双向循环神经网络进行分词的方法 |
CN108920468B (zh) * | 2018-05-07 | 2019-05-14 | 内蒙古工业大学 | 一种基于强化学习的蒙汉双语种互译方法 |
CN108763230B (zh) * | 2018-06-07 | 2020-07-21 | 南京大学 | 利用外部信息的神经机器翻译方法 |
CN110728141B (zh) * | 2018-07-16 | 2023-09-19 | 中移(苏州)软件技术有限公司 | 一种分词方法、装置、电子设备及存储介质 |
CN109165391A (zh) * | 2018-07-27 | 2019-01-08 | 纤瑟(天津)新材料科技有限公司 | 一种利用偏旁部首信息的神经网络机器翻译系统及方法 |
CN110895660A (zh) * | 2018-08-23 | 2020-03-20 | 澳门大学 | 一种基于句法依存关系动态编码的语句处理方法及装置 |
CN109033088B (zh) * | 2018-09-04 | 2023-05-30 | 北京先声智能科技有限公司 | 一种基于神经网络的第二语言习得模型 |
CN109271646B (zh) * | 2018-09-04 | 2022-07-08 | 腾讯科技(深圳)有限公司 | 文本翻译方法、装置、可读存储介质和计算机设备 |
CN109446534B (zh) * | 2018-09-21 | 2020-07-31 | 清华大学 | 机器翻译方法及装置 |
CN109492202B (zh) * | 2018-11-12 | 2022-12-27 | 浙江大学山东工业技术研究院 | 一种基于拼音的编码与解码模型的中文纠错方法 |
CN111428520B (zh) * | 2018-11-30 | 2021-11-23 | 腾讯科技(深圳)有限公司 | 一种文本翻译方法及装置 |
CN109543824B (zh) * | 2018-11-30 | 2023-05-23 | 腾讯科技(深圳)有限公司 | 一种序列模型的处理方法和装置 |
CN109902309B (zh) * | 2018-12-17 | 2023-06-02 | 北京百度网讯科技有限公司 | 翻译方法、装置、设备和存储介质 |
CN109558605B (zh) * | 2018-12-17 | 2022-06-10 | 北京百度网讯科技有限公司 | 用于翻译语句的方法和装置 |
CN110020424B (zh) * | 2019-01-04 | 2023-10-31 | 创新先进技术有限公司 | 合同信息的提取方法、装置和文本信息的提取方法 |
CN109829172B (zh) * | 2019-01-04 | 2023-07-04 | 北京先声智能科技有限公司 | 一种基于神经翻译的双向解码自动语法改错模型 |
CN109740168B (zh) * | 2019-01-09 | 2020-10-13 | 北京邮电大学 | 一种基于中医药知识图谱和注意力机制的中医典籍古文翻译方法 |
CN109783827B (zh) * | 2019-01-31 | 2023-02-10 | 沈阳雅译网络技术有限公司 | 一种基于动态线性聚合的深层神经机器翻译方法 |
CN109933809B (zh) * | 2019-03-15 | 2023-09-15 | 北京金山数字娱乐科技有限公司 | 一种翻译方法及装置、翻译模型的训练方法及装置 |
CN110162800B (zh) * | 2019-05-08 | 2021-02-05 | 北京百度网讯科技有限公司 | 翻译模型的训练方法和装置 |
CN110209801B (zh) * | 2019-05-15 | 2021-05-14 | 华南理工大学 | 一种基于自注意力网络的文本摘要自动生成方法 |
CN110457713B (zh) * | 2019-06-19 | 2023-07-28 | 腾讯科技(深圳)有限公司 | 基于机器翻译模型的翻译方法、装置、设备和存储介质 |
CN110377711B (zh) * | 2019-07-01 | 2022-04-01 | 浙江大学 | 一种利用分层卷积自注意力网络解决开放式长视频问答任务的方法 |
CN110688861B (zh) * | 2019-09-26 | 2022-12-27 | 沈阳航空航天大学 | 一种多特征融合的句子级译文质量估计方法 |
CN110781690B (zh) * | 2019-10-31 | 2021-07-13 | 北京理工大学 | 一种多源神经机器翻译模型的融合和压缩方法 |
CN110879940B (zh) * | 2019-11-21 | 2022-07-12 | 哈尔滨理工大学 | 一种基于深度神经网络的机器翻译方法及系统 |
CN111274827B (zh) * | 2020-01-20 | 2021-05-28 | 南京新一代人工智能研究院有限公司 | 一种基于词袋多目标学习的后缀翻译方法 |
CN111368531B (zh) * | 2020-03-09 | 2023-04-14 | 腾讯科技(深圳)有限公司 | 翻译文本处理方法、装置、计算机设备和存储介质 |
CN112597780A (zh) * | 2020-12-28 | 2021-04-02 | 焦点科技股份有限公司 | 一种多语种混合的异构神经网络机器学习翻译方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102270196A (zh) * | 2010-06-04 | 2011-12-07 | 中国科学院软件研究所 | 一种机器翻译方法 |
CN103092831A (zh) * | 2013-01-25 | 2013-05-08 | 哈尔滨工业大学 | 一种用于统计机器翻译的参数调整方法 |
CN105068998A (zh) * | 2015-07-29 | 2015-11-18 | 百度在线网络技术(北京)有限公司 | 基于神经网络模型的翻译方法及装置 |
CN106202068A (zh) * | 2016-07-25 | 2016-12-07 | 哈尔滨工业大学 | 基于多语平行语料的语义向量的机器翻译方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPR956901A0 (en) * | 2001-12-17 | 2002-01-24 | Jayaratne, Neville | Real time translator |
-
2017
- 2017-07-14 CN CN201710575907.4A patent/CN107357789B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102270196A (zh) * | 2010-06-04 | 2011-12-07 | 中国科学院软件研究所 | 一种机器翻译方法 |
CN103092831A (zh) * | 2013-01-25 | 2013-05-08 | 哈尔滨工业大学 | 一种用于统计机器翻译的参数调整方法 |
CN105068998A (zh) * | 2015-07-29 | 2015-11-18 | 百度在线网络技术(北京)有限公司 | 基于神经网络模型的翻译方法及装置 |
CN106202068A (zh) * | 2016-07-25 | 2016-12-07 | 哈尔滨工业大学 | 基于多语平行语料的语义向量的机器翻译方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107357789A (zh) | 2017-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107357789B (zh) | 融合多语编码信息的神经机器翻译方法 | |
CN107133211B (zh) | 一种基于注意力机制的作文评分方法 | |
CN112560503A (zh) | 融合深度特征和时序模型的语义情感分析方法 | |
CN112100351A (zh) | 一种通过问题生成数据集构建智能问答系统的方法及设备 | |
CN110083710B (zh) | 一种基于循环神经网络与潜变量结构的词语定义生成方法 | |
CN108829722A (zh) | 一种远程监督的Dual-Attention关系分类方法及系统 | |
CN109635124A (zh) | 一种结合背景知识的远程监督关系抽取方法 | |
CN107967262A (zh) | 一种神经网络蒙汉机器翻译方法 | |
CN111160031A (zh) | 一种基于词缀感知的社交媒体命名实体识别方法 | |
CN112765345A (zh) | 一种融合预训练模型的文本摘要自动生成方法及系统 | |
CN111078866A (zh) | 一种基于序列到序列模型的中文文本摘要生成方法 | |
CN114676234A (zh) | 一种模型训练方法及相关设备 | |
Sun et al. | Convolutional neural networks for correcting English article errors | |
CN110781290A (zh) | 一种长篇章结构化文本摘要提取方法 | |
CN116204674B (zh) | 一种基于视觉概念词关联结构化建模的图像描述方法 | |
CN114492441A (zh) | 基于机器阅读理解的BiLSTM-BiDAF命名实体识别方法 | |
CN115310448A (zh) | 一种基于bert和字词向量结合的中文命名实体识别方法 | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN113190656A (zh) | 一种基于多标注框架与融合特征的中文命名实体抽取方法 | |
CN114818717A (zh) | 融合词汇和句法信息的中文命名实体识别方法及系统 | |
CN114881042A (zh) | 基于图卷积网络融合句法依存与词性的中文情感分析方法 | |
CN115545033A (zh) | 融合词汇类别表征的中文领域文本命名实体识别方法 | |
CN114757184A (zh) | 实现航空领域知识问答的方法和系统 | |
CN114492459A (zh) | 基于知识图谱与交互图卷积的评论情感分析方法及系统 | |
CN110321568B (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 |