做事必须搞清楚的九个顺序!
CRF,HMM(隐马模型),MEMM(最大熵隐马模型)都常用来做序列标注的建模,像词性标注,True casing。但隐马模型一个最大的缺点就是由于其输出独立性假设,导致其不能考虑上下文的特征,限制了特征的选择,而最大熵隐马模型则解决了这一问题,可以任意的选择特征,但由于其在每一节点都要进行归一化,所以只能找到局部的最优值,同时也带来了标记偏见的问题(label bias),即凡是训练语料中未出现的情况全都忽略掉,而条件随机场则很好的解决了这一问题,他并不在每一个节点进行归一化,而是所有特征进行全局归一化,因此可以求得全局的最优值。
最大熵马尔科夫在建模的时候考虑的问题和ME(最大熵模型)其实是一样的。
同样是马尔科夫的三个基本问题。
问题1:给定观察序列O=O1,O2,…OT,以及模型 λ=(π, A, B), 如何计算P(O|λ)?
问题2:给定观察序列O=O1,O2,…OT以及模型λ,如何选择一个对应的状态序列 S = q1,q2,…qT,使得S能够最为合理的解释观察序列O?即argmaxss∈Q|T|P(T,S|λ).
问题3:如何调整模型参数 λ=(π, A, B) , 使得P(O|λ)最大?
1. 对于第一个问题使用类似于Forward-Backward的过程来解决。
2. 对于第二个问题使用类似于Viterbi的算法来解决。
3. 对于第三个问题使用和ME模型训练相同的方法GIS来解决。
在建模的时候MEMM想优化的问题和ME很像。而在运用模型的时候和HMM很像。