技术领域
[0001] 本发明属于机器翻译技术领域,特别涉及一种基于神经网络图灵机的蒙汉机器翻译方法。
相关背景技术
[0002] 随着目前包含信息技术在内的一系列网络服务的蓬勃发展,自然语言处理尤其是机器翻译在互联网发展过程中起到至关重要的作用。许多的大型搜索企业和服务中心例如谷歌、百度等针对机器翻译都进行了大规模的研究,为获取机器翻译的高质量译文而不懈努力。
[0003] 然而,随着科学家和语言学家几十年的不断努力,机器翻译在发展的过程中也暴露出无法忽略的问题——歧义词处理、未登录词处理以及双语结构差异而存在的编码混乱导致的译文质量低等问题。目前,国外很多知名大学和企业例如斯坦福大学自然语言处理小组、谷歌NLP小组和Facebook神经机器翻译部门都在相关领域的翻译任务中对上述问题提出了一定的假设解决方案并实施,无论是在英法翻译任务还是在英中翻译任务中,都没有一种兼容性很强的处理方法来解决上述出现的问题。实验结果表明,针对每一种翻译任务,有且仅存在一种符合源语言和目标语言两种语言特性的处理方案来缓解编码过程造成的一系列问题。有文献指出,从统计机器翻译的盛行的20世纪90年代到利用神经网络进行翻译建模的21世纪前10年,虽然在大体上机器翻译质量得到的不小的提高,但是在歧义词处理,非字典词语的替换等问题上仍没有得到有效的解决。因此针对翻译质量的有效提高迫在眉睫。
[0004] 目前,利用神经网络技术将处理过后的双语语料进行压缩编码并导入神经网络节点中,通过神经网络层与层之间和节点与节点之间的参数变换和传递来不断对语义进行学习。虽然能够通过了解句子意思的方式在一定程度上缓解统计翻译方法中出现的很多问题,例如译码不明、错译、未登陆词处理等问题,但是在精准度上面相比人工翻译仍然存在不小的劣势。
[0005] 最新的研究显示,谷歌、百度和全国知名院校的机器翻译工作进展中存在或多或少的翻译问题,有文献指出,由于世界语言的复杂性,没有一个完全解决翻译问题的系统出现,因此在粗译的前提下,如何做好细译的工作是本领域的工作重点。
具体实施方式
[0057] 下面结合附图和实施例说明本发明的具体实施方式。
[0058] 本发明一种基于神经网络图灵机的蒙汉机器翻译方法,其主要步骤:首先对蒙汉双语语料进行预处理,将蒙汉双语语料向量化,在此基础上构建出双语字典;然后通过神经网络图灵机(NTM)对存储进一步扩展,从LSTM的内部记忆单元扩展到外部存储器,引入内存机制,实现语义关系提取,给出两个实体词的语义关系;最后通过模型训练,寻找最优解。
[0059] 在NLP领域中,为了能表示人类的语言符号,一般会把这些符号转成一种数学向量形式以方便处理,把语言单词嵌入到向量空间中就叫词嵌入(word embedding)。word2vec是一种词嵌入工具,它能生成词向量,通过词向量可以很好地度量词与词之间的相似性。通过它可以在大数据量上进行高效训练从而得到词向量。
[0060] 词向量定义如下,给定一个句子S=(w1,w2,…,wn),通过查找词向量矩阵将每个词转换成词向量,其中:dw是词向量的维度;V是词向量矩阵的语料集中词汇数量。通过矩阵查找,每个单词被映射到一个行向量 即该词的词向量表示。对于无法在词向量矩阵中找到的词,使用随机初始化方式。
[0061] 具体而言,本发明分词处理主要基于jieba分词模块和word2vec模块,对于一长段中文文字,采用jieba分词,步骤如下:
[0062] 1)首先用正则表达式将中文段落粗略分成一个个句子;
[0063] 2)将每个句子构造成有向无环图,之后寻找最佳切分方案;
[0064] 3)最后对于连续的单字,采用HMM模型将其再次划分;
[0065] 4)然后借助word2vec生成词向量,就可以定量的去度量词与词之间之间的关系,挖掘词之间的联系。
[0066] 对于蒙古词语,采用word2vec算法训练生成向量矩阵,步骤如下:
[0067] 1)借助CBOW方法在输入层对蒙语进行处理,用前后c个词来预测中间w词,预测结果表示为Context(w);
[0068] 2)通过投影层将每个词向量加起来, xw表示每个词向量相加后的值,V表示预测结果Context(w)的向量值,第i个预测结果表示为Context(w)i;
[0069] 3)借助Huffman Tree来编码输出层的词典,使得最后离根节点越近的词出现的频率更高,而在叶子节点处出现的频率更低;
[0070] 4)将每个分支的概率相乘,得到所需的P(w|Context(w)),即通过中心词w的前c个词和后c个词来预测中心词是w的概率;
[0071] 5)取对数 对其求偏导,使用梯度下降算法更新权重,训练结束后的w就是词向量的矩阵,任何一个词的One-Hot表示乘以这个矩阵w就可以得到其词向量的表示,最终得到蒙语词向量矩阵。
[0072] 神经图灵机(Neural Turing Machine,NTM),也可称神经记忆网络(Neural Memory Network),本发明使用循环神经网络作为其控制器,因而其本质是一个具有额外存储矩阵的循环神经网络(RNN),如图1所示。
[0073] 而相比长短时记忆(Long Short-Term Memory,LSTM)网络或门控循环神经网络(Gated Recurren Unit,GRU)等RNN上强化记忆能力的改进模型,神经图灵机拥有更多且互不干扰的存储空间,它允许RNN对输入进行无损的保存,从而赋予RNN更优秀的记忆能力甚至使RNN拥有长时记忆(持久记忆),因此,将其用于语义关系抽取任务,可以获得更好的语境特征提取效果。同时额外使用一个二维的存储矩阵,用于保存外部状态,其整体架构如图2所示。
[0074] 即,神经网络图灵机(NTM)包含神经网络控制器和内存池两个可微分的基本组件,神经网络控制器与一个带有选择性读写操作的内存池进行交互,将执行读写操作的网络输出称为“读写头”;每个读写头上附有的一个权值,定义了神经网络图灵机读写头在各个地址的读写比重,由此,一个读写头,既能够精确访问单一地址,也能够弱定位在各个内存池位置。
[0075] 同时,神经网络图灵机(NTM)中定义了“模糊”读写的概念,即可以通过更多或更少的权重与内存池中的全部元素进行交互;“模糊度”由注意力机制确定,此机制约束每一个读/写操作交互到一小片内存池中,同时忽略其他部分。
[0076] 神经网络图灵机(NTM)的读过程如下:
[0077] 令mt代表时刻t的n*m内存矩阵。(n代表地址数或行数,m代表每个地址的向量大小)。令wt在时刻t读写头在n个地址的读写比重,由于所有的权重都进行了归一化,所以wt向量的内部元素wt(i)满足:
[0078]
[0079] 矩阵M读取向量rt,为定义为每个地址的向量Mt(i)加权和,为其返回值:
[0080]
[0081] 这个公式清晰地显示权重和记忆都是可微的(离散表示)。
[0082] 本发明使用神经图灵机根据词嵌入来提取语境(语义)特征,使每个词的高级特征考虑语境信息,这对于自然语言处理的精确性有很大的提升。如图3所示,语义提取过程通过词嵌入层获得每个词的数值化表示,使句子文本转化为一个二维的数值矩阵表示,然后将该矩阵输入一组神经图灵机中获得每个词的高级特征,之后将所有词通过注意力层进行合并得到句子特征,最后输入到分类器进行分类。存储矩阵的地址计算公式如下:
[0083] cost=softmax(cosine(Mt-1,xt))
[0084]
[0085]
[0086]
[0087]
[0088] 其中: 和 分别为输入和输出地址, 是LSTM的隐藏层输出,xt是输入向量,cost是输入-存储矩阵相似度, 和 是LSTM隐层的输入输出归一化后的值,softmax是softmax函数,即非线性激活并作归一化,cosine是余弦相似度计算函数,α是一个超参数,用于调节隐层和相似度的比例,W和b均为神经网络待训练的参数,下标表示所属计算单元, 是存储矩阵,模型计算出的存储地址是一个一维向量,其长度等于存储矩阵的长,数值的大小表示存储矩阵对应位置的采用率。
[0089] 得到地址后,存储矩阵的写入和读取计算公式如下:
[0090] vt=relu(Wxm+bxm)
[0091]
[0092]
[0093] 其中,Mt是t时刻完成写入操作后的存储矩阵,Mt-1是t-1时刻完成写入操作后的存储矩阵,使用非线性映射后的输入向量vt进行写入,relu是激活函数, 是从存储矩阵中读取出的信息,为一个一维向量,将其与LSTM的隐层输出合并在一起作为神经图灵机的完整输出,计算公式如下:
[0094]
[0095] 最终模型得到神经图灵机的一系列隐层输出,它与最初的输入一一对应,再将它们输入到后继网络中进行训练。
[0096] 其中词级注意力结构如图4所示,合并每个单词对应的隐层输出ht和代表整句信息的最终时刻隐层hlast,对其进行非线性映射并作归一化,从而模型可求解出一个权值at,然后将词的高级特征加权求和,得到句子的最终特征。
[0097] 其中注意力层的计算如下所示:
[0098]
[0099]
[0100] et=k*score(ht,hlast)
[0101]
[0102] 其中:ha是注意力层的输出,即句子的最终特征,at对应于t位置单词的权重,是通过score函数计算并进行归一化的实数,exp是以e为底的指数函数,k是一个随机参数,et是归一化后的实数, 是单词对应隐层输出的转置矩阵;
[0103] 根据得到的句子最终特征ha,导入蒙汉机器翻译模型(相当于解码器部分),通过下述公式进行翻译:
[0104]
[0105] 其中S是翻译生成的句子, 是在t时刻句子的输出特征,θ是网络相关参数,st是在t时刻生成的句子,求出满足语义特征最大概率的句子表示,也就是翻译句子的最优解释。
[0106] 对于得到的句子特征结果使用BLEU评分算法进行评测。
[0107] BLEU评分算法
[0108] BLEU算法是现阶段对机器翻译技术进行评估的一个基准,算法的基本思想是,对比待评测译文和提供的参考译文,判断翻译的准确率。BLEU算法的计算如下所示,其中BP为分段函数
[0109]
[0110]
[0111] 其中c表示待评测译文的长度,r表示参考译文的长度,分段函数BP即为一个长度惩罚因子,与c和r的大小关系相关。
[0112] 本发明的步骤可描述如下:
[0113] 1:loop
[0114] 2:选取蒙汉双语语料,利用jieba分词技术和word2vec方法对蒙汉语料进行分词以及词向量生成;
[0115] 3:通过神经网络图灵机,将双语语料进行词嵌入及语义关系提取;
[0116] 4:使用梯度下降算法进行训练,寻找最优语义关系特征。
[0117] 5:采用输出函数进行输出特征的操作:
[0118]
[0119] 6:评测译文质量算法如下:
[0120]
[0121] 7:end loop。