【中文分词】最大熵马尔可夫模型MEMM
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的更多相关文章
- 标记偏置 隐马尔科夫 最大熵马尔科夫 HMM MEMM
隐马尔科夫模型(HMM): 图1. 隐马尔科夫模型 隐马尔科夫模型的缺点: 1.HMM仅仅依赖于每个状态和它相应的观察对象: 序列标注问题不仅和单个词相关,并且和观察序列的长度,单词的上下文,等等相关 ...
- 最大熵马尔科夫模型(MEMM)及其标签偏置问题
定义: MEMM是这样的一个概率模型,即在给定的观察状态和前一状态的条件下,出现当前状态的概率. Ø S表示状态的有限集合 Ø O表示观察序列集合 Ø Pr(s|s’,o):观察和状态转移概 ...
- 转:从头开始编写基于隐含马尔可夫模型HMM的中文分词器
http://blog.csdn.net/guixunlong/article/details/8925990 从头开始编写基于隐含马尔可夫模型HMM的中文分词器之一 - 资源篇 首先感谢52nlp的 ...
- HMM(隐马尔科夫模型)与分词、词性标注、命名实体识别
转载自 http://www.cnblogs.com/skyme/p/4651331.html HMM(隐马尔可夫模型)是用来描述隐含未知参数的统计模型,举一个经典的例子:一个东京的朋友每天根据天气{ ...
- 一文搞懂HMM(隐马尔可夫模型)
什么是熵(Entropy) 简单来说,熵是表示物质系统状态的一种度量,用它老表征系统的无序程度.熵越大,系统越无序,意味着系统结构和运动的不确定和无规则:反之,,熵越小,系统越有序,意味着具有确定和有 ...
- 一文搞懂HMM(隐马尔可夫模型)-转载
写在文前:原博文地址:https://www.cnblogs.com/skyme/p/4651331.html 什么是熵(Entropy) 简单来说,熵是表示物质系统状态的一种度量,用它老表征系统的无 ...
- 隐马尔科夫模型python实现简单拼音输入法
在网上看到一篇关于隐马尔科夫模型的介绍,觉得简直不能再神奇,又在网上找到大神的一篇关于如何用隐马尔可夫模型实现中文拼音输入的博客,无奈大神没给可以运行的代码,只能纯手动网上找到了结巴分词的词库,根据此 ...
- [综]隐马尔可夫模型Hidden Markov Model (HMM)
http://www.zhihu.com/question/20962240 Yang Eninala杜克大学 生物化学博士 线性代数 收录于 编辑推荐 •2216 人赞同 ×××××11月22日已更 ...
- 【整理】图解隐马尔可夫模型(HMM)
写在前面 最近在写论文过程中,研究了一些关于概率统计的算法,也从网上收集了不少资料,在此整理一下与各位朋友分享. 隐马尔可夫模型,简称HMM(Hidden Markov Model), 是一种基于概率 ...
随机推荐
- 我是如何在SQLServer中处理每天四亿三千万记录的
首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...
- HTML文档头部
前面的话 在声明文档类型之后,HTML文档的下一部分为<html>标签,告知浏览器应将括在<html>...</html>内的所有内容解析为HTML.然后是HT ...
- Opserver开源的服务器监控系统(ASP.NET)
Opserver是Stack Exchange下的一个开源监控系统,系统本身由C#语言开发的ASP.NET(MVC)应用程序,无需任何复杂的应用配置,入门很快.下载地址:https://github. ...
- 深入理解css3中nth-child和 nth-of-type的区别
在css3中有两个新的选择器可以选择父元素下对应的子元素,一个是:nth-child 另一个是:nth-of-type. 但是它们到底有什么区别呢? 其实区别很简单::nth-of-type为什么要叫 ...
- arcgis api for js入门开发系列四地图查询(含源代码)
备注:由于实现本篇功能的需求,修改了地图数据的dlsearch.mxd,然后更新了地图服务,需要的在文章最后有提供最新的mxd以及源代码下载的 上一篇实现了demo的地图工具栏,本篇新增地图查询功能, ...
- oracle常用函数及示例
学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...
- Hibernate 系列 学习笔记 目录 (持续更新...)
前言: 最近也在学习Hibernate,遇到的问题差不多都解决了,顺便把学习过程遇到的问题和查找的资料文档都整理了一下分享出来,也算是能帮助更多的朋友们了. 最开始使用的是经典的MyEclipse,后 ...
- PADS Layout 颜色设置
一.板框.装配线.标注线配置: 二.个人爱好,我一般把Top pads设置成为浅绿色,Top Trace/vias/2D Line/Text/Cooper设置成为深绿色,Error设置成为黄色,而Bo ...
- JS案例之2——cycle元素轮播
元素轮播效果是页面中经常会使用的一种效果.这个例子实现了通过元素的隐藏和显示来表现轮播效果.效果比较简单. 效果图如下: 源代码如下: <!DOCTYPE html> <html&g ...
- Alwayson的IP冲突
Alwayson的IP冲突 https://social.technet.microsoft.com/Forums/office/en-US/4d50cb1c-eef7-4dcc-b937-3c8eb ...