分词算法模型学习笔记(三)——CRF

分词算法模型学习笔记(三)——CRF

Conditional Random Fields(CRF,条件随机场)

1.MEMM的存在问题

标注偏置

所谓的标注偏置就是更偏向于选择分支较少的路径,而不是全局概率更大但分支更多的真正正确路径。

CRF模型图示

如上图所示,虽然对于观测序列 x1,x2,x3 来说,隐藏状态序列 s0,s1,s2,s3 s0,s1,s4,s3 的出现频率会更高,但最后MEMM仍会选择分支较少的 s0,s5,s6,s3

问题的根源在于MEMM中的概率值只在局部做归一化,所以容易陷入局部最优。

2.CRF的特征

继承了MEMM的优点

同样是判别式模型,同样适用于多种非互斥隐藏变量同时存在的情况

克服了MEMM的标注偏置问题

由于所有的概率值均由全局归一化得出,因此可以得到真正的全局最优解

一些HMM的高效算法(如维特比算法)可以直接拿过来用

这里写图片描述

3.HMM和CRF之间的联系

HMM和CRF之间的联系

4.维特比算法

计算目标:

y^=argmaxyP(y|x)=argmaxy[t,iλifi(Yt1,Yt,X,t)+t,jμjgj(Yt,X,t)]

定义两个局部概率

ht(Yt1,Yt,X)=iλifi(Yt1,Yt,X,t)+jμjgj(Yt,X,t)

δk(x,sl)=maxy1yk1[t=1k1ht(yt1,yt,x)+hk(yk1,sl,x)]

同时因为要求的是这个概率值最大的隐藏状态序列本身,而不是它的概率值,因此还需要一个回退指针变量 ψ 用于记录状态的转移情况。

算法步骤:

  1. 定义局部概率的初始值(边界值)

δ1(x,sl)=h1(sS,sl,x)

  1. 利用状态转移方程迭代计算当k=1,···,T-1时的局部概率值

δk+1(x,sl)=maxsm[δk(x,sm)+hk+1(sm,sl,x)]

ψk(x,sl)=argmaxsm[δk(x,sm)+hk+1(sm,sl,x)]

  1. 利用计算好了的局部概率值,确定回退起点

yT^=argmaxsmδT(x,sm)

  1. 利用回退指针变量 ψ ,逐个确定目标序列(t = T-1,···,1)

yt^=ψt(x,yt+1^)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值