Xue & Shen '2003 [2]用两种序列标注模型——MEMM (Maximum Entropy Markov Model)与CRF (Conditional Random Field)——用于中文分词;看原论文感觉作者更像用的是maxent (Maximum Entropy) 模型而非MEMM。MEMM是由McCallum et al. '2000 [1]提出MEMM,针对于HMM的两个痛点:一是其为生成模型(generative model),二是不能使用更加复杂的feature。

1. 前言

首先,将简要地介绍HMM与maxent模型。

HMM

概率图模型(probabilistic graphical model, PGM)指用图表示变量相关(依赖)关系的概率模型,主要分为两类:

  • 有向图模型或贝叶斯网(Bayesian network),使用有向图表示变量间的依赖关系;
  • 无向图模型或马尔可夫网(Markov network),使用无向图表示变量间相关关系。

监督学习的任务就是学习一个模型,对于给定的输入\(X\),能预测出类别\(Y\)。所学习到的模型一般可表示为决策函数:

\begin{equation}
Y = f(X)
\label{eq:deci}
\end{equation}

或者为条件概率

\begin{equation}
\arg \mathop{max}\limits_{Y} P(Y|X)
\label{eq:cond}
\end{equation}

监督学习的模型分为生成模型(generative model)与判别模型(discriminative model)。生成模型学习联合概率分布\(P(X, Y)\),然后通过贝叶斯定理求解条件概率\eqref{eq:cond},而判别模型则是直接学习决策函数\eqref{eq:deci}或条件概率\eqref{eq:cond}。HMM属于生成模型的有向图PGM,通过联合概率建模:

\[
P(S,O) = \prod_{t=1}^{n}P(s_t|s_{t-1})P(o_t|s_t)
\]

其中,\(S\)、\(O\)分别表示状态序列与观测序列。HMM的解码问题为\(\arg \mathop{max}\limits_{S} P(S|O)\);定义在时刻\(t\)状态为\(s\)的所有单个路径\(s_1^t\)中的概率最大值为

\[
\delta_t(s) = \max P(s_1^{t-1}, o_1^{t}, s_t=s)
\]

则有

\[
\begin{aligned}
\delta_{t+1}(s) & = \max P(s_1^{t}, o_1^{t+1}, s_{t+1}=s) \\
& = \max_{s'} P(s_1^{t-1}, o_1^{t}, s_t=s') P(s_{t+1}|s_t) P(o_{t+1}|s_{t+1}) \\
& = \max_{s'} [\delta_t(s') P(s|s')] P(o_{t+1}|s)
\end{aligned}
\]

上述式子即为(用于解决HMM的解码问题的)Viterbi算法的递推式;可以看出HMM是通过联合概率来求解标注问题的。

最大熵模型

最大熵(Maximum Entropy)模型属于log-linear model,在给定训练数据的条件下对模型进行极大似然估计或正则化极大似然估计:

\begin{equation}
P_w(y|x) = \frac{exp \left( \sum_i w_i f_i(x,y) \right)}{Z_w(x)}
\label{eq:me-model}
\end{equation}

其中,\(Z_w(x) = \sum_{y} exp \left( \sum_i w_i f_i(x,y) \right)\)为归一化因子,\(w\)为最大熵模型的参数,\(f_i(x,y)\)为特征函数(feature function)——描述\((x,y)\)的某一事实。

最大熵模型并没有假定feature相互独立,允许用户根据domain knowledge设计feature。

2. MEMM

MEMM并没有像HMM通过联合概率建模,而是直接学习条件概率

\begin{equation}
P(s_t|s_{t-1},o_t)
\label{eq:memm-cond}
\end{equation}

因此,有别于HMM,MEMM的当前状态依赖于前一状态与当前观测;HMM与MEMM的图模型如下(图来自于[3]):

一般化条件概率\eqref{eq:memm-cond}为\(P(s|s',o)\)。MEMM用最大熵模型来学习条件概率\eqref{eq:memm-cond},套用模型\eqref{eq:me-model}则有:

\begin{equation}
P(s|s',o) = \frac{ exp \left( \sum_a \lambda_a f_a(o,s) \right)}{ Z(o,s')}
\label{eq:memm-model}
\end{equation}

其中,\(\lambda_a\)为学习参数;\(a=<b,s>\)且\(b\)为feature,\(s\)为destination state;特征函数\(f_a(o,s)\)的示例如下(图出自于[6]):

类似于HMM,MEMM的解码问题的递推式:

\[
\delta_{t+1}(s) = \max_{s'} \delta_t(s') P(s|s', o_{t+1})
\]

但是,MEMM存在着标注偏置问题(label bias problem)。比如,有如下的概率分布(图来自于[7]):

根据上述递推式,则概率最大路径如下:

但是,从全局的角度分析:

  • 无论观测值,State 1 总是更倾向于转移到State 2;
  • 无论观测值,State 2 总是更倾向于转移到State 2.

从式子\eqref{eq:memm-model}可以看出MEMM所做的是本地归一化,导致有更少转移的状态拥有的转移概率普遍偏高,概率最大路径更容易出现转移少的状态。因MEMM存在着标注偏置问题,故全局归一化的CRF被提了出来[3]。欲知CRF如何,请看下一篇分解。

3. 参考资料

[1] McCallum, Andrew, Dayne Freitag, and Fernando CN Pereira. "Maximum Entropy Markov Models for Information Extraction and Segmentation." Icml. Vol. 17. 2000.
[2] Xue, Nianwen, and Libin Shen. "Chinese word segmentation as LMR tagging." Proceedings of the second SIGHAN workshop on Chinese language processing-Volume 17. Association for Computational Linguistics, 2003.
[3] Lafferty, John, Andrew McCallum, and Fernando Pereira. "Conditional random fields: Probabilistic models for segmenting and labeling sequence data." Proceedings of the eighteenth international conference on machine learning, ICML. Vol. 1. 2001.
[4] 李航,《统计学习方法》.
[5] 周志华,《机器学习》.
[6] Nikos Karampatziakis, Maximum Entropy Markov Models.
[7] Ramesh Nallapati, Conditional Random Fields.

【中文分词】最大熵马尔可夫模型MEMM的更多相关文章

  1. 标记偏置 隐马尔科夫 最大熵马尔科夫 HMM MEMM

    隐马尔科夫模型(HMM): 图1. 隐马尔科夫模型 隐马尔科夫模型的缺点: 1.HMM仅仅依赖于每个状态和它相应的观察对象: 序列标注问题不仅和单个词相关,并且和观察序列的长度,单词的上下文,等等相关 ...

  2. 最大熵马尔科夫模型(MEMM)及其标签偏置问题

    定义: MEMM是这样的一个概率模型,即在给定的观察状态和前一状态的条件下,出现当前状态的概率. Ø  S表示状态的有限集合 Ø  O表示观察序列集合 Ø  Pr(s|s­­’,o):观察和状态转移概 ...

  3. 转:从头开始编写基于隐含马尔可夫模型HMM的中文分词器

    http://blog.csdn.net/guixunlong/article/details/8925990 从头开始编写基于隐含马尔可夫模型HMM的中文分词器之一 - 资源篇 首先感谢52nlp的 ...

  4. HMM(隐马尔科夫模型)与分词、词性标注、命名实体识别

    转载自 http://www.cnblogs.com/skyme/p/4651331.html HMM(隐马尔可夫模型)是用来描述隐含未知参数的统计模型,举一个经典的例子:一个东京的朋友每天根据天气{ ...

  5. 一文搞懂HMM(隐马尔可夫模型)

    什么是熵(Entropy) 简单来说,熵是表示物质系统状态的一种度量,用它老表征系统的无序程度.熵越大,系统越无序,意味着系统结构和运动的不确定和无规则:反之,,熵越小,系统越有序,意味着具有确定和有 ...

  6. 一文搞懂HMM(隐马尔可夫模型)-转载

    写在文前:原博文地址:https://www.cnblogs.com/skyme/p/4651331.html 什么是熵(Entropy) 简单来说,熵是表示物质系统状态的一种度量,用它老表征系统的无 ...

  7. 隐马尔科夫模型python实现简单拼音输入法

    在网上看到一篇关于隐马尔科夫模型的介绍,觉得简直不能再神奇,又在网上找到大神的一篇关于如何用隐马尔可夫模型实现中文拼音输入的博客,无奈大神没给可以运行的代码,只能纯手动网上找到了结巴分词的词库,根据此 ...

  8. [综]隐马尔可夫模型Hidden Markov Model (HMM)

    http://www.zhihu.com/question/20962240 Yang Eninala杜克大学 生物化学博士 线性代数 收录于 编辑推荐 •2216 人赞同 ×××××11月22日已更 ...

  9. 【整理】图解隐马尔可夫模型(HMM)

    写在前面 最近在写论文过程中,研究了一些关于概率统计的算法,也从网上收集了不少资料,在此整理一下与各位朋友分享. 隐马尔可夫模型,简称HMM(Hidden Markov Model), 是一种基于概率 ...

随机推荐

  1. 继电器是如何成为CPU的(1)

    继电器是如何成为CPU的(1) ——<穿越计算机的迷雾>整理和总结 究竟是如何设计的电路,具有计算和控制的智力? 这一点也不高深.本系列文章从初中学的最简单的电路图说起,看看能不能从最初的 ...

  2. 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)

    一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...

  3. MVC5+EF6+MYSQl,使用codeFirst的数据迁移

    之前本人在用MVC4+EF5+MYSQL搭建自己的博客.地址:www.seesharply.com;遇到一个问题,就是采用ef的codefirst模式来编写程序,我们一般会在程序开发初期直接在glob ...

  4. 自己实现一个javascript事件模块

    nodejs中的事件模块 nodejs中有一个events模块,用来给别的函数对象提供绑定事件.触发事件的能力.这个别的函数的对象,我把它叫做事件宿主对象(非权威叫法),其原理是把宿主函数的原型链指向 ...

  5. 流程开发Activiti 与SpringMVC整合实例

    流程(Activiti) 流程是完成一系列有序动作的概述.每一个节点动作的结果将对后面的具体操作步骤产生影响.信息化系统中流程的功能完全等同于纸上办公的层级审批,尤其在oa系统中各类电子流提现较为明显 ...

  6. 一起学 Java(二)面向对象

    一.方法函数 函数也称为方法,就是定义在类中的具有特定功能的一段独立代码.用于定义功能,提高代码的复用性. 函数的特点1> 定义函数可以将功能代码进行封装,便于对该功能进行复用:2> 函数 ...

  7. MySQL 系列(二) 你不知道的数据库操作

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网 ...

  8. SignalR系列目录

    [置顶]用SignalR 2.0开发客服系统[系列1:实现群发通讯] [置顶]用SignalR 2.0开发客服系统[系列2:实现聊天室] [置顶]用SignalR 2.0开发客服系统[系列3:实现点对 ...

  9. Spring配置文件标签报错:The prefix "XXX" for element "XXX:XXX" is not bound. .

    例如:The prefix "context" for element "context:annotation-config" is not bound. 这种 ...

  10. JQuery实现表格的增加行和删除行

    利用JQuery实现datatables插件的增加和删除行操作 在学习过程中遇到了这个利用JQuery对表格行的增加和删除,特记录下来以供初学者参考. 下面是主要的代码: <meta http- ...