条件随机场(crf)-基础

雪饮者 雪饮者     2022-09-01     650

关键词:

  条件随机场(conditional random fields,简称 CRF,或CRFs)下文简称CRF,是一种典型的判别模型,相比隐马尔可夫模型可以没有很强的假设存在,在分词、词性标注、命名实体识别等领域有较好的应用。CRF是在马尔可夫随机场的基础上加上了一些观察值(特征),马尔可夫随机场<=>概率无向图模型。本篇将首先介绍CRF的一些基础知识,然后介绍线性链条件随机场模型,关于模型的学习算法将放在第二篇中介绍,第三篇介绍CRF的应用。

1主要概念

1.1概率无向图模型

  概率无向图模型是一种由无向图表示的联合概率分布,设有联合概率分布P(Y),Y是一组随机变量,用Y(i)表示,其中1<=i<=n,在无向图中用节点表示随机变量Y(i),节点的边表示随机变量的依赖关系。如果这些随机变量之间存在以下3个性质,那么就说这个联合概率分布为概率无向图模型。这3个性质分别是成对的马尔可夫性、局部的马尔可夫性、全局的马尔可夫性。这3个性质分别考察了给定周围环境的条件下,没有边直接相连的随机变量与随机变量、随机变量与随机变量组、随机变量组与随机变量组的独立性,这里的周围环境指的是除去要考察的随机变量(组)之外的所有随机变量。如果满足了独立性,那么就说随机变量(组)之间满足了对应的马尔可夫性。上述3个性质总结起来可以是没有直连边连接的任意两个节点是独立的。也可以这样理解:一个随机变量取什么值只与与其有直接边连接的节点有关系,没有直接的边连接就对这个节点代表的随机变量取值没影响。

1.2团与最大团

  无向图 G 中任何两个结点均有边连接的结点子集称为团。也就是说团<=>节点之间两两相连。

  最大团指的是已经没法向团中加入任何一个节点使之成为一个更大的团。

2CRF的工作原理

2.1联合概率分布的计算

如果根据贝叶斯公式直接求解P(Y1,Y2,Y3......Yn)这将是一件非常恐怖的事,所以我们的课本上讲联合概率分布的时候都是用两个随机变量,因为多个随机变量拆解起来太麻烦了。。。那怎么办呢?

如果随机变量A与B相互独立,那么P(A,B)=P(A)*P(B),同样,考虑到概率无向图模型的定义,(我们可以将联合概率分布拆解为概率无向图中所有最大团C的乘积的形式,Z是规范化因子,但考虑到n个Y(c)相乘也是够麻烦的,如果能改成加和的关系就好了,于是就有了下面优化计算后的联合概率分布,纯属个人理解。。)我们可以将联合概率分布拆解为C的势函数的乘积形式,用公式表示为

注意Y(c)表示最大团对应的随机变量,Z是规范化因子,保证概率和为1,公式为

需要满足两点:其一是保证概率为绝对正值,另一保证概率方便计算。通常定义为指数函数

这样既能保证概率为正,又能变积为和,方便计算。

2.2线性链条件随机场

下图中,Y是随机变量,X是Y的观察值(特征),这些随机变量Y构成线性链条件随机场

在线性链条件随机场中,两个相邻的节点构成一个最大团,假设当前节点为i,那么特征考虑两大类:作用在节点i上的和作用在边(i-1与i相连)上的,在进行参数化推导的时候作用在边上的转移特征比作用在节点上的状态特征还需要多考虑Y(i-1)的取值,所以特征可以统一表示为

 

其中分别分别表示随机变量Y(i-1)、Y(i)的取值、观察值X的取值、在标记序列中的位置,K表示特征的个数,n表示待标记序列中最大团的个数。对状态特征函数而言,是会被忽略掉的。特征的取值通常为0或1,表示某个特征是否存在。

于是线性链条件随机场可以表示为

其中表示权重。

 

  有了特征,再乘之以权重,然后将特征与权重之积以加和的形式组织在一起,就可以用来取代2.1中的Y(c),这是多么完美的解决方案啊!将特征合理地组织起来,取代我们需要预测的东西,如果将前者视为原因,后者视为结果,这不就契合了因果关系的辩证法么,是特征的不同取值导致了预测的结果不同!(好像扯远了。。。)

2.3CRF的预测算法

预测问题,就是从多个候选标注中选出来一种标注概率最高的。因为分母Z是归一化因子,具有不变性,所以只需要考虑分子。故只需求得

其中,

为特征向量,是特征向量对应的权值向量,n是最大团的个数,i从1取到n表示对整个标注序列求解,y是变量,表示标注取值。

下面我们用维特比算法来求解上述最大值,首先需要指出的是维特比算法的本质是动态规划,而动态规划的关键步骤在于找到状态转移方程,这里

是维特比算法的状态转移方程,其中J表示标记的个数,表示第i个位置标注序列是C(j)结束的最大概率,这样当i取值为n的时候就表示最后一个位置标注为C(j)的最大概率,这时只需要遍历j即可找到哪个标注序列是最大概率,那么这个标注序列即为我们所求。

对第一个位置我们可以表示为

 计算过程中需要记录路径,达到以空间换时间的效果。

ml-13-6条件随机场的三个问题(crf-conditionalrandomfield)

目录条件随机场CRF——前向后向算法评估标记序列概率条件随机场CRF——模型参数学习条件随机场CRF——维特比算法解码一、条件随机场CRF——前向后向算法评估标记序列概率  linear-CRF第一个问题是评... 查看详情

条件随机场(crf)占坑,待补充

CRF看了好久,一直感觉理解不太透彻,今天按照52自然语言处理运行了一下CRF++,先占坑,等忙完毕设,好好整理一下CRF与HMM(20181026)  查看详情

crf条件随机场

CRF的进化https://flystarhe.github.io/2016/07/13/hmm-memm-crf/参考:http://blog.echen.me/2012/01/03/introduction-to-conditional-random-fields/ 标记偏置问题:MEMM最大熵马尔可夫模型  路径1-1-1-1的概率:0.4*0.45*0.5=0 查看详情

nlp——图模型条件随机场(conditionalrandomfield,crf)

...rkovrandomfield,无向图模型)简单回顾   (二)条件随机场(Conditionalrandomfield,CRF)    这篇写的非常浅,基于[1]和[5]梳理。感觉[1]的讲解很 查看详情

条件随机场(crf)-1-简介(转载)

转载自:http://www.68idc.cn/help/jiabenmake/qita/20160530618222.html   首先我们先弄懂什么是“条件随机场”,然后再探索其详细内容。        于是,先介绍几个名词。马尔可夫链    & 查看详情

条件随机场之crf++源码详解-开篇

介绍  最近在用条件随机场做切分标注相关的工作,系统学习了下条件随机场模型。能够理解推导过程,但还是比较抽象。因此想研究下模型实现的具体过程,比如:1)状态特征和转移特征具体是什么以及如何构造2)前向后... 查看详情

条件随机场(crf)-2-定义和形式(转载)

    转载自:http://www.68idc.cn/help/jiabenmake/qita/20160530618218.html     参考书本:《2012.李航.统计学习方法.pdf》     书上首先介绍概率无向图模型,然后叙述条件随机场的定义和 查看详情

条件随机场之crf++源码详解-预测(代码片段)

...相对来说比较简单,所以这篇文章理解起来也会比上一篇条件随机场训练的内容要容易。预测  上一篇条件随机场训练的源码详解中,有一个地方并没有介绍。就是训练结束后,会把待优化权重alpha等变量保存到文件中,也就... 查看详情

条件随机场摘要

条件随机场(ConditionalRandomFields,以下简称CRF)是给定一组输入序列条件下另一组输出序列的条件概率分布模型,在自然语言处理中得到了广泛应用。HMM引入了马尔科夫假设,即当前时刻的状态只与其前一时刻的状态有关,HMM是一种... 查看详情

tensorflow学习(十四):条件随机场crf(代码片段)

参考:Module:tf.contrib.crf还有一些其他的函数可以到官方文档里面查看和使用.Ⅰtf.contrib.crf.crf_log_likelihoodcrf_log_likelihood(inputs,tag_indices,sequence_lengths,transition_params=None)在一个条件随机场里面计算标签序列的log-likelihood参数:in 查看详情

nlp入门使用crf++实现命名实体识别(ner)(代码片段)

CRF与NER简介??CRF,英文全称为conditionalrandomfield,中文名为条件随机场,是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫(Markov)随机场。??较为简单的条件随机场... 查看详情

条件随机场crf介绍

...示 逐帧softmax并没有直接考虑输出的上下文关联 条件 查看详情

条件随机场入门条件随机场的预测算法

...预测问题是给定模型参数和输入序列(观测序列)x,求条件概率最大的输出序列(标记序列)$y^*$,即对观测序列进行标注。条件随机场的预测算法同HMM还是维特比算法,根据CRF模型可得:egin{aligned}y^*&=argmax_yP_w(y|x)\&= ... 查看详情

条件随机场

...calT$上进行对数似然函数$mathcalL$的极大化。根据上一篇《条件随机场(三)》,我们知道线性链CRF的模型为egin{equation}p_{vec{lambda}}(vecy|vecx)=frac1{Z_{vec{lambda}}(vecx)}exp( 查看详情

条件随机场之crf++源码详解-训练(代码片段)

...CRF++的源码,并且本篇文章将是整个系列的重点,会介绍条件随机场中如何构造无向图、前向后向算法、如何计算条件概率、如何计算特征函数的期望以及如何求似然函数的梯度。本篇将结合条件随机场公式推导和CRF++源码实现... 查看详情

浅谈分词算法基于字的分词方法(crf)

目录前言目录条件随机场(conditionalrandomfieldCRF)核心点线性链条件随机场简化形式CRF分词CRFVSHMM代码实现训练代码实验结果参考文献前言通过前面几篇系列文章,我们从分词中最基本的问题开始,并分别利用了1-gram和HMM的方法实... 查看详情

自然语言处理系列-4条件随机场(crf)及其tensorlofw实现

...用比较多的一些机器学习模型,隐马尔科夫模型(HMM),条件随机场(CRF),朴素贝叶斯,支持向量机(SVM),EM算法等相继都会聊到,感兴趣的朋友可以订阅我的博客,或者关注我的微信公众号,会定期更新NLP相关的文章。 ... 查看详情

条件随机场入门条件随机场的训练

本节讨论给定训练数据集估计条件随机场模型参数的问题,即条件随机场的学习问题。条件随机场模型实际上是定义在时序数据上的对数线形模型,其学习方法包括极大似然估计和正则化的极大似然估计。具体的优化实现算法有... 查看详情