nlp中的概率图模型
在自然语言处理中,概率图模型极为重要,在中文分词、词性标注、命名实体识别等诸多场景中有著广泛的应用。概率图模型(Graphical Model)分为贝叶斯网路(Bayesian Network)和马尔科夫网路(Markov Network),其中贝叶斯网路可以用一个有向图结构表示,马尔科夫网路可以用无向图结构;进一步概率图模型包含朴素贝叶斯模型、最大熵模型、隐马尔可夫模型、条件随机场、主题模型等。此外,概率图模型常常会涉及表示、推断、参数学习三大问题。
概率图模型涉及很多方面,本文仅仅介绍两个重要模型HMM和CRF,将有关的概率图串起来。本文不仔细介绍有关底层知识,仅是一篇汇总+总结文。
1、HMM VS NB,GMM
本小节从朴素贝叶斯模型(NB)和高斯混合模型(GMM)引出隐马尔可夫模型(HMM)。
1.1 朴素贝叶斯模型(NB)
NB的目标函数是后验概率最大化,其等价于0-1损失最小。NB是贝叶斯网路中最为简单的一个模型,贝叶斯网路中应熟悉概率因子分解和条件独立性判断(head to tail,tail to tail,head to head),而NB正是应用了tail to tail的条件独立性假设。
最大后验概率:
条件独立性假设:
NB的参数学习意味著需要估计 和 ,可以采用极大似然估计(MLE);而采用MLE可能会出现估计概率为0的情况,这会影响后验概率的计算结果,使分类产生偏差。因此,可采用贝叶斯估计解决,如add-1-smoothing 或者 add-k-smoothing。
1.2 高斯混合模型(GMM)
再引出GMM之前,首先换个角度理解NB:把NB看做单一模型,即观测变数 由 产生,而 也是可以观测的;一旦给定,就可以估计 。
而对于GMM,观测变数虽然 也是由 产生的,但是 确实不可以观测的。「混合」表示观测变数 会由多个隐变数 产生:
GMM也是一种常见的聚类演算法,使用EM演算法进行迭代计算;GMM假设每个簇的分布服从高斯分布。
1.3 隐马尔可夫模型(HMM)
在引入HMM之前,我们分别介绍了NB和GMM,那么它们与HMM有何关联?
当NB中的 变为隐变数时,即可得到「混合」的GMM模型;而当GMM模型中的隐变数展开为时间序列时,即可得到HMM。
学习HMM的口诀是「1-2-3」:
(1)1个参数包含: ;
(2)2个假设:一阶马尔科夫假设+观测独立性假设;
(3)3个问题:概率计算问题(前向后向);参数学习问题(EM/MLE);预测问题(Viterbi);
2、CRF VS LR,ME
2.1 最大熵模型ME
最大熵模型由最大熵原理导出,最大熵原理是概率学习和估计的一个准则。最大熵原理认为在所有可能的概率模型的集合中,熵最大的模型是最好的模型。最大熵模型的学习等价于约束最优化问题:
求解之后可以得到最大熵模型的表达式为:
最大熵模型最终可以归结为学习最佳的参数w。
2.2 从最大熵模型ME看逻辑回归LR
如果将看作 二元变数,并且将特征函数修改为:
即可得到sigmoid函数:
从上所述,可以看出LR是最大熵模型ME的一个特例。 LR和ME均属于对数线性模型。
2.3 从最大熵模型ME看CRF
条件随机场CRF可以看作是最大熵模型ME在时间序列上的延伸。
3、HMM、MEMM vs CRF
本小节对HMM、MEMM和CRF进行对比。
1)HMM是有向图模型,是生成模型;HMM有两个假设:一阶马尔科夫假设和观测独立性假设;但对于序列标注问题不仅和单个词相关,而且和观察序列的长度,单词的上下文,等等相关。
2)MEMM(最大熵马尔科夫模型)是有向图模型,是判别模型;MEMM打破了HMM的观测独立性假设,MEMM考虑到相邻状态之间依赖关系,且考虑整个观察序列,因此MEMM的表达能力更强;但MEMM会带来标注偏置问题:由于局部归一化问题,MEMM倾向于选择拥有更少转移的状态。这就是标记偏置问题。
3)CRF模型解决了标注偏置问题,去除了HMM中两个不合理的假设,当然,模型相应得也变复杂了。
HMM、MEMM和CRF的优缺点比较:
a)与HMM比较。CRF没有HMM那样严格的独立性假设条件,因而可以容纳任意的上下文信息。特征设计灵活(与ME一样)
b)与MEMM比较。由于CRF计算全局最优输出节点的条件概率,它还克服了最大熵马尔可夫模型标记偏置(Label-bias)的缺点。
c)与ME比较。CRF是在给定需要标记的观察序列的条件下,计算整个标记序列的联合概率分布,而不是在给定当前状态条件下,定义下一个状态的状态分布.
首先,CRF,HMM(隐马模型),MEMM(最大熵隐马模型)都常用来做序列标注的建模,像分词、词性标注,以及命名实体标注
隐马模型一个最大的缺点就是由于其输出独立性假设,导致其不能考虑上下文的特征,限制了特征的选择最大熵隐马模型则解决了隐马的问题,可以任意选择特征,但由于其在每一节点都要进行归一化,所以只能找到局部的最优值,同时也带来了标记偏见的问题,即凡是训练语料中未出现的情况全都忽略掉。条件随机场则很好的解决了这一问题,他并不在每一个节点进行归一化,而是所有特征进行全局归一化,因此可以求得全局的最优值。
推荐阅读: