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

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

1.MEMM的存在问题

标注偏置

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

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

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

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

2.CRF的特征

继承了MEMM的优点

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

克服了MEMM的标注偏置问题

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

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

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

3.HMM和CRF之间的联系

分词算法模型学习笔记(三)——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^)

相关文章:

  • 2021-05-27
  • 2021-11-07
  • 2022-12-23
  • 2021-07-28
  • 2022-01-06
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-04-17
  • 2021-12-10
  • 2021-12-11
  • 2021-08-07
  • 2021-06-27
  • 2021-08-17
相关资源
相似解决方案