基于多语平行语料的语义向量的机器翻译方法
技术领域
本发明涉及语义向量的机器翻译方法,特别涉及基于多语平行语料的语义向量的机器翻译方法。
背景技术
向量表示是自然语言处理中常用的将文本形式化的方法。自然语言处理中的向量表示由传统的0-1向量(One-hot Representation)表示方法发展到现在深度学习中的词嵌入(Word Embedding)表示方法,为自然语言处理领域的各种主流任务带来深远意义。传统的One-hot Representation简介但具有稀疏性,词与词之间孤立,无法衡量两个词是否具有关系,且在解决某些任务的时候会造成维数灾难。深度学习中的Word Embedding表示方法,具有低维性,且解决了传统One-hot Representation的稀疏性问题,使得词嵌入表示方法可以采用距离函数衡量词语直接的关系。
Word Embedding由于其独特的优越性被融入现有系统中,最常见的是直接用于深度神经网络模型的输入层。近年来,深度神经网络在图像识别、语音识别等方面取得新的进展;在诸如语言模型、实体识别、情感分析、机器翻译等自然语言处理领域也有了很大的提升。尤其是机器翻译方面,深度神经网络打破了传统上基于统计的机器翻译方法。传统的基于统计机器翻译系统包含语言模型、翻译模型和调序模型,三个模型需被单独训练最后通过对数线性模型被同时考虑。与统计机器翻译不同,深度神经网络在机器翻译的任务上,只需训练好一个单独的深度神经网络(DNN),通过输入源语言序列就能直接产生目标语言序列,省去了翻译模型、语言模型、调序模型等模块单独训练并重新组合的繁杂过程。因此,深度神经网络在机器翻译任务上得到了广泛关注并取得了显著成就。
目前深度神经网络在机器翻译方面且都是用两种语言的平行语料来训练,输入端是源语言,输出端是目标语言。主要基于编码-解码框架。
Attention机制:在编码-解码框架基础上,“Attention”机制被提出并应用于机器翻译任务,且使得翻译性能提升。在机器翻译任务上,Bahdanau首次引进Attention思想。Bahdanau等人认为编码-解码模型中直接产生的固定维度的向量可能是提升机器翻译的瓶颈,他们引入一个模型,通过在输入序列中来自动寻找最重要的部分用于生成中间向量。之后Luong等人提出两种简单、形象并高效的Attention机制:全局Attention机制和局部Attention机制。全局Attention机制在每个时刻考虑所有的输入序列状态,局部Attention机制在每个时刻只考虑输入序列的一个子集,即当前时刻局部范围内的前后时刻的状态。Attention机制允许模型自动学习不同模式之间的对齐,可以自动捕获到与当前词关联最紧密的上下文。
编码-解码框架:深度神经网络在机器翻译上的应用主要基于编码-解码框架,通过编码部分和解码部分的联合训练最大化输出序列的条件概率。编码部分和解码部分分别是诸如循环神经网络(RNN)、双向循环神经网络(BRNN)、长短期记忆结构(LSTM)或门限循环单元(GRU)结构。编码部分将可变长度的输入序列映射为一个固定维度的向量表示,解码部分将固定维度向量表示生成输出变量序列。具体地,DNN的输入端是输入序列的WordEmbedding,维度可以自行根据具体实验调整为合适的维度,如1000维;输入部分经过编码部分的运算映射为一个固定维度的向量,通常认为该向量是输入序列的语义表示,通过读入输入序列捕获到与输入语句最接近的语义表示,该语义向量的维度可以自行根据具体实验调整为合适的维度,如1000维;该中间向量作为输入经过解码部分的运算生成输出变量序列。而目双语平行语料获得的语义信息通常较少。
发明内容
本发明的目的是为了解决双语平行语料获得的语义信息通常较少的问题而提出的基于多语平行语料的语义向量的机器翻译方法。
上述的发明目的是通过以下技术方案实现的:
基于多语平行语料的语义向量的机器翻译方法,具体按照以下步骤进行的:
步骤一、在训练过程中输入平行的源语言1、源语言2以及标准的目标语言;其中,标准的目标语言为平行的源语言1所对应的目标语言和源语言2所对应的目标语言;
步骤二、根据公式(1)到公式(6)计算得到源语言1的隐状态h′和源语言2的隐状态h″;其中,h′0为源语言1的隐状态h′第0个词的分量;为源语言1的隐状态h′的最后一个词的隐状态, 为源语言2的隐状态h″最后一个词的隐状态,是h″的最后一个分量;h″0为源语言2的隐状态h″第0个词的分量;为正向建立循环神经网络过程中,源语言2第i个词隐状态向量的转置向量;为逆向建立循环神经网络过程中,源语言2第i个词隐状态向量的转置向量;
步骤三、根据源语言2的隐状态h″和源语言1的隐状态h′计算得到的向量c,包含了源语言1和源语言2的语义信息;
用表示h′和h″的拼接向量,包含h′和h″二者的信息ci用如下公式(3)计算:
其中,是第j个时刻的分量,
αij是输入序列第j个位置和输出序列第i个位置的匹配程度对应的权重用如下公式(4)所示计算:
其中,是词对齐模型,用来衡量输入序列第j个位置和输出序列第i个位置的匹配程度,si-1是Decoder部分第i-1时刻的隐状态;
eik为输入序列第k个位置和输出序列第i个位置的匹配程度;
eij为输入序列第j个位置和输出序列第i个位置的匹配程度;
步骤四、根据神经网络计算方法将向量c生成输出变量序列即目标语言。
基于多语平行语料的语义向量的机器翻译方法,具体按照以下步骤进行的:
步骤一、在训练过程中输入平行的源语言1、源语言2以及标准的目标语言;标准的目标语言为平行的源语言1和源语言2所对应的目标语言;
步骤二、假设源语言1的中间向量表示c1和源语言2的中间向量表示c2具有相似性;在训练过程中,将向量c1和向量c2具有相似性作为约束条件,计算向量c1和向量c2的归一化之后的余弦距离;
步骤三、利用向量c1和向量c2的归一化之后的余弦距离函数dis(c1,c2)衡量向量c1和向量c2的相似性;
步骤四、令dis(c1,c2)大于阈值δ;给定源语言1句子集合S1和源语言2句子集合S2,即表示为如下约束最优化问题:
其中,0≤δ≤1为源语言1到标准目标语言的损失函数,为源语言2到标准目标语言的损失函数,T为标准目标语言集合;
步骤五、基于约束最优化问题,建立最终目标函数表示为如下公式:
Y=-(y1+y2)-λ·(dis(c1,c2)-δ) (5)
其中λ>0,λ为拉格朗日乘子。
发明效果
本发明涉及语义向量研究,特别涉及基于多语平行语料的语义向量的机器翻译研究。本课题所属信息技术领域,对机器翻译研究具有促进作用。
本发明的目的是为了充分利用现有的多语平行语料,通过研究语义向量,提升深度神经网络在机器翻译任务的性能。
本发明提出两种简单的模型,分别是基于向量的隐式拼接模型和基于向量相似的模型。以三语平行语料为例,研究三语平行语料中两种语言作为源语言,剩余一种语言作为目标语言的翻译系统。训练其中一种源语言(源语言1)到目标语言的翻译系统,同时,训练另一种平行的源语言(源语言2)到目标语言的翻译系统。确定源语言1的中间向量表示c′和源语言2的中间向量表示c″有某种联系。
本发明的相关研究提高了机器翻译的性能,不仅是对信息学、语言学相关理论的佐证,同时对自然语言理解有促进作用。为了提高机器翻译的性能,本发明充分利用了现有的多语平行语料,通过采用Word Embedding技术、编码-解码结构、Attention机制以及深度挖掘语义向量之间的关联,协同训练不同源端到同一目标端的翻译系统,这种方法易于实现,且能提高机器翻译的性能。
本发明采用中文、日文和英文三种平行语料,语料来自HIT(Harbin Institute ofTechnology)。我们搭建了两个翻译系统,一个翻译系统的源语言是中文,目标语言是日文,另一个翻译系统的源语言是英文,目标语言是日文。HIT语料包含了体育、旅游、交通、餐饮和商务等领域,共59600对平行句子。我们分别从中文、英文、日文语料中随机抽取1000句平行句对作为开发集,随机抽取另1000句平行句对作为测试集。
数据规模统计如下表2-1所示。
表2-1HIT语料的统计数据
表3-1基于向量的拼接模型实验结果
表4-2基于向量相似的模型实验结果
附图说明
图1为具体实施方式一提出的基于向量隐式拼接的机器翻译构建方法示意图;
图2为具体实施方式五提出的基于向量相似的机器翻译构建方法。
具体实施方式
具体实施方式一:本实施方式的基于多语平行语料的语义向量的机器翻译方法,具体是按照以下步骤制备的:
步骤一、由于整个过程实际是一个双向的向量的隐式拼接过程称之为基于向量的隐式拼接模型;附图1描绘了该模型的过程;从图中我们可以看出,源语言1到目标语言的翻译系统和源语言2到目标语言的翻译系统不是完全独立的,参数也不独立;在训练过程中输入平行的源语言1、源语言2以及标准的目标语言;其中,标准的目标语言为平行的源语言1所对应的目标语言和源语言2所对应的目标语言;
训练过程中必须共同输入源语言和目标语言才能训练步骤二至步骤四模型的参数;模型的参数一旦被训好,在测试过程中,只需输入源语言1和源语言2,就可以用训好的模型生成目标语言;
步骤二、在编码-解码框架中,中间的向量代表了输入序列的语义,而向量的计算与网络结构中的隐单元有关;在编码部分,采用一个双向循环神经网络;由于中间向量的求解与隐状态有关;在求解隐状态的时候,根据公式(1)到公式(6)计算得到源语言1的隐状态h′和源语言2的隐状态h″;其中,h′0为源语言1的隐状态h′第0个词的分量;为源语言1的隐状态h′的最后一个词的隐状态,包含正向建立神经网络过程中隐状态的信息和逆向过程中隐状态的信息; 为源语言2的隐状态h″最后一个词的隐状态,是h″的最后一个分量包含正向建立神经网络过程中隐状态的信息和逆向过程中隐状态的信息;h″0为源语言2的隐状态h″第0个词的分量;为正向建立循环神经网络过程中,源语言2第i个词隐状态向量的转置向量;为逆向建立循环神经网络过程中,源语言2第i个词隐状态向量的转置向量;
步骤三、根据源语言2的隐状态h″和源语言1的隐状态h′计算得到的向量c,包含了源语言1和源语言2的语义信息;
用表示h′和h″的拼接向量,包含h′和h″二者的信息ci用如下公式(3)计算:
其中,是第j个时刻的分量,
αij是输入序列第j个位置和输出序列第i个位置的匹配程度对应的权重用如下公式(4)所示计算:
其中,是词对齐模型,用来衡量输入序列第j个位置和输出序列第i个位置的匹配程度,si-1是Decoder(解码)部分第i-1时刻的隐状态;
eik为输入序列第k个位置和输出序列第i个位置的匹配程度;
eij为输入序列第j个位置和输出序列第i个位置的匹配程度;
在训练过程中,词对齐模型与前馈神经网络模型中的其他参数一起经过反向传播算法求梯度以及更新得到;
步骤四、根据神经网络计算方法将向量c生成输出变量序列即目标语言;
步骤一至步骤四为基于向量的隐式拼接构的模型构建方法如图1;图1为基于向量隐式拼接的机器翻译构建方法的主要过程流程图,在该模型中,源语言1到目标语言的翻译系统和源语言2到目标语言的翻译系统不是完全独立的,参数也不独立,因此在训练过程和测试过程中我们都需要输入平行的源语言1和源语言2。
本实施方式效果:
本实施方式涉及语义向量研究,特别涉及基于多语平行语料的语义向量的机器翻译研究。本课题所属信息技术领域,对机器翻译研究具有促进作用。
本实施方式的目的是为了充分利用现有的多语平行语料,通过研究语义向量,提升深度神经网络在机器翻译任务的性能。
本实施方式提出两种简单的模型,分别是基于向量的隐式拼接模型和基于向量相似的模型。以三语平行语料为例,研究三语平行语料中两种语言作为源语言,剩余一种语言作为目标语言的翻译系统。训练其中一种源语言(源语言1)到目标语言的翻译系统,同时,训练另一种平行的源语言(源语言2)到目标语言的翻译系统。确定源语言1的中间向量表示c′和源语言2的中间向量表示c″有某种联系。
本实施方式的相关研究提高了机器翻译的性能,不仅是对信息学、语言学相关理论的佐证,同时对自然语言理解有促进作用。为了提高机器翻译的性能,本实施方式充分利用了现有的多语平行语料,通过采用Word Embedding技术、编码-解码结构、Attention机制以及深度挖掘语义向量之间的关联,协同训练不同源端到同一目标端的翻译系统,这种方法易于实现,且能提高机器翻译的性能。
本实施方式采用中文、日文和英文三种平行语料,语料来自HIT(HarbinInstitute of Technology)。我们搭建了两个翻译系统,一个翻译系统的源语言是中文,目标语言是日文,另一个翻译系统的源语言是英文,目标语言是日文。HIT语料包含了体育、旅游、交通、餐饮和商务等领域,共59600对平行句子。我们分别从中文、英文、日文语料中随机抽取1000句平行句对作为开发集,随机抽取另1000句平行句对作为测试集。
数据规模统计如下表2-1所示。
表2-2HIT语料的统计数据
表3-1基于向量的拼接模型实验结果
表4-2基于向量相似的模型实验结果
具体实施方式二:本实施方式与具体实施方式一不同的是:步骤二中计算h′i的具体过程为:编码部分正向建立循环神经网络(Recurrent Neural Network,RNN)时,随机初始化利用公式(5)计算
利用公式(1)初始化用公式(3)计算
根据和计算
其中,σ为非线性函数,一般为Sigmoid函数或Tan函数;
为正向建立循环神经网络过程中,源语言1隐状态和输入变量之间的权值矩阵;
为正向建立循环神经网络过程中,源语言1隐状态之间的权值矩阵;
为正向建立循环神经网络过程中,源语言1的偏置向量;
为逆向建立循环神经网络过程中,源语言1隐状态和输入变量之间的权值矩阵
为逆向建立循环神经网络过程中,源语言2隐状态和源语言1隐状态之间的权值矩阵
为逆向建立循环神经网络过程中,源语言1的偏置向量;
为逆向建立循环神经网络过程中,源语言1隐状态之间的权值矩阵;
x′0为源语言1的第0个词;
x′i为源语言1的第i个词;
为源语言1的最后一个词;
为正向建立循环神经网络过程中,源语言1第0个词的隐状态;
为正向建立循环神经网络过程中,源语言1第i个词的隐状态;
为逆向建立循环神经网络过程中,源语言1第i个词的隐状态;
为逆向建立循环神经网络过程中,源语言1最后一个词的隐状态;
为逆向建立循环神经网络过程中,源语言2第0个词的隐状态。其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是:步骤二中计算h″i具体过程:
编码部分逆向建立循环神经网络(Recurrent Neural Network,RNN)时先随机初始化利用公式(2)初始化用公式(6)计算
利用公式(4)计算
根据和计算得到h″i;
其中,逆向建立循环神经网络过程中,源语言2隐状态和输入变量之间的权值矩阵
为逆向建立循环神经网络过程中,源语言2隐状态之间的权值矩阵;
为正向建立循环神经网络过程中,源语言2的偏置向量;
为正向建立循环神经网络过程中,源语言2隐状态和输入变量之间的权值矩阵;
为正向建立循环神经网络过程中,源语言1隐状态和源语言2隐状态之间的权值矩阵;
为正向建立循环神经网络过程中,源语言2隐状态之间的权值矩阵
逆向建立循环神经网络过程中,源语言2的偏置向量;
x″0为源语言2的第0词;
x″i为源语言2的第i个词;
为正向建立循环神经网络过程中,源语言2第i个词的隐状态;
为正向建立循环神经网络过程中,源语言2第0个词的隐状态;
x″i为源语言2第i个词;
为逆向建立循环神经网络过程中,源语言2第i个词的隐状态;
为逆向建立循环神经网络过程中,源语言2最后一个词的隐状态。其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:步骤四中根据神经网络计算方法将向量c生成输出变量序列即目标语言具体过程:按照如下公式(9)来计算每一个时刻的目标单词yi:
p(yi|{y1,...,yi-1},c)=g(yi-1,si,ci) (9)
其中g是用于输出yi概率的非线性函数循环神经网络,si为解码部分第i个时刻的隐单元,用如下公式(10)计算:
si=f(si-1,yi-1,ci) (10)
其中,f是非线性函数循环神经网络。其它步骤及参数与具体实施方式一至三之一相同。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:基于多语平行语料的语义向量的机器翻译方法具体是按照以下步骤进行的:
步骤一、在训练过程中输入平行的源语言1、源语言2以及标准的目标语言;标准的目标语言为平行的源语言1和源语言2所对应的目标语言;
目标语言的作用:训练过程中必须共同输入源语言和目标语言才能训练步骤二至步骤四模型的参数;源语言1到目标语言的参数和源语言2到目标语言的参数是独立的,但互相影响;两个模型的参数一旦被训好,在测试过程中,只需输入源语言1或者源语言2,就可以用训好的模型生成目标语言;
步骤二、基于向量相似的模型构建方法;同时训练源语言1到目标语言和源语言2到目标语言的翻译系统;与基于拼接的模型不同,在基于向量相似的模型中,两个系统的参数独立但互相约束,如图2所示;
在编码-解码框架中,中间的向量是输入序列的语义表示,由于源语言1和源语言2是平行的,二者代表同一句话的语义,因此假设源语言1的中间向量表示c1和源语言2的中间向量表示c2具有相似性;在训练过程中,将向量c1和向量c2具有相似性作为约束条件,计算向量c1和向量c2的归一化之后的余弦距离;
步骤三、利用向量c1和向量c2的归一化之后的余弦距离函数dis(c1,c2)衡量向量c1和向量c2的相似性;
步骤四、由于余弦值越大,向量c1和c2之间的距离越小,为了让向量c1和c2之间的距离更小,令dis(c1,c2)大于阈值δ;给定源语言1句子集合S1和源语言2句子集合S2,的训练目标是,在c1与c2尽可能接近的条件下,最大化正确目标语言集合T的对数似然概率;即表示为如下约束最优化问题:
其中,0≤δ≤1为源语言1到标准目标语言的损失函数,为源语言2到标准目标语言的损失函数,T为标准目标语言集合;
步骤五、基于约束最优化问题,建立最终目标函数表示为如下公式:
Y=-(y1+y2)-λ·(dis(c1,c2)-δ) (5)
其中λ>0,λ为拉格朗日乘子;
在该模型中,只有训练过程需要同时输入源语言1和源语言2来同时训练源语言1到目标语言和源语言2到目标语言的系统;模型一旦训好,在测试过程中,我们只需要输入单语,即我们可以只输入源语言1来测试源语言1到目标语言的翻译系统,或者只输入源语言2来测试源语言2到目标语言的翻译系统;
步骤一至步骤四为基于向量相似如图2:在该方案中,由于源语言1和源语言2是平行的即源语言1和源语言2是同一句话,源语言1中间向量表示c1和源语言2的中间向量表示c2具有一定的相似性,在训练过程中加入了约束条件,让c1和c2的距离接近;图2为基于向量相似的机器翻译构建方法的主要过程流程图;在该模型中,只有训练过程需要同时输入源语言1和源语言2来同时训练源语言1到目标语言和源语言2到目标语言的系统;模型一旦训好,在测试过程中,我们只需要输入单语,即我们可以只输入源语言1来测试源语言1到目标语言的翻译系统,或者只输入源语言2来测试源语言2到目标语言的翻译系统。其它步骤及参数与具体实施方式一至四之一相同。
具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:步骤三中利用向量c1和向量c2的归一化之后的余弦距离函数dis(c1,c2)用如下公式(3)表示:
dis(c1,c2)=0.5+0.5*Cos(c1,c2) (3)
归一化之后的dis(c1,c2)为0到1之间。其它步骤及参数与具体实施方式一至五之一相同。