【NLP】基于机器学习角度谈谈CRF(三)

基于机器学习角度谈谈CRF

作者:白宁超

2016年8月3日08:39:14

【摘要】:条件随机场用于序列标注,数据分割等自然语言处理中,表现出很好的效果。在中文分词、中文人名识别和歧义消解等任务中都有应用。本文源于笔者做语句识别序列标注过程中,对条件随机场的了解,逐步研究基于自然语言处理方面的应用。成文主要源于自然语言处理、机器学习、统计学习方法和部分网上资料对CRF介绍的相关的相关,最后进行大量研究整理汇总成体系知识。文章布局如下:第一节介绍CRF相关的基础统计知识;第二节介绍基于自然语言角度的CRF介绍;第三节基于机器学习角度对CRF介绍,第四节基于统计学习角度对相关知识介绍;第五节对统计学习深度介绍CRF,可以作为了解内容。(本文原创,转载请注明出处基于机器学习角度谈谈CRF。)

目录


【自然语言处理:漫步条件随机场系列文章(一)】:前戏:一起走进条件随机场

【自然语言处理:漫步条件随机场系列文章(二)】:基于自然语言处理角度谈谈CRF

【自然语言处理:漫步条件随机场系列文章(三)】:基于机器学习角度谈谈CRF

【自然语言处理:漫步条件随机场系列文章(四)】:基于统计学习角度谈谈CRF

【自然语言处理:漫步条件随机场系列文章(五)】:条件随机场知识扩展

1 条件随机场(可以看作给定观察值的马尔科随机场)


CRF是一种判别式无向图模型

CRF试图对多个变量在给定观测值后的条件概率进行建模,具体来说,若令为观察序列,为与之对应的标记序列,则CRF的目标是构建条件概率模型P(Y|X)。

注意标记变量y是结构型变量,如在自然语言处理的句子标注任务中,观测数据为句子,标记为相应的词性序列,具有线性序列结构,在语法分析中,输出标记是语法树,具有树形结构。


令G=<V,E>表示结点与标记变量y中元素一一对应的无向图,表示与结点v对应标记变量,n(v)表示结点v的领结点,若图G的每一个变量 都满足马尔科夫性,即

 ,则(y,x)构成一个CRF。

上面形式化在第二章已经通过实例解析介绍过。

2 链式条件随机场


如上面句子标注,因为现象应用中,对标记序列建模时,常有链式结构(具体链式结构前面有介绍

与马尔科夫随机场定义联合概率概率的方式类似,CRF使用势函数和图结构上的团来定义条件概率P(y|x)给定观察序列X,所谓团即单个标记变量{}以及相邻标记变量选择合适的势函数,即形如:

的条件概率定义,其中与Q对应的势函数,为规范因子,实际中,往往Z不需要获得精确值。

在CRF中,通过选用势函数并引入特征函数,条件概率定义如下:

如上参数在第二章有详细讲解。

特征函数

句子标注为例的转移特征函数

表示第i个观察值为“爱”时,相对的标记分别是B,I,其状态特征函数如下:

 

表示观察值x为单字“爱”时,它对应的标注很可能为I

3 参考文献


【1】 数学之美 吴军 著

【2】 机器学习  周志华 著

【3】 统计自然语言处理 宗成庆 著(第二版)

【4】 统计学习方法(191---208) 李航

【5】 知乎 网络资源

4 自然语言相关系列文章


【自然语言处理】:【NLP】揭秘马尔可夫模型神秘面纱系列文章

【自然语言处理】:【NLP】大数据之行,始于足下:谈谈语料库知多少

【自然语言处理】:【NLP】蓦然回首:谈谈学习模型的评估系列文章

【自然语言处理】:【NLP】快速了解什么是自然语言处理

【自然语言处理】:【NLP】自然语言处理在现实生活中运用

声明:关于此文各个篇章,本人采取梳理扼要,顺畅通明的写作手法。系统阅读相关书目和资料总结梳理而成,旨在技术分享,知识沉淀。在此感谢原著无私的将其汇聚成书,才得以引荐学习之用。其次,本人水平有限,权作知识理解积累之用,难免主观理解不当,造成读者不便,基于此类情况,望读者留言反馈,便于及时更正。本文原创,转载请注明出处基于机器学习角度谈谈CRF。 

http://www.cnblogs.com/baiboy
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/628334

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。