一种基于循环神经网络的蒙古语语言模型制造技术

技术编号:19009126 阅读:92 留言:0更新日期:2018-09-22 09:00
本发明专利技术在原有的N‑Gram、NNLM、RNNLM语言模型的基础上提供了一种基于DNN的蒙古语声学模型。本发明专利技术在输入层引入上下文词向量和含有语义信息类别的词向量,不仅可以学习到更长距离的历史信息,同时也注入了相关的语义类别信息,有效的解决了现有的语言模型主要存在的问题。

A Mongolian language model based on recurrent neural network

The invention provides a Mongolian acoustic model based on DN N on the basis of the original N_Gram, NNLM and RNLM language models. By introducing context word vectors and word vectors containing semantic information categories into the input layer, the invention can not only learn long-distance historical information, but also inject relevant semantic category information, effectively solving the main problems existing in the existing language model.

【技术实现步骤摘要】
一种基于循环神经网络的蒙古语语言模型
本专利技术属于蒙古语语音识别领域,具体涉及一种基于循环神经网络的蒙古语语言模型。
技术介绍
语言模型被广泛应用在自然语言处理中,如语音识别、机器翻译、问答系统等应用中。语言模型是通过识别语言中允许出现词序列的先验概率进行建模,为词序列提供语法和句法约束。基于原有的N-Gram语言模型,逐步发展出NNLM、RNNLM等多种模型,缺乏对长距离信息的描述能力和缺乏语义信息的注入,是现有的语言模型主要存在的问题。
技术实现思路
由于基于循环神经网络的语言模型能更好地避免数据稀疏、长距离依赖欠佳的缺陷,因此本专利技术提供了一种基于循环神经网络的蒙古语语言模型(MLMRNN),在输入层引入上下文词向量和含有语义信息类别的词向量,不仅可以学习到更长距离的历史信息,同时也注入了相关的语义类别信息,本专利技术的主要内容包括:1、模型构建MLMRNN模型结构包括输入层、隐含层和输出层,输入层是x(t),隐含层是s(t),输出层是y(t)。在t时刻,输入向量x(t)包括三部分,分别是w(t),s(t-1)和f(t),其中w(t)代表t时刻输入的词的one-hot词向量表示;s(t-1)为t-1时刻隐含层的输出;f(t)为t时刻Skip-Gram训练出的上下文词向量,维度远小于|V|;隐含层为s(t);输出向量用y(t)表示,包括两部分,一部分是类别层神经元,另一部分是蒙古语词神经元,c(t)为对词汇表进行的词向量的聚类的类别层,输出向量y(t)即表示下一个词w(t+1)的概率。网络中,U、W、F为输入层与隐含层之间的权值矩阵,C为隐含层与类别层的权值矩阵,在输出层计算的时候先算词类的概率分布,再从所需的词类中计算特定词的概率,计算输出层的结果需要用到类别的输出结果。网络中各层输出值用表示为:x(t)=w(t)+s(t-1)+f(t)(1)s(t)=f(U·w(t)+W·s(t-1)+F·f(t))(2)c(t)=g(C·s(t))(3)y(t)=g(V′·s(t))(4)其中V′∈R(c(w(t))),R(c(w(t))表示w(t)所属的聚类的词集合,f表示sigmoid激活函数,g表示softmax激活函数。2、模型预训练在MLMRNN的预训练阶段,使用Word2vec+k-means算法得到蒙古语词表中的蒙古语词及其所属的语义类别,并设计了基于one-hot的蒙古语语义词向量,蒙古语语义词向量是根据不同的语义类别下的蒙古语词的个数,作为每个语义类别下的蒙古语词向量的维度,依次按照语义类别进行词向量的编码,编码完成语义类别1下的所有蒙古语词后,继续进行语义类别2下的所有蒙古语词的词向量编码,直至完成所有语义类别下的蒙古语词编码,编码格式同one-hot编码格式相同。当对MLMRNN进行训练和计算时,对每个输入的蒙古语词,根据类别信息创建基于one-hot的语义词向量,作为输入层进行计算。根据语义分为k类,基于one-hot的蒙古语语义词向量创建算法如下:3、模型的训练算法wt表示t时刻的当前输入蒙古语基于one-hot的语义词向量,维度是词典V的大小。ft表示t时刻预训练的蒙古语Skip-Gram词向量,维度为M(M<V)附图说明图1为MLMRNN模型结构图图2为蒙古语词义词向量的表示图3为MLMRNN网络结构图4训练集下不同隐含层节点数的语言模型的困惑度图5测试集下不同隐含层节点数的语言模型的困惑度图6训练集下不同bptt值的语言模型性能的困惑度图7测试集下不同bptt值的语言模型性能的困惑度图8语言模型困惑度降低率实施方式1、模型构建MLMRNN模型结构包括输入层、隐含层和输出层,输入层是x(t),隐含层是s(t),输出层是y(t)。在t时刻,输入向量x(t)包括三部分,分别是w(t),s(t-1)和f(t),其中w(t)代表t时刻输入的词的one-hot词向量表示;s(t-1)为t-1时刻隐含层的输出;f(t)为t时刻Skip-Gram训练出的上下文词向量,维度远小于|V|;隐含层为s(t);输出向量用y(t)表示,包括两部分,一部分是类别层神经元,另一部分是蒙古语词神经元,c(t)为对词汇表进行的词向量的聚类的类别层,输出向量y(t)即表示下一个词w(t+1)的概率。网络中,U、W、F为输入层与隐含层之间的权值矩阵,C为隐含层与类别层的权值矩阵,在输出层计算的时候先算词类的概率分布,再从所需的词类中计算特定词的概率,计算输出层的结果需要用到类别的输出结果。网络中各层输出值用表示为:x(t)=w(t)+s(t-1)+f(t)(1)s(t)=f(U·w(t)+W·s(t-1)+F·f(t))(2)c(t)=g(C·s(t))(3)y(t)=g(V′·s(t))(4)其中V′∈R(c(w(t))),R(c(w(t))表示w(t)所属的聚类的词集合,f表示sigmoid激活函数,g表示softmax激活函数。2、模型预训练在MLMRNN的预训练阶段,使用Word2vec+k-means算法得到蒙古语词表中的蒙古语词及其所属的语义类别,并设计了基于one-hot的蒙古语语义词向量,蒙古语语义词向量是根据不同的语义类别下的蒙古语词的个数,作为每个语义类别下的蒙古语词向量的维度,依次按照语义类别进行词向量的编码,编码完成语义类别1下的所有蒙古语词后,继续进行语义类别2下的所有蒙古语词的词向量编码,直至完成所有语义类别下的蒙古语词编码,编码格式同one-hot编码格式相同。当对MLMRNN进行训练和计算时,对每个输入的蒙古语词,根据类别信息创建基于one-hot的语义词向量,作为输入层进行计算。根据语义分为k类,基于one-hot的蒙古语语义词向量创建算法如下:3、模型的训练算法wt表示t时刻的当前输入蒙古语基于one-hot的语义词向量,维度是词典V的大小。ft表示t时刻预训练的蒙古语Skip-Gram词向量,维度为M(M<V)4、实验及结果4.1实验设计为了验证提出的MLMRNN蒙古语语言模型的有效性,设计了以下实验:(1)通过测试不同隐含层节点数和bptt值下的语言模型困惑度,开展隐含层节点数和bptt值对语言模型影响的实验研究,并取困惑度最低的语言模型的隐含层节点数作为后续实验的参数。(2)通过(1)得到在语言模型的最优参数后,取相同的参数,进行对比实验,分别是①引入蒙古语的Skip-Gram词向量,即RNNLM+SK;②使用基于one-hot的蒙古语语义词向量,即KC+RNNLM;③入蒙古语的Skip-Gram词向量,并使用基于one-hot的蒙古语语义词向量,即MLMRNN,最后同基于N-Gram的蒙古语语言模型在困惑度上进行比较。4.2实验设置实验训练数据来源于前期工作的蒙古语语料,共8000个蒙古语句子,按照3:1的比例将语料分为训练集和测试集,即6000个句子用来进行模型训练,另外的2000句用来对模型困惑度测试,基于循环神经网络的蒙古语语言模型训练时隐含层的节点数共设7组进行比较。在进行对比实验时,采用同样的训练及测试数据集,词汇表为11940个词,实验中采用Google的word2vec工具的Skip-Gram模型在训练集上得到维数为50,窗长为2的对应的蒙古语词向量。本本文档来自技高网...
一种基于循环神经网络的蒙古语语言模型

【技术保护点】
1.一种基于循环神经网络的蒙古语语言模型,其特征在于:模型结构包括输入层、隐含层和输出层,输入层是x(t),隐含层是s(t),输出层是y(t)。在t时刻,输入向量x(t)包括三部分,分别是w(t),s(t‑1)和f(t),其中w(t)代表t时刻输入的词的one‑hot词向量表示;s(t‑1)为t‑1时刻隐含层的输出;f(t)为t时刻Skip‑Gram训练出的上下文词向量,维度远小于|V|;隐含层为s(t);输出向量用y(t)表示,包括两部分,一部分是类别层神经元,另一部分是蒙古语词神经元,c(t)为对词汇表进行的词向量的聚类的类别层,输出向量y(t)即表示下一个词w(t+1)的概率,网络中,U、W、F为输入层与隐含层之间的权值矩阵,C为隐含层与类别层的权值矩阵,在输出层计算的时候先算词类的概率分布,再从所需的词类中计算特定词的概率,计算输出层的结果需要用到类别的输出结果,网络中各层输出值用表示为:x(t)=w(t)+s(t‑1)+f(t)                         (1)s(t)=f(U·w(t)+W·s(t‑1)+F·f(t))               (2)c(t)=g(C·s(t))                                     (3)y(t)=g(V′·s(t))                                    (4)其中V′∈R(c(w(t))),R(c(w(t))表示w(t)所属的聚类的词集合,f表示sigmoid激活函数,g表示softmax激活函数。...

【技术特征摘要】
1.一种基于循环神经网络的蒙古语语言模型,其特征在于:模型结构包括输入层、隐含层和输出层,输入层是x(t),隐含层是s(t),输出层是y(t)。在t时刻,输入向量x(t)包括三部分,分别是w(t),s(t-1)和f(t),其中w(t)代表t时刻输入的词的one-hot词向量表示;s(t-1)为t-1时刻隐含层的输出;f(t)为t时刻Skip-Gram训练出的上下文词向量,维度远小于|V|;隐含层为s(t);输出向量用y(t)表示,包括两部分,一部分是类别层神经元,另一部分是蒙古语词神经元,c(t)为对词汇表进行的词向量的聚类的类别层,输出向量y(t)即表示下一...

【专利技术属性】
技术研发人员:马志强张力杨瑞
申请(专利权)人:内蒙古工业大学
类型:发明
国别省市:内蒙古,15

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1