自然语言处理常用模型方法总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自然语言处理常用模型使用方法总结

一、N元模型

思想:

如果用变量W代表一个文本中顺序排列的n个词,即W = W1W2…Wn ,则统计语言模型的任务是给出任意词序列W 在文本中出现的概率P(W)。利用概率的乘积公式,P(W)可展开为:P(W) = P(w1)P(w2|w1)P(w3| w1 w2)…P(wn|w1 w2…wn-1),不难看出,为了预测词Wn的出现概率,必须已知它前面所有词的出现概率。从计算上来看,这太复杂了。如果任意一个词Wi的出现概率只同它前面的N-1个词有关,问题就可以得到很大的简化。这时的语言模型叫做N元模型(N-gram),即P(W) = P(w1)P(w2|w1)P(w3| w1 w2)…P(wi|wi-N+1…wi-1)…实际使用的通常是N=2 或N=3的二元模型(bi-gram)或三元模型(tri-gram)。以三元模型为例,近似认为任意词Wi的出现概率只同它紧接的前面的两个词有关。重要的是这些概率参数都是可以通过大规模语料库来估值的。比如三元概率有P(wi|wi-2wi-1) ≈ count(wi-2 wi-1… wi) / count(wi-2 wi-1)式中count(…) 表示一个特定词序列在整个语料库中出现的累计次数。统计语言模型有点像天气预报的方法。用来估计概率参数的大规模语料库好比是一个地区历年积累起来的气象纪录,而用三元模型来做天气预报,就像是根据前两天的天气情况来预测今天的天气。天气预报当然不可能百分之百正确。这也算是概率统计方法的一个特点吧。(摘自黄昌宁论文《中文信息处理的主流技术是什么?》)

条件:

该模型基于这样一种假设,第n个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计N个词同时出现的次数得到。常用的是二元的Bi-Gram和三元的Tri-Gram。

问题:

虽然我们知道元模型中, n越大约束力越强,但由于计算机容量和速度的限制及数据的稀疏,很难进行大n的统计。

二、马尔可夫模型以及隐马尔可夫模型

思想:

马尔可夫模型实际上是个有限状态机,两两状态间有转移概率;隐马尔可夫模型中状态不可见,我们只能看到输出序列,也就是每次状态转移会抛出个观测值;当我们观察到观测序列后,要找到最佳的状态序列。隐马尔科夫模型是一种用参数表示的用于描述随机过程统计特性的概率模型,是一个双重随机过程,由两个部分组成:马尔科夫链和一般随机过程。其中马尔科夫链用来描述状态的转移,用转移概率描述。一般随机过程用来描述状态与观察序列之间的关系,用观察值概率描述。因此,隐马尔可夫模型可以看成是能够随机进行状态转移并输出符号的有限状态自动机,它通过定义观察序列和状态序列的联合概率对随机生成过程进行建模。每一个观察序列可以看成是由一个状态转移序列生成,状态转移过程是依据初始状态概率分布随机选择一个初始状态开始,输出一个观察值后再根据状态转移概率矩阵随机转移到下一状态,直到到达某一预先指定的结束状态为止,在每一个状态将根据输出概率矩阵随机输出一个观察序列的元素。

一个 HMM有 5个组成部分,通常记为一个五元组{S,K, π,A,B},有时简写为一个三元组{π ,A,B},其中:①S是模型的状态集,模型共有 N个状态,记为 S={s1,s2, ⋯,sN};

②K是模型中状态输出符号的集合,符号数为 M,符号集记为K={k1,k2,⋯,kM};③是初始状态概率分布,记为 ={ 1, 2,⋯, N},其中 i是状态 Si作为初始状态的概率;④A是状态转移概率矩阵,记为A={aij},1≤i≤N,1≤j≤N。其中 aij是从状态 Si转移到状态 Sj的概率;

⑤B是符号输出概率矩阵,记为B={bik},1≤i≤N,1≤k≤M。其中 bik是状态 Si输出 Vk的概率。要用HMM解决实际问题,首先需要解决如下 3个基本问题:①给定一个观察序列 O=O1O2⋯OT和模型{ π,A,B},如何高效率地计算概率P(O|λ),也就是在给定模型的情况下观察序列O的概率;②给定一个观察序列 O=O1O2⋯OT和模型{ π,A,B},如何快速地选择在一定意义下“最优”的状态序列Q=q1q2⋯qT,使得该状态序列“最好地解释”观察序列;③给定一个观察序列 O=O1O2⋯OT,以及可能的模型空间,如何来估计模型参数,也就是说,如何调节模型{π,A,B}的参数,使得 P(O|λ)最大。

问题:

隐马模型中存在两个假设:输出独立性假设和马尔可夫性假设。其中,输出独立性假设要求序列数据严格相互独立才能保证推导的正确性,而事实上大多数序列数据不能被表示

成一系列独立事件。

三、最大熵模型

最大熵原理原本是热力学中一个非常重要的原理,后来被广泛应用于自然语言处理方面。其基本原理很简单:对所有的已知事实建模,对未知不做任何假设。也就是建模时选择这样一个统计概率模型,在满足约束的模型中选择熵最大的概率模型。若将词性标注或者其他自然语言处理任务看作一个随机过程,最大熵模型就是从所有符合条件的分布中,选择最均匀的分布,此时熵值最大。

求解最大熵模型,可以采用拉格朗日乘数法,其计算公式为:

()1p exp (,)()i i i y f x y x Z x λλλ⎡⎤=⎢⎥⎣⎦∑

其中,

Z ()exp (,)i i y i x f x y λλ⎡⎤=⎢⎥⎣⎦∑∑为归一化因子 ,i λ是对应特征的权重,i f 表示一个特征。每个特征对词性选择的影响大小由特征权重

i λ决定,而这些权值可由GIS 或IIS

学习算法自动得到。 四、支持向量机

原理:

支持向量机的主要思想可以概括为两点: (1) 它是针对线性可分情况进行分析,对于线性不可分的情况, 通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能; (2) 它基于结构风险最小化理论之上在特征空间中建构最优分割超平面,使得学习器得到全局最优化,并且在整个样本空间的期望风险以某个概率满足一定上界。

支持向量机的目标就是要根据结构风险最小化原理,构造一个目标函数将两类模式尽可能地区分开来, 通常分为两类情况来讨论,:(1) 线性可分;(2) 线性不可分。

线性可分情况

在线性可分的情况下,就会存在一个超平面使得训练样本完全分开,该超平面可描述为: w ·x + b = 0 (1) 其中,“·”是点积, w 是n 维向量, b 为偏移量。

最优超平面是使得每一类数据与超平面距离最近的向量与超平面之间的距离最大的这样的平面.

相关文档
最新文档