NLP自然语言处理CRF详解

本文出自

原文地址:http://www.cnblogs.com/baiboy/p/crf3.html

1 机器学习中的生产模型与判别模型


生产式模型与判别式模型简述,条件随机场是哪种模型?

有监督机器学习方法可以分为生成方法和判别方法:

1)生产式模型:直接对联合分布进行建模,如:混合高斯模型、隐马尔科夫模型、马尔科夫随机场等

2)判别式模型:对条件分布进行建模,如:条件随机场、支持向量机、逻辑回归等。

生成模型优缺点介绍:
优点:

1)生成给出的是联合分布,不仅能够由联合分布计算条件分布(反之则不行),还可以给出其他信息。如果一个输入样本的边缘分布很小的话,那么可以认为学习出的这个模型可能不太适合对这个样本进行分类,分类效果可能会不好

2)生成模型收敛速度比较快,即当样本数量较多时,生成模型能更快地收敛于真实模型。
3)生成模型能够应付存在隐变量的情况,比如混合高斯模型就是含有隐变量的生成方法。
缺点:
1)天下没有免费午餐,联合分布是能提供更多的信息,但也需要更多的样本和更多计算,尤其是为了更准确估计类别条件分布,需要增加样本的数目,而且类别条件概率的许多信息是我们做分类用不到,因而如果我们只需要做分类任务,就浪费了计算资源。
2)另外,实践中多数情况下判别模型效果更好。
判别模型优缺点介绍:
优点:
1)与生成模型缺点对应,首先是节省计算资源,另外,需要的样本数量也少于生成模型。
2)准确率往往较生成模型高。
3)由于直接学习,而不需要求解类别条件概率,所以允许我们对输入进行抽象(比如降维、构造等),从而能够简化学习问题。
缺点:
1)是没有生成模型的上述优点。

2 简单易懂的解释条件随机场


线性链的条件随机场跟线性链的隐马尔科夫模型一样,一般推断用的都是维特比算法。这个算法是一个最简单的动态规划。
首先我们推断的目标是给定一个X,找到使P(Y|X)最大的那个Y嘛。然后这个Z(X),一个X就对应一个Z,所以X固定的话这个项是常量,优化跟他没关系(Y的取值不影响Z)。然后exp也是单调递增的,也不带他,直接优化exp里面。所以最后优化目标就变成了里面那个线性和的形式,就是对每个位置的每个特征加权求和。比如说两个状态的话,它对应的概率就是从开始转移到第一个状态的概率加上从第一个转移到第二个状态的概率,这里概率是只exp里面的加权和。那么这种关系下就可以用维特比了,首先你算出第一个状态取每个标签的概率,然后你再计算到第二个状态取每个标签得概率的最大值,这个最大值是指从状态一哪个标签转移到这个标签的概率最大,值是多 少,并且记住这个转移(也就是上一个标签是啥)。然后你再计算第三个取哪个标签概率最大,取最大的话上一个标签应该是哪个。以此类推。整条链计算完之后, 你就知道最后一个词去哪个标签最可能,以及去这个标签的话上一个状态的标签是什么、取上一个标签的话上上个状态的标签是什么,酱。这里我说的概率都是 exp里面的加权和,因为两个概率相乘其实就对应着两个加权和相加,其他部分都没有变。
学习
这是一个典型的无条件优化问题,基本上所有我知道的优化方法都是优化似然函数。典型的就是梯度下降及其升级版(牛顿、拟牛顿、BFGS、L-BFGS),这里版本最高的就是L-BFGS了吧,所以一般都用L-BFGS。除此之外EM算法也可以优化这个问题。

3 概率无向图与马尔科夫随机场前世今生


概率无向图模型又称为马尔科夫随机场,是一个可以由无向图表示的联合概率分布。

图是由结点和连接结点的边组成的集合,(这部分知识学过数据结构或者算法的同学都比较了解,不作为深入讲解。)

注意:无向图是指边上没有方向的图,既然边没有方向,其权值是有方向的,诸如转移概率中,“我”到“爱”的转移概率0.5.

概率图模型是由图表示的概率分布,没有联合概率分布P(Y),Y∈{y}是一组随机变量由无向图G=<V,E>表示概率分布P(Y),即在图G中,结点v∈V表示一个随机变量 边e∈E表示随机变量之间的概率依赖关系,这点在第一章有详细介绍。

给定一个联合概率分布P(Y)和表示它的无向图G,无向图表示的随机变量之间的成对马尔科夫性,局部马尔科夫性,全局马尔科夫性的如何区别?

1) 成对马尔科夫性表示

 

2)局部马尔科夫性表示

 

3)全局马尔科夫性表示

                

概率无向图模型的定义

设有联合概率分布P(Y),由无向图G=<V,E>表示,在图G中,结点表示随机变量,边表示随机变量之间关系(加权概率),如果联合概率分布P(Y)满足成对/局部/全局马尔科夫性,就称此联合为概率无向图模型或者马尔科夫随机场。

4 计算联合概率分布:概率无向图模型的因子分解


对给定概率无向图模型下,本质就是要求联合概率可以将其改变成若干子联合概率乘积的形式,也就是将联合概率进行因子分解。首先介绍两个概念:最大团

 

:无向图G中任何两个结点均有边连接的节点子集成为团。

最大团:若C是无向图G的一个团,并且不能再加进任何一个G的节点使其成为一个更大的团,则称此C为最大团。

注意:{y1,y2,y3,y4}不是一个团,因为y1与y4无边相连

概率无向图模型的因子分解

将概率无向图模型的联合概率分布表示,其最大团上的随机变量的函数的乘积形式的操作,即的联合概率是 这样不免太复杂,倘若为10000个结点以上呢?(每个结点是一个汉字,假设最大团以是篇章,本书假设10章,则是十个最大团之积。)

概率无向图模型的联合概率分布P(Y)的公式化表示:

给定概率无向图模型,设其无向图为G,C为G上的最大团,YC表示C对应的随机变量。那么概率无向图模型的联合概率分布P(Y)可写作图中所有最大团C上的函数ΨC(YC)的乘积形式,即:

 其中, 为势函数,C为最大团,Z是规范化因子

规范化因子保证P(Y)构成一个概率分布。

因为要求势函数ΨC(YC)是严格正的,于是通常定义为指数函数:

 

================================================================================================

1 条件随机场(Condition Random Fields),简称CRFs


条件随机场概念:条件随机场就是对给定的输出标识序列Y和观察序列X,条件随机场通过定义条件概率P(X|Y),而不是联合概率分布P(X,Y)来描述模型。

概念解析:

标注一篇文章中的句子,即语句标注,使用标注方法BIO标注,B代表句子的开始,I代表句子中间,O代表句子结束。则观察序列X就是一个语料库(此处假设一篇文章,x代表文章中的每一句,X是x的集合),标识序列Y是BIO,即对应X序列的识别,从而可以根据条件概率P(标注|句子),推测出正确的句子标注,显然,这里针对的是序列状态,即CRF是用来标注或划分序列结构数据的概率化结构模型,其在自然语言处理和图像处理领域得到广泛的应用,CRF可以看作无向图模型或者马尔科夫随机场。

2 条件随机场的形式化表示


 设G=(V,E)为一个无向图,V为结点的集合,E为无向边的集合,即V中的每个结点对应一个随机变量Yv,其取值范围为可能的标记集合{Y}.如果观察序列X为条件,每一个随机变量 都满足以下马尔科夫特性:,其中,w – v表示两个结点在图G中是邻近结点,那么,(X,Y)为条件随机变量。

以语句识别的案例理解条件随机场的形式化表示。

 G=(V,E表示识别语句:【我爱中国】的标注是一个无向图,X我观察序列,Y为标注序列,V是每个标注状态的结点,E的无向边,边上的权值为概率值。表示每个X的Y的标注,如:X1:我,y1:O,y2:I,y3:B;取值范围,而中w—v表示我与爱是相邻的结点,这样的(X,Y)为一个条件随机场,真正的标注再采用Viterbi算法,如:

寻求最大概率即,记录下我的标注路径,同理可知:

 

如上便是对条件随机场与Viterbi算法的综合运用,其中Viterbi标注问题本质是隐马尔科夫模型三大问题之解码问题算法模型,具体参考(揭秘马尔科夫模型系列文章)

3 深度理解条件随机场


理论上标记序列描述一定条件的独立性,G图结构任意的,对序列进行建模可形成最简单,最普通的链式结构图,结点对应标记序列X中元素,CRF链式图如下:

 

如上图两种表示是一致的,其中图链式句子标注是图链式2的实例化,读者可能问为什么上面图是这种而不是广义的图,这是因为观察序列X的元素之间并不存在图结构,没有做独立性假设,这点也非常容易理解,诸如图中,我爱中国,其中b表示反射概率而t是转移概率,线上的数值表示权值即概率值。如图3,我的发射概率0.7,我到爱的转移概率0.5,通俗讲,我和爱两个字是有关联的,并非独立的。

4 公式化表示条件随机场


在给定的观察序列X时,某个待定标记序列Y的概率可以定义为

其中是转移概率,是状态函数,表示观察序列X其中i的位置的标记概率,分别是t和s的权重,需要从训练样本中估计出来。

实例解析

我爱中国,其中x2是爱字,表示在观察状态2中,我到爱的转移概率,其中j∈{B,I,O},可知的生成概率或者发射概率的特征函数.观察序列{0,1}二值特征b(x,i)来表示训练样本中某些分布特征,其中采用{0,1}二值特征即符合条件标为1,反之为0;

为了便于描述,可以将状态函数书写以下形式:

 
特征函数:

 

其中每个局部特征表示状态特征,或者专业函数,由此条件随机场的定义条件概率如下:

其中分母为归一化因子:

 

5 本节总结


条件随机场模型也需要解决三个基本问题:特征的选择,参数训练和解码。其中参数训练过程在训练数据集上基于对数似然函数最大化进行。

CRF优点:相对于HMM,CRF主要优点是它的条件随机性,只需要考虑当前出现的观察状态的特性,没有独立性严格要求,CRF具有MEMM一切优点。

CRF与MEMM区别:

MEMM:使用每一个状态的指数模型来计算给定前一个状态下当前状态的条件概率。

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

================================================================

引子


条件随机场(CRF):是给定一组输入随机变量条件下,另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔科夫随机场,条件随机场可用于不同预测问题,由输入序列对输出序列预测的判别式模型,形式为对数线性模型,其学习方法通常是极大似然估计。

1 条件随机场(CRF)的定义与形式


简单的说,条件随机场(CRF)类似于MRF,只不过CRF比MRF多了一个观察集合,或者说,CRF本质上就是给定了观察值集合的MRF。

条件随机场:设G=(V,E)是一个无向图,Y={Yv|v∈V}是以G中节点v为索引的随机变量Yv构成的集合。在给定X的条件下,如果每个随机变量Yv服从马尔可夫性,即,则条件概率分布P(Y|X)就是一个条件随机场。上式中的w ~ v表示在图G=(V, E)中与节点v有边连接的所有节点,w≠v表示v以外的所有节点,Yv,Yu, Yw为w对节点v,u,w对应的随机变量。

线性链条件随机场:  

设X = (X1, X2,..., Xn), Y = (Y1, Y2, ..., Yn)均为线性链表示的随机变量序列,若在给定随机变量序列X的条件下,随机变量序列Y的条件概率分布P(Y|X)构成条件随机场,即满足马尔可夫性(见本文最开始的“模型定义”部分): P(Yi| X, Y1, ..., Yi-1, Yi+1, ...., Yn)= P(Yi | X, Yi-1, Yi+1)  i= 1, 2, ..., n (在i=1和n时只考虑单边),则称P(Y|X)为线性链条件随机场。

注意:在标注问题中,X表示输入观测序列,Y表示对应的输出标记序列或状态序列。

2 条件随机场的参数化形式


P(Y|X)为线性链条件随机场,则在随机变量X取值为x的条件下,随机变量Y取值为y的条件概率具有如下形式:

 

其中,

式中,tk和sl是特征函数,λk和μl是对应的权值。Z(x)是规范化因子,求和时在所有可能的输出序列上进行的。

通常:特征函数t和s取值是1或0,当满足特征条件取值1,反之取值0,条件随机场完全由特征函数t,s和对应的数值λ,μ确定。

注意:线性CRF也是对数性模型。

实例解析:

设有一个天气预测问题:输入观察序列(连续三天的天气情况)为X = (X1, X2, X3),输出标记序列(每天对应天气热冷的预测)为 Y = (Y1, Y2, Y3), Y1, Y2, Y3 的取值于y= {H, C},其中H表示天热,C表示天冷。假设特征tk,sl和对应的权值λk,μl如下:

其中,上式代表着特征值为H的条件,即:yi-1= H, yi=C, x, i = 2, 3 时特征值取1。而特征值取0的条件被省略了。

PS:如果写全的话是这样:

于是对给定的观测序列x,求标记序列为y =(y1, y2, y3) = (H, C, C),即第一天热,第二天第三天连续冷的非规范化条件概率(即没有除以规范化因子的条件概率)

实例分析:

由以上问题可知,观察序列是天数的集合,标记序列是对应天气热冷的集合,由此分析显然是随机条件场的编码问题,基于随机条件场,可以将上述情形转换为图形化形式分析,然后进行模型构建,算法实现,算法优化和结果分析即可。本节重点实现分析,图形表示,模型构建。

天气预测问题转化为图形表示如下:

如图所示,横坐标x1,x2,x3分别对应天,是观察序列具备时序性,纵坐标是标记序列即可能隐藏的所有标记情况,start和end表示开始和结束状态(这点参照笔者Viterbi算法一节的介绍),其中t表示转移概率,t=0.5有具体权值的,标注转移概率是50%机会。X对应的s表示发射概率或者生产概率,显然,如上满足条件随机场,回顾下条件随机场模型,线性链条件随机场模型为:

于是对给定的观测序列x,标记序列y=(H,C,C)的非规范化条件概率为

上式数值计算,参照已知条件和图形分析,很容易计算,这里具体计算过程省略。

3 条件随机场的简化形式


将局部特征转化为一个全局特征函数,可将CRF写成权值向量和特征向量的内积形式即是条件随机场的简化形式,具体参见如下笔记:

① 将转移特征和状态特征以及其数值用统一符号表示,设有K1个转移贴纸,K2个状态特征,K=K1+K2,记:

② 对转移状态各个位置i求和,记作:

③ 用wk表示特征fk(y,x)的权值,即:

           

④ 于是,条件随机场可表示为

                       

⑤ 以w表示权值向量,即

                      

⑥ 以F(y, x)表示全局特征向量,即

                  

则条件随机场可以写成向量w与F(y, x)的内积的形势:

 

4 条件随机场预测算法


 形式化描述: 条件随机场的预测问题是给定义条件随机场P(Y|X)和输入序列(观测序列)x,求条件概率最大的输出序列(标记序列)y*,即对观测序列进行标注。 条件随机场的预测算法是著名的维特比算法

你对维特比算法是什么就有概念了吧,下面来看看其数学描述。维特比算法不做深入讲解,如果读者还不清楚,参考本人系列文章之揭秘马尔科夫模型系统文章,有专门章节详细介绍viterbi算法。

    

这里,路径表示标记序列,其中

           

注意,这时只需计算非规范化概率,而不必计算概论,可以大大提高效率。

为了求解最优路径,将式写成如下形式:

            

其中

                

就是局部特征向量。

下面叙述维特比算法

实例解析

用维特比算法求给定的输入序列(观测序列)x对应的输出序列(标记序列)y* = (y1*, y2*, y3*);

解析

1)第一步初始化:因为y1=1和y1=2是最初,所以就不用考虑转移的情况了(实际上也没有“表达从y0转移到y1的情况”的t函数(转移函数)),直接从状态函数(s函数中找),发现,s1和s2分别对应y1=1和y1=2,说明y1=1和y1=2这个状态都是存在的,而s1和s2的权值分别是1和0.5,且上面列出的s函数们和t函数们值都为1,所以y1=1和y2=1的可能性分别是1和0.5。所以,到达y1的非规范化概率最大值为:δ1(1) = 1,δ1(2) = 0.5。

2)第二步递推i=2(达第二处目的地集合{y2=1, y2=2}):首先是路线(仅说明到达y2=1的情况):

上图可知,到达y2=1的路线有如下几条:

 路线1:从y1=1出发 ----(经过t2)---->到达y2=1;

 路线2:从y1=2出发 ----(经过t4)---->到达y2=1;

 接着是状态(仅说明到达y2=1的情况):

根据题目可知:i=2时的状态函数只有s2和s3,而y2=1对应的函数是s3

所以到达y2=1的非规范化概率最大值为:δ2(1) = max{1+λ2t2 + u3s3,0.5 + λ4t4 + u3s3}= 2.4

非规范化概率最大值的路径为: ψ2(1) = 1

δ2(2)同理。

i=3也一样(只不过对于δ3(1)中的u5s5,我认为应该是u3s3,先不说s3对应的是y3=1的情况,而且原题中根本没有s5函数)。

3)第三步终止:这步就简单了,在δ3(l)中δ3(1) = 4.3最大,所以y3中取1的可能性最大,即y3*=1。

4)第四步返回:然后反着推:

从y2的哪个值到y3可能性最大呢?在第二部已经解出:ψ3(1) = 2,即y2到达y3=1的路线中权值最大的是y2=2,即y2*=2。

同理,从y1=1到y2=2的可能性最大,即y1*=1。

5)就得到标记序列:*= (y1*, y2*, y3*)= (1, 2, 1)

================================================================================================

1 随机场的矩阵形式


矩阵表示形式前提条件:假设P(y|x)是线性链条件随机场,给定观测序列x,相应的标记序列y的条件概率。引进特殊的起点和终点状态标记y0 = start,yn+1 = stop,这时Pw(y|x) 可以通过矩阵形式表示。(实际上,特殊点的引用大家都有接触,诸如学习隐含马尔科夫模型中向前算法解决了似然度问题,viterbi算法解决解码问题,向前向后算法解决学习参数。

对观测序列x的每一个位置i=1, 2,..., n+1,定义一个m阶矩阵(m是标记yi取值的个数)

                                 

这样给定观测序列x,标记序列y的非规范化概率可以通过n+1个矩阵的乘积

              

表示。于是,条件概率Pw(y|x)是

 

中,Zw(x)为规范化因子,是n+1个矩阵的乘积的(start,stop)元素:

注意,y0= start,yn+1 = stop表示开始状态与终止状态,规范化因子Zw(x)是以start为起点stop为重点通过状态的所有路径y1y2...yn的非规范化概率

          

之和。

下面通过一个例子来说明“范化因子Zw(x)是以start为起点stop为重点通过状态的所有路径y1y2...yn的非规范化概率之和”这个事实

实例解析

              

给定一个如上图所示的线性链条件随机场,观测序列x,状态序列y,i=1,2,3,n=3,标记yi∈{1,2},假设y0=start=1,y4=stop=1,各个位置的随机矩阵M1(x),M2(x),M3(x),M4(x)分别是

              

试求状态序列y以start为起点stop为终点所有路径的非规范化概率及规范化因子。

实例解答:

从start到stop对应于y=(1,1,1),y=(1,1,2), ..., y=(2,2,2)个路径的非规范化概率分别是:

                            a01b11c11,a01b11c12,a01b12c21,a01b12c22

                            a02b21c11,a01b21c12,a02b22c21,a02b22c22

然后按式11.12求规范化因子,通过计算矩阵乘积M1(x) M2(x) M3(x) M4(x)可知,其第一行第一列的元素为a01b11c11+ a01b11c12 + a01b12c21+ a01b12c22+a02b21c11 + a01b21c12+ a02b22c21 + a02b22c22,恰好等于从start到stop的所有路径的非规范化概率之和,即规范化因子Z(x)。

在之前的介绍中我们已近知道,条件随机场的概率计算问题是给定条件随机场P(Y|X),输入序列x和输出序列y,计算条件概率P(Yi=yi | x),P(Yi-1 =yi-1, Yi=yi | x)以及相应数学期望的问题。为了方便起见,像隐马尔可夫模型那样,引进前向-后向向量,递归的计算以上概率及期望值。这样的算法称为前向-后向算法。

2 前向-后向算法


对每个指标i =0,1,...,n+1,定义前向向量ai(x):

    

递推公式为

          

又可表示为

       

ai(yi|x)表示在位置i的标记是yi并且到位置i的前部分标记序列的非规范化概率,若yi可取的值有m个,那ai(x)就是m维的列向量。同样,对每个指标i =0,1,...,n+1,定义后向向量βi(x):

            

又可表示为

               

βi(yi|x)表示在位置i的标记为yi并且从i+1到n的后部分标记序列的非规范化的概率。

由前向-后向定义不难得到:

           

这里,若ai(x)是m维的列向量,那1就是元素均为1的m维列向量。

概率计算

按照前向-后向向量的定义,很容易计算标记序列在位置i是标记yi的条件概率和在位置i-1与i是标记yi-1和yi的条件概率:

其中,   Z(x)= anT(x)·1

 期望值计算

利用前向-后向向量,可以计算特征函数关于联合分布P(X, Y)和条件分布P(Y | X)的数学期望。特征函数fk关于条件分布P(Y |X)的数学期望是

其中,Z(x)= anT(x)·1

则特征函数fk关于联合分布P(X, Y)的数学期望是

    

其中, Z(x)= anT(x)·1

特征函数数学期望的一般计算公式。对于转移贴纸tk(yi-1, yi, x, i),k=1,2,...,K1,可以将式中的fk换成tk;对于状态特征,可以将式中的fk换成si,表示sl(yi, x, i),k = K1 +1,l = 1,2,...,K2。有了式11.32 ~11.35,对于给定的观测序列x和标记序列y,可以通过一次前向扫描计算ai及Z(x),通过一次后向扫描计算βi,从而计算所有的概率和特征的期望。

 3 CRF的学习算法


条件随机场模型实际上是定义在时序数据上的对数线性模型,其学习方法包括极大似然估计和正则化的极大似然估计。

具体的优化实现算法有改进的迭代尺度法IIS、梯度下降法以及拟牛顿法。

1)进的迭代尺度法(IIS)

已知训练数据集,由此可知经验概率分布

  

可以通过极大化训练数据的对数似然函数来求模型参数。训练数据的对数似然函数为

  

当Pw是一个由

给出的条件随机场模型时,对数似然函数为

              

IIS通过迭代的方法不断优化对数似然函数改变量的下界,达到极大化对数似然函数的目的。

假设模型的当前参数向量为w=(w1,w2, ..., wK)T,向量的增量为δ=(δ1,δ2, ..., δK)T,更新参数向量为w +δ=(w1+δ1, w2 +δ2, ..., wk+δk)T。在每步迭代过程中,IIS通过一次求解下面的11.36和11.37,得到δ=(δ1,δ2, ..., δK)T。关于转移特征tk的更新方程为:

关于状态特征sl的更新方程为:

这里T(x, y)是在数据(x, y)中出现所有特征数的综合:

         

于是算法整理如下。

算法:条件随机场模型学习的改进的迭代尺度法

输入:特征函数t1,t2, ..., tK1,s1, s2, ..., sK2;经验分布

输出:参数估计值  ;模型 。

过程

2)拟牛顿法

对于条件随机场模型

 

学习的优化目标函数是

其梯度函数是

 

拟牛顿法的BFGS算法如下:算法:条件随机场模型学习的BFGS算法

基于条件随机场CRF的中文命名实体识别效率如何?


【知乎】北京航空航天大学 计算机专业博士在读33 人赞同
大致命名实体识别的方法可以可以分为四个大类型:
有监督学习方法:
HMM http://www.nlpr.labs.gov.cn/2005papers/gjhy/gh71.pdf
SVM Biomedical named entity recognition using two-phase model based on SVMs
CRF http://psb.stanford.edu/psb11/conference-materials/proceedings%201996-2010/psb08/leaman.pdf
当然还有决策树最大熵等方法。基本每个模型都会在这个问题上试一遍的。
无监督学习方法:Unsupervised named-entity extraction from the Web: An experimental study
半监督学习方法:Minimally-supervised extraction of entities from text advertisements
混合方法:多种模型结合 Recognizing named entities in tweets

主要介绍三种主流算法,CRF,字典法和混合方法。
CRF
用过CRF的都知道,CRF是一个序列标注模型,指的是把一个词序列的每个词打上一个标记。一般通过,在词的左右开一个小窗口,根据窗口里面的词,和待标注词语来实现特征模板的提取。最后通过特征的组合决定需要打的tag是什么。
而在CRF for Chinese NER这个任务中,提取的特征大多是该词是否为中国人名姓氏用字,该词是否为中国人名名字用字之类的,True or false的特征。所以一个可靠的百家姓的表就十分重要啦~在国内学者做的诸多实验中,效果最好的人名可以F1测度达到90%,最差的机构名达到85%
基于条件随机场的中文命名实体识别特征比较研究--《第四届全国信息检索与内容安全学术会议论文集(上)》2008年
字典法:
字典法需要掌握的是一种快速搜索算法trie-tree,我相信很多人应该对这个算法已经有所了解。在NER中就是把每个字都当开头的字放到trie-tree中查一遍,查到了就是NE。中文的trie-tree需要进行哈希,因为中文字符太多了,不像英文就26个。
混合法:
对六类不同的命名实体采取不一样的手段进行处理,例如对于人名,进行字级别的条件概率计算。
例如我们需要算
其中Sur代表中国人姓氏,Dgb代表中国人名首字,Dge代表中国人名尾字。
而机构则在词级别进行此概率计算。
我知道的系统有:
中文
1、哈工大 语言云(语言技术平台云 LTP-Cloud)
2、上海交大 赵海 主页 分词 自然语言 计算语言学 机器学习
英文:
Stanford NER
BANNER(生物医学)
Minor Third

5 条件随机场(crf)是否可以将分类问题都当作序列标注问题解决?


知乎】标注看上去好像就是在序列上做分类。
然而实际上标注跟分类最大的区别就是:标注采的特征里面有上下文分类结果,这个结果你是不知道的,他在“分类”的时候是跟上下文一起"分类的"。因为你要确定这个词的分类得先知道上一个词的分类,所以这个得整句话的所有词一起解,没法一个词一个词解。
而分类是根据当前特征确定当前类别,分类的时候不需要考虑上下文的分类结果,但可以引入上下文的特征。
比如说命名实体识别,你采的特征如果是:{当前词,当前词性,当前词语义角色,上一个词,上一个词的词性}

那这样跟分类没有什么区别。如果你采的特征是:{当前词,当前词性,当前词语义角色,上一个词,上一个词的标签,上一个词的词性}

那就是序列标注了,

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值