条件随机场 Conditional Random Fields
简介
假设你有冠西哥一天生活中的照片(这些照片是按时间排好序的),然后你很无聊的想给每张照片打标签(Tag),比如这张是冠西哥在吃饭,那张是冠西哥在睡觉,那么你该怎么做呢?
一种方法是不管这些照片的序列性(照片本来是按照时间排序的),然后给每张图片弄一个分类器。例如,给了你冠西哥一个月的生活照作为训练样本(打了Tag的),你可能就会学习到:早上6点黑乎乎的照片可能就是冠西哥在睡觉;有很多亮色的照片可能就是冠西哥在跳舞;有很多车的照片可能就是冠西哥在飙车。
很明显,照片的序列性包含有很多信息,忽视它是不对滴。比如,你看到了一张大嘴的特写,这个时候冠西哥是在吃饭呢还是在唱歌?如果你知道冠西哥在前一个时间点的照片上是在煮饭,那么很有可能这张就是在吃饭了;如果前一个时间点的照片上他是在唱歌或者跳舞,那么这张就很有可能是在唱歌。
因此呢,我们应该利用nearby照片的信息来提高我们标签机(暂时这么叫吧)的准确性,这正是条件随机场所干的事。
词性标注
下面用词性标注的例子来阐述一些细节。
词性标注:给你一个句子(a sequence of words or tokens),然后你给每个单词标注它是动词、副词还是形容词,或者其他。
就像其他的分类器一样,我们需要定义一些特征函数(feature functions) f i
条件随机场里的特征函数
在条件随机场里面,每个特征函数有下面几个输入值:
- 一个句子 s
- 一个单词在句子中的位置 i
- 当前单词的标签l i
- 前一个单词的标签l i−1
输出为一个实数(虽然通常就是0或者1)
(注释:实际上,在这里我们把特征限制在了当前单词和前一个单词的标签上,而不是整个句子中的任意标签,我们在这儿构建了一个条件随机场的特例——linear chain CRF。为了简洁性,我们这里就讨论这种特例)
比如,一个可能的特征函数:度量前一个单词是"very"的时候,当前单词被标为形容词的可能性。
特征转化为概率
接下来我们给每一个特征函数f j
赋一个权值λ j
(在下面我会交代怎么学习这些权值)。现在给定一个句子s,我们就能计算一个特定的标签集l
的加权得分了(l
是a sequence of labels,如(NOUN, ABJECTIVE...) 表示给s的第一个单词标为NOUN,第二个单词标为ABJECTIVE):
score(l|s)=∑ m j=1 ∑ n i=1 λ j f j (s,i,l i ,l i−1 )
(外层的求和是对所有的feature function求和,内层的求和是对句子中的所有单词求和)
最后,我们将这些得分(score)正则化到0-1:
Missing open brace for superscript
一些特征函数的例子
- 如果l i
是副词并且第i个单词以"ly"结尾,则f 1 (s,i,l i ,l i−1 )=1
,否则为0- 如果我们给这个特征函数赋大且正的权重,那么就是说我们很愿意将以"ly"结尾的单词看成是副词。(因为权重大,最后对总score的贡献大嘛)
- 如果i=1
并且l i
是动词,并且句子以"?"结尾,则f 2 (s,i,l i ,l i−1 )=1
,否则为0- 同样的,如果我们给这个特征函数赋大且正的权重,说明我们很愿意将以"?"结尾的句子的第一个单词标为动词。
- 如果l i−1
是形容词并且l i
是名词,则f 1 (s,i,l i ,l i−1 )=1
,否则为0- 一样的,大且正的权重,说明我们愿意将形容词后面的词标为名词(或者将名词前面的词标为形容词)
- 如果l i−1
是介词并且l i
也是介词,则f 1 (s,i,l i ,l i−1 )=1
,否则为0- 这个就是反着的了,英语里面好像木有两个介词连用的情况,所以这个时候我们的权重得是负的,说明我们不喜欢这种搭配。
现在你该明白了吧,总结一下:为了建一个条件随机场,你只需要定义一些特征函数(它们依赖于整个句子,当前的位置,附近的标签),然后将这些函数加权求和,再正则化就可以得到最终的概率了。
条件随机场 Conditional Random Fields的更多相关文章
- 条件随机场Conditional Random Field-CRF入门级理解
条件随机场Conditional Random Field-CRF入门级理解 有向图与无向图模型 CRF模型是一个无向概率图模型,更宽泛地说,它是一个概率图模型.现实世界的一些问题可以用概率图模型 ...
- 条件随机场conditional random field
主要翻译自http://blog.echen.me/2012/01/03/introduction-to-conditional-random-fields/,原作者是MIT的大神,加入了一些我自己的 ...
- 条件随机场(Conditional random field)
条件随机场真是把我给折磨坏了啊,本以为一本小小的<统计学习方法>攻坚剩下最后一章,心情还是十分愉悦的,打算一口气把它看完,结果真正啃起来真是无比的艰难啊,每一句对我都好像是天书一般,怎么这 ...
- 论文翻译:Conditional Random Fields as Recurrent Neural Networks
Conditional Random Fields as Recurrent Neural Networks ICCV2015 cite237 1摘要: 像素级标注的重要性(语义分割 图像理解) ...
- (转)Image Segmentation with Tensorflow using CNNs and Conditional Random Fields
Daniil's blog Machine Learning and Computer Vision artisan. About/ Blog/ Image Segmentation with Ten ...
- Conditional Random Fields (CRF) 初理解
1,Conditional Random Fields
- an introduction to conditional random fields
1.Structured prediction methods are essentially a combination of classification and graphical modeli ...
- 条件随机场CRF(一)从随机场到线性链条件随机场
条件随机场CRF(一)从随机场到线性链条件随机场 条件随机场CRF(二) 前向后向算法评估观察序列概率(TODO) 条件随机场CRF(三) 模型学习与维特比算法解码(TODO) 条件随机场(Condi ...
- 条件随机场 (CRF) 分词序列谈之一(转)
http://langiner.blog.51cto.com/1989264/379166 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.ht ...
随机推荐
- win10 uwp 自定义控件 SplitViewItem
本文主要是因为汉堡菜单里面列出的菜单很多重复的图标和文字,我把它作为控件,因为是随便写,可能存在错误,如果发现了,请和我说或关掉浏览器,请不要发不良言论. 我们使用汉堡菜单,经常需要一个 需要一个图标 ...
- configparser模块(拷贝)
该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值). 创建文件 来看一个好多软件的常见文档格式如下: [DEFAULT] ...
- 做多了国际化项目,你怎么处理时区不同的各种blabla...问题
我们做的的都是国际化大项目,今天发现了个大bug,没错!是时区不同引起的,如果你觉得这还不简单,这样,这样,再这样不就可以了吗?我只能呵呵了. 先来普及一下基础知识 : 1.地球分为24时区,北京位于 ...
- 项目总结一:响应式之CSS3 媒体查询
1.<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scala ...
- [http服务]
[http服务] CentOS 6 httpd 程序环境 记录了httpd的主进程编号: v 主程序文件: /usr/sbin/httpd /usr/sbin/httpd.worker /usr/sb ...
- Akka(34): Http:Unmarshalling,from Json
Unmarshalling是Akka-http内把网上可传输格式的数据转变成程序高级结构话数据的过程,比如把Json数据转换成某个自定义类型的实例.按具体流程来说就是先把Json转换成可传输格式数据如 ...
- SQL注入技术
TalkTalk的信息泄漏事件导致约15万人的敏感信息被暴露,涉嫌造成这一事件的其中一名黑客使用的并不是很新的技术.事实上,该技术的「年纪」比这名15岁黑客还要大两岁. [译注:TalkTalk是英国 ...
- IdentityServer4 通过 AccessToken 获取 UserClaims
实现效果:通过生成的access_token获取用户的一些信息,这样客户端请求的时候,不需要传递用户信息了. 示例配置: public void ConfigureServices(IServiceC ...
- BZOJ-1864-[Zjoi2006]三色二叉树(树形dp)
Description Input 仅有一行,不超过500000个字符,表示一个二叉树序列. Output 输出文件也只有一行,包含两个数,依次表示最多和最少有多少个点能够被染成绿色. Sample ...
- 行内脚本的位置放置----css阻塞行内脚本
行内脚本:避免放置在css和其他资源之间. 若在head中,最好放在css样式表之前,如果放置在样式表之后,会引起css阻塞. css阻塞:由于浏览器要保证css和JavaScript的执行顺序,cs ...