CRF HMM,MEMM的区别

HMM详解:http://blog.csdn.net/likelet/article/details/7056068
图示区别:http://blog.csdn.net/zhoubl668/article/details/7787690


CRF,HMM(隐马模型),MEMM(最大熵隐马模型)都常用来做序列标注的建模,像词性标注,实体识别。

1.  但隐马模型一个最大的缺点就是由于其输出独立性假设,导致其不能考虑上下文的特征,限制了特征的选择,

2. 而最大熵隐马模型则解决了这一问题,可以任意的选择特征,但由于其在每一节点都要进行归一化,所以只能找到局部的最优值,同时也带来了标记偏见的问题(label bias),即凡是训练语料中未出现的情况全都忽略掉,

3. 而条件随机场则很好的解决了这一问题,他并不在每一个节点进行归一化,而是所有特征进行全局归一化,因此可以求得全局的最优值。

这三个模型都可以用来做序列标注模型。但是其各自有自身的特点:

1. HMM模型是对转移概率和表现概率直接建模,统计共现概率。

2. 而MEMM模型是对转移 概率和表现概率建立联合概率,统计时统计的是条件概率。MEMM容易陷入局部最优,是因为MEMM只在局部做归一化,

3. 而CRF模型中,统计了全局概率,在 做归一化时,考虑了数据在全局的分布,而不是仅仅在局部归一化,这样就解决了MEMM中的标记偏置的问题。

举个例子,对于一个标注任务,“我爱北京天安门“,
标注为” s s b e b c e”

对于HMM的话,其判断这个标注成立的概率为 P= P(s转移到s)P(‘我’表现为s) P(s转移到b)P(‘爱’表现为s)
…*P().训练时,要统计状态转移概率矩阵和表现矩 阵。

对于MEMM的话,其判断这个标注成立的概率为 P= P(s转移到s|’我’表现为s)P(‘我’表现为s)
P(s转移到b|’爱’表现为s)P(‘爱’表现为s)..训练时,要统计条件状态转移概率矩阵和表现矩阵。

对于CRF的话,其判断这个标注成立的概率为 P=
F(s转移到s,’我’表现为s)….F为一个函数,是在全局范围统计归一化的概率而不是像MEMM在局部统计归一化的概率。

你可能感兴趣的:(nlp)