条件随机场 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
    • 这个就是反着的了,英语里面好像木有两个介词连用的情况,所以这个时候我们的权重得是负的,说明我们不喜欢这种搭配。

现在你该明白了吧,总结一下:为了建一个条件随机场,你只需要定义一些特征函数(它们依赖于整个句子,当前的位置,附近的标签),然后将这些函数加权求和,再正则化就可以得到最终的概率了。

时间: 2024-10-03 13:27:52

条件随机场 Conditional Random Fields的相关文章

条件随机场(Conditional Random Fields)入门篇

1.1 引言 关系数据有两个特征: 1 待建模实体概率不独立.2 待建模的实体往往有很多特征可以帮助分类.例如,分类网页时,网页的文字信息可以提供很多信息,但网页间的超链接也可以帮助分类.[Tasker et al., 2012] 图模型是一种利用实体间概率依赖性的自然形式,通常,图模型用来表示联合分布P(x,y), y 表示的是期望的预测,x则表示可见的待待建模实体,类似于mechine learing的 输入x(i)与类标记y,但是对非独立变量的联合分布建模会很困难,因为根据乘法公式P(x,

条件随机场Conditional Random Field

听说这个词很久了,最近花了几天时间在啃这块东西. 看了李航的统计学习方法,实际不太理解,上面没有实际的案例,只是列举了一些定理和公式. Conditional Random Field 属于 Markov Random Field, which 可以表示为一个无向图模型. 今天早上看了一下这篇blog,针对例子感觉有些清楚了. http://blog.echen.me/2012/01/03/introduction-to-conditional-random-fields/ 稍候我再总结一下 原

条件随机场介绍(1)—— An Introduction to Conditional Random Fields

条件随机场介绍 原文:An Introduction to Conditional Random Fields 作者: Charles Sutton (School of Informatics, University of Edinburgh, Edinburgh, EH8 9AB, UK)Andrew McCallum (Department of Computer Science, University of Massachusetts, Amherst, MA, 01003, USA)

条件随机场介绍(7)—— An Introduction to Conditional Random Fields

参考文献 [1] S.M.AjiandR.J.McEliece,"Thegeneralizeddistributivelaw,"IEEETrans- actions on Information Theory, vol. 46, no. 2, pp. 325–343, 2000. [2] Y.Altun,I.Tsochantaridis,andT.Hofmann,"HiddenMarkovsupportvector machines," in Internation

An Introduction to Conditional Random Fields论文摘要(翻译:Trey;审校:Shooya)

摘要:通常,我们希望预测大量的,正如依赖于其他观察到的变元一样,互相间同样存在依赖的变元.结构化的预测模型,本质上是分类方法和图形化建模的结合,这些预测模型将图形化模型对多变元数据的有效建模能力,以及分类方法通过使用大的输入特征集来作出预测的能力结合起来.本指引讨论用于结构化预测的一个流行的概率模型--条件随机域.条件随机域广泛应用于自然语言处理.计算机视觉,以及生物信息学.我们讨论推理的方法以及条件随机域的参数估计,包括实现大规模条件随机域的实际问题.我们并没有假设读者具备任何图形化建模的预备

(转)Image Segmentation with Tensorflow using CNNs and Conditional Random Fields

Daniil's blog Machine Learning and Computer Vision artisan. About/ Blog/ Image Segmentation with Tensorflow using CNNs and Conditional Random Fields Tensorflow and TF-Slim | Dec 18, 2016 A post showing how to perform Image Segmentation with a recentl

a introduction to conditional random fields

1.Structured prediction methods are essentially a combination of classification and graphical modeling. 2.They combine the ability of graphical models to compactly model multivariate data with the ability of classification methods to perform predicti

条件随机场介绍(4)—— An Introduction to Conditional Random Fields

4. 推断 高效的推断算法对条件随机场的训练和序列预测都非常重要.主要有两个推断问题:第一,模型训练之后,为新的输入\(\mathbf{x}\)确定最可能的标记\(\mathbf{y}^* = \arg \max_{\mathbf{y}} p(\mathbf{y}|\mathbf{x})\):第二,如第5部分所述,参数估计常要求计算标记子集上的边缘分布,例如节点的的边缘分布\(p(y_t|\mathbf{x})\)和边上的边缘分布\(p(y_t,y_{t-1}|\mathbf{x})\).这两个

<知识库的构建> 3-2 条件随机场Condition Random Field

@font-face { font-family: "Cambria Math"; }@font-face { font-family: "DengXian"; }@font-face { font-family: "@DengXian"; }p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: &quo