条件随机场CRF 摘要

条件随机场(Conditional Random Fields, 以下简称CRF)是给定一组输入序列条件下另一组输出序列的条件概率分布模型,在自然语言处理中得到了广泛应用。

HMM最大的缺点1》由于其输入独立性假设,导致不能考虑上下文特征,限制了特征的选择;2》在每一个节点都要进行归一化,所以只能找到局部最优解,同时也带来了标记偏见的问题(label bias)

条件随机场选择上下文相关特性;不在每一个节点进行归一化,而是所有特征进行全局归一化,可以求得全局的最优值

 幼儿园级理解版本:简单易懂CRF

随机场:随机变量的集合,这些随机变量可能有依赖关系,给每一个位置中随机变量按照某种分布随机赋予一个值后,其全体就叫做随机场。

马尔科夫性质:一个随机变量序列按时间先后关系依次排开,第N个时刻的特征与第n-1个时刻的随机变量相关。

马尔科夫随机场MRF:具有马尔科夫性质随机场

条件随机场:给定MRF中每个随机变量下面还有观察值,要确定给定观察集合下,这个MRF的条件分布,也就是条件分布。它的条件分布形式完全类似于MRF的分布形式,只不过多了观察集合X.

通用角度看,CRF本质上是给定观察值集条件下的MRF。

HMM引入了马尔科夫假设,即当前时刻的状态只与其前一时刻的状态有关,HMM是一种生成式概率图模型,条件随机场(CRF)与HMM不同,是一种判别式的概率图模型。CRF是在给定一组变量的情况下,求解另一组变量的条件概率的模型。

设X与Y是一组随机变量,P(Y,X)是给定随机变量X情况下,随机变量Y的条件概率。若随机变量Y构成一个无向图G(V,E),当X与Y两个随机变量的概率分布满足如下的条件:

 

则称在给定随机变量序列X的情况下,随机变量序列Y的条件概率P(Y,X)构成条件随机场。

注意在CRF的定义中,我们并没有要求XX和YY有相同的结构。而实现中,我们一般都假设XX和YY有相同的结构,XX和YY有相同的结构的CRF就构成了线性链条件随机场(Linear chain Conditional Random Fields,以下简称 linear-CRF)。

在我们的十个词的句子的词性标记中,词有十个,词性也是十个,因此,如果我们假设它是一个马尔科夫随机场,那么它也就是一个linear-CRF。

生成式模型与判别式模型

生成式是从无穷样本中找到样本联合分布,产生模型进行预测,需要全局信息;利用先验知识,全面性,学习复杂

判别式是从有限样本中找到样本条件分布,通过样本判别进行预测;灵活,不能反映数据本身的特性

概率图模型:用图的形式表示随机变量之间依赖关系的概率模型。

有向图:贝叶斯网络 p(当前节点 | 父节点),先验概率下分布

无向图:马尔科夫随机场,团表示的联合概率分布

最大熵模型 (maximun entropy model  MEM)

已知限定条件下估计未知的概率分布的最大值

有向图模型与无向图模型的对比

共同点:将复杂的联合分布分解为多个因子的乘积;

不同点:无向图因子是势函数,需要全局归一;有向图因子是概率分布、无需全局归一

无向图中势函数设计不受概率分布约束,设计灵活,但全局归一代价高;有向图模型无需全局归一,训练高效。 

实战参考

NLP-入门实体命名识别(NER)+Bilstm-CRF模型原理Pytorch代码详解——最全攻略

实战理论指南:bilstm-CRF,CRF和bilstm的作用

假设,有两个实体类型 person和organization,数据集中有5个实体标签:

  • B-Person
  • I- Person
  • B-Organization
  • I-Organization
  • O

此外,x是包含5个单词的句子,w0,w1,w2,w3,w4。更重要的是,在句子x中,[w0,w1]是一个Person实体,[w3]是一个Organization实体,其他都是“O”。

BIlstm层

 从上图可以看出,bilstm输出的是每个实体标签的分数,这些分数作为CRF层的输入。CRF层中选择预测得分高的标签序列作为答案。

CRF层的作用是从训练数据中学到约束。CRF层可以向最终的预测标签添加一些约束,以确保它们是有效的。这些约束可以由CRF层在训练过程中从训练数据集自动学习。有了这些有用的约束,无效预测标签序列的数量将显著减少。

约束条件可以是:

  • 句子中第一个单词的标签应该以“B-”或“O”开头,而不是“I-”
  • “B-label1 I-label2 I-label3 I-…”,在这个模式中,label1、label2、label3…应该是相同的命名实体标签。例如,“B-Person I-Person”是有效的,但是“B-Person I-Organization”是无效的。
  • “O I-label”无效。一个命名实体的第一个标签应该以“B-”而不是“I-”开头,换句话说,有效的模式应该是“O B-label

CRF层

天才是百分之一的灵感,加百分之九十九的汗水,但那百分之一的灵感往往比百分之九十九的汗水来的重要
原文地址:https://www.cnblogs.com/Christbao/p/12193736.html