路佳佳++代爱凤++李美芳
摘要:目前国内外对统计语言模型在数据处理,经济学,自然语言处理,地质统计等领域的研究越来越广泛。n元语法模型是神经网络语言模型是将深度学习的思想用于语言模型而构建的,在自然语言处理中n元语法模型有很重要的地位,它在语音识别,词性标注,机器翻译等领域有广泛应用。本文详细论述了模型的原理,并对该模型的优缺点进行分析,并说明了该模型在自然语言处理中的应用。
关键词:n元语法模型;自然语言处理
一:词向量
“词向量”这个词最早由1986年hinton的文章“learning distributed representations of concepts”中提出,将单个词用“词向量”的方式表示是将deep learning的算法引入NLP 领域的一个核心技术,deep learning中的词向量是一种低维实数向量,词向量使得一些词的距离更近比如相关词或者相似词,这种距离通过欧式距离,夹角余弦来定义。“词向量”不仅可以避免维数灾难问题,而且由于相似词或者相关词的距离很小,应用词向量构造的模型本身具有平滑性。
词向量是通过训练语言模型得到。从大量的无标签的语料库中进行无监督学习的想法有了语言模型。语言模型是针对某种语言建立的概率模型。语言模型的一般描述就是给定一个词序列,词序列 ,求该词序列是自然语言的概率 ,其中, 表示词序列的第t个词,在n元语法模型中用 表示 。下面具体介绍n元语法模型。
二:n元语法模型
2.1模型的形式化表示。
假设有 个词, , 个词构成的词序列记为 ,词序列的概率为
(2.1)
上下文H中词A的极大似然概率计算公式为
(2.2)
其中 是在训练数据中词序列 出现的次数,上下文 可以由几个词组成,对于通常的三元模型, ,当 时,它没有考虑历史,该模型称为一元模型。
由于n元语法模型比较简单,目前最常使用的语言模型基于n元语法模型,但是该模型由于数据缺乏需要采用一些平滑算法。影响n元语法模型的最重要的因素是顺序和平滑技术的选择,常用的平滑技术有加法平滑算法,Knerser-Ney平滑方法,Katz平滑方法,Jelinek-Mercer平滑方法等。对于基于词的语言模型,修正的Knerser-Ney平滑方法(KN)在平滑技术中有较好的结果。
基于n元语法的统计数据模型的最大优势在于速度,简单和普遍性(只要存在一些训练数据,该模型可以应用到任何领域)。直到今天n元语法模型依然是最先进的技术,不是因为没有更好的技术,而是因为更好的技术计算过于复杂,仅仅进行了边际分布的改善,对于给定应用的成功不是至关重要的。
2.2模型的优缺点
n元语法模型的最大缺点在于随着上下文长度的增加,n元语法的数量成指数形式的增加。阻止这些模型有效的捕获较长的上下文类型。如果有大量的训练数据可用,从训练数据得到的模式不能通过n元语法进行有效地表示。因此产生了将神经网络应用到语言模型(LM)的思想,通过相似事件之间的共享参数来克服参数的指数增加,不再需要精确的历史 的匹配。下面具体介绍几种不同的神经网络语言模型。
n元语法的n体现了该词间的独立性,n越小独立性越强。则可根据不同语料的独立性特点选择不同的模型了。通常n=3。直观上讲,第i位置的词与前面多少个词的相关性并不一定,另外,“词”是一个笼统的概念(可以代表字、词短语等),它的选取也不确定,而一个模型直接赋予n一个确定的值,这本身是一种近似。所以说,模型不可能精确表达,根据这种局限性,一个好的模型的重要性就可想而知了。
2.3模型的改进
由于在自然语言处理中,如通过音素匹配法处理后,部分存在着缺失的可能。而且已识别的词对未识别词会有一定程度的影响,为了解决这种问题,所以华南理工大学陈伟雄[3]在论文"基于n元语法模型的领域语音指令识别"中对n元语法模型做一些改进。
Bengio[1]等人建议通过学习词的分布式表示来避免维数灾难,分布式表示允许每一个句子形成关于语义相近句子的指数数量的模型。该模型可以同时学习每一个词的分布式表示和词序列的分布式表示的概率函数。在合理的时间训练包含数以万计参数的如此大的模型本身是一种挑战,使用神经语言模型的方法进行实验,结果显示在两个文本预料(Brown corpus和AP new corpus)上该神经语言模型的方法极大地提高了n元语法模型的最先进的性能,并且该方法允许利用较长的上下文。
三:n元语法模型在自然语言处理中的应用
自然语言处理就是如何让计算机正确处理人类语言并作出正确的响应,近年来作为人工智能的一个重要组成部分得到了快速发展,使得人机之间直接采用语言作为交互方式成为了可能。
自2006年Hinton等人提出深度学习的概念之后,将深度学习的思想用于语言模型中形成的神经网络语言模型不仅仅是三层的神经网络,而是多层的神经网络语言模型。深度学习也就是深层神经网络算法,每次训练一层,逐层训练,上一层的输出作为下一层的输入。将深度学习的思想应用于语言模型中形成的神经网络语言模型可以应用于自然语言处理的很多领域,比如,词性标注,句法分析,框架排歧,语义角色标注等任务。
n元语法模型在语音指令识别中也有广泛应用.可以用一种音素匹配法[3]结合改进了的n元语法模型的方法对语音指令进行理解。指令按照结构划分类别通过提取其中关键要素来获取指令语义。音素匹配法可以提取指令中部分或全部要素对于指令中未识别的要素则根据已正确采用改进的n元语法模型进行推测。实验表明该方法取得了较好的效果,并在原有的基础上有一定的提高。
参考文献:
[1]陈伟雄.基于n元语法模型的领域语音指令识别.2009.5
[2]Bengio,Yoshua,Rejean Ducharme,and Pascal Vincent..A neural probabilistic language model.In T.K.Leen,T.G.Dietterich,and V.Tresp,eds.,Adv ances in NIPS 13,MIT Press.2001:932-938.
[3]翟剑锋.深度学习在自然语言处理中的应用..电脑编程技巧与维护.中国青年政治学院计算机中心,2013
[4]杨莹,吴诚炜,胡苏基.于受限玻尔兹曼机的中文文档分类.科技创新导报,中国电子科技集团公司第七研究所.广东广州.2012.