Gavin老师Transformer直播课感悟 - 信息提取CRF(Conditional Random Fields)解密系列之一

84 篇文章 16 订阅

 一、概述

   CRF(Conditional Random Fields)是信息提取的一种核心算法,也可以认为是一个框架,CRF尤其对序列性的数据特别有效,是目前对语言序列进行标注的最佳选择。 

   下面是DIET的架构图,可以看到在Transformer之上使用了CRF。通过Transformer的多头注意力机制,每个token信息所代表的dense vector传给CRF内部的一个前馈神经网络,另外,在一个token和另外一个token之间存在一个transition matrix(转移状态矩阵),从可训练参数的角度看,除了每个token都会对应一个前馈神经网络之外,在一个序列里不同的token之间通过这样的转移矩阵来表达token之间的关系和识别是否是实体时,粒度会更加精细化。但是CRF也有致命性的弱点,它的信息表达能力不足,而Transformer可以更丰富地表达上下文或者全局信息。

CRF具有信息纠正的功能,结合Transformer和CRF的运用来说,就是用vector来表示每个token的内容,如x1,x2,…xn,这样就会产生信息的偏差,针对输入的sequence中的每个token都会有相应的label的概率,从一个label到下一个label也会有转移的概率,CRF提供的转移矩阵能够很好地捕获在label层面前后的依赖关系。

 二、信息提取CRF(Conditional Random Fields)解密

  1. CRF论文Abstract分析

CRF是一个框架,用于构建概率模型来对输入序列数据进行拆分与标注。CRF与其它如HMMs(hidden Markov models)模型相比具有几个优点,包括放松HMMs所具有的很强的独立性假设(指CRF是强调各个元素之间的关联关系)。CRF也避免了MEMMs(maximum entropy Markov models)和其它的基于有向图的判别性的Markov模型所带来的基本限制(这些模型简单来讲就是做分类,可以不直接考虑联合概率,考虑联合概率的是生成模型,联合概率会涉及很多计算,而条件概率只涉及到部分计算,这种有向图方式的模型在每次进行局部归一化计算时,在有时样本多有时样本少的情况下,就会忽略掉概率转移的权重相关的东西,会倾向于对后续的状态造成偏差)。

 2.  CRF论文Introduction详解

概率模型相对于Hard模型(指概率是0或者1的模型)来说可以更好地捕获更精细的信息,CRF 是在这些模型的基础上演变而来。概率模型围绕序列做segment和label,具有广泛的应用,包括topic segmentation,词性标注(part-of-speech POS tagging),信息提取,句法解疑等方面。HMMs是生成模型(generative models),基于observation sequence和label sequence构建出的pair的联合概率进行训练。为了基于observation和label sequences来定义一个联合概率,需要生成模型能够列举出所有可能的observation sequences。

在下面的图中,所有的labels依赖于输入的observation sequence X=X1,…,对于label Y2既可以和Y1联结,又可以和Y3联结,它们之间存在transition,这样的transition的概率不仅取决于当前的observation,而且可能的话也会依赖过去和未来的observation:

 3.  The Label Bias问题剖析

MEMMs和其它的非生成模型,例如判别式的Markov模型,存在称为label bias的问题,它们描述的只是局部信息,而不是全局信息,即labels之间的transition的状态只针对彼此而言,而没有考虑到模型中的其它所有的transitions。从概率来说,transition的概率分数是由当前概率和observation sequence给出的针对后续可能出现的状态的条件概率。如果局部已经表达了模型之间的依赖关系,而且进行了局部的归一化计算之后,全局性的影响就会极大地减弱,从而产生bias。CRF具有一个指数模型,在基于给定的observation sequence的情况下,对labels的整个sequence进行联合概率计算,从而使不同状态的不同features的权重能够在彼此之间进行权衡。

下面这幅图表示一个简单的finite-state模型,用于区分两个单词rib和rob。假设observation sequence是r i b,在第一步,从初始状态开始, 从0到1和0到4的转移都匹配了r,所以这两个转移的概率大致相等(概率均分的情况)。 接下来观察i,状态1和4都只有一个outgoing transition,状态1在训练时经常看到observation,而状态4几乎没有见过这个observation,但是状态4同状态1一样,只能把它的probability mass传递给它的outgoing transition,这是由于它并不会产生这个observation,所以只有单个的outgoing transition的状态就会有效忽略掉它们的observation,从而产生bias。

对于bias这个问题,一种解决方案是改变模型的状态转移结构,另外一种解决方案是使用全连接的模型作为开始来训练出一个好的结构。

 4.  Conditional Random Fields详解

在下面这个图中,X是基于即将被标注的数据序列的一个随机变量,而Y是基于相应的label sequence的一个随机变量。Y的数量是有限的,一般就是几十个,然后基于X和Y进行建模和训练,以及推理。

关于定义:

把G = (V, E) 表示为下面的图,Y通过顶点G进行索引,那么(X, Y)构成了一个conditional random field,当对X进行条件判断时,随机变量Y遵守关于这个图的Markov特性,CRF的所有的labels依赖所有的输入X。

一般使用的是线性链的CRF,计算公式如下:

欢迎订阅Rasa系列课程:

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

Rasa 3.x 源码高手之路:系统架构、内核算法、源码实现详解:
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/auth?redirect_url=https%3A%2F%2Fappz0c1mshy7438.h5.xiaoeknow.com%2Fv1%2Fgoods%2Fgoods_detail%2Fp_62353091e4b0beaee43652c9%3Fentry%3D2%26entry_type%3D2001%26share_type%3D5%26share_user_id%3Du_621b7b85b8dc5_3yDAYnFXeM%26type%3D3

Rasa 3.x 源码高手之路:基于Transformer的对话机器人RasaPolice:
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/auth?redirect_url=https%3A%2F%2Fappz0c1mshy7438.h5.xiaoeknow.com%2Fv1%2Fgoods%2Fgoods_detail%2Fp_62353421e4b04d7e2fd83665%3Fentry%3D2%26entry_type%3D2001%26share_type%3D5%26share_user_id%3Du_621b7b85b8dc5_3yDAYnFXeM%26type%3D3

星空NLP对话机器人论文班:NLP领域10篇最高质量的对话机器人经典论文解密:
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/goods/goods_detail/p_623874b7e4b04e8d90256da1?type=3&share_type=5&share_user_id=u_621b7b85b8dc5_3yDAYnFXeM&entry=2&entry_type=2001

Rasa 3.X 智能对话机器人案例开发硬核实战高手之路 (7大项目Expert版本):
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/goods/goods_detail/p_62276dd8e4b0beaee431c848?type=3&share_type=5&share_user_id=u_621b7b85b8dc5_3yDAYnFXeM&entry=2&entry_type=2001

Advanced Python硬核实力高手实战之路:架构、算法、源码、案例(81讲):
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/goods/goods_detail/p_6227e564e4b0beaee431ce2a?type=3&share_type=5&share_user_id=u_621b7b85b8dc5_3yDAYnFXeM&entry=2&entry_type=2001

NLP on Transformers 高手之路137课Pro版:
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/goods/goods_detail/p_621c0289e4b04d7e2fd0365a?type=3&share_type=5&share_user_id=u_621b7b85b8dc5_3yDAYnFXeM&entry=2&entry_type=2001
 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值