最大熵马尔科夫模型,抛开原理不谈,在序列标注任务中,类比HMM用viterbi对序列标注解码,MEMM只是取P(s_t+1=state_i|o_t+1,s_t)作为当前节点s_t+1作为state_i的概率,而这个概率是最大熵模型分类给出的作为类别state_i的概率,所以实现上HMM和MEMM星币,只不过是序列前向转移的时候,当前P(s_t+1=state_i|o_t+1,s_t)的计算方式不一样。
编码实现中,对序列中的(o_t,s_t-1)构建需要的最大熵特征,然后用最大熵模型建模,在预测的时候,模型根据生样本的特征预测label,并相应的每种label下的概率,然后依据此概率,来进行viterbi解码。故而所谓的最大熵马尔科夫模型就是分开的两步:1.依据最大熵模型得到每种隐藏状态的概率p(s_t|s_t-1,o_t),s_t=label1、label2…;2.依据此概率进行viterbi解码。最大熵马尔科夫模型与其说是模型,还不如说是一种概率打分策略。与hmm的解码相比,MEMM不存在发射概率,而只存在融入到最大熵模型概率中的转移概率。