自然语言处理--HMM.MEMM,CRF(五)

本文探讨了条件随机场(CRF)与最大熵马尔科夫模型(MEMM)的区别,重点在于CRF如何一次性建模整个序列,而不是逐个时间点进行,这使得CRF在序列标注任务中更具优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CRF(Conditional random fields)条件随机场

其实我最想说的是这个!!! 战线拉得太长了。
CRF可以看做是MEMM的进阶版本,它们都是要对同一个概率进行建模:

p(y1,...,yn|x1,...xn)p(y1,...,yn|x1,...xn)

我们回看一下,MEMM是怎么建模的
p(s1,s2,...,sn|x1,x2,...,xn)=i=1np(si|s1,...,si1,,x1,...,xn)=i=1np(si|si1,,x1,...,xn)p(s1,s2,...,sn|x1,x2,...,xn)=∏i=1np(si|s1,...,si−1,,x1,...,xn)=∏i=1np(si|si−1,,x1,...,xn)

对于每一个p(si|si1,,x1,...,xn)p(si|si−1,,x1,...,xn),有:
exp(w.ϕ(x1,...,xn,i,si1,si)s,Sexp(w.ϕ(x1,...,xn,i,si1,s)exp(w.ϕ(x1,...,xn,i,si−1,si)∑s,∈Sexp(w.ϕ(x1,...,xn,i,si−1,s′)

可以看到,MEMM是一种“步进式的”,挨个对每个时刻建模,归一化也是局部归一化。那CRF跟MEMM比有什么区别,它厉害在什么地方呢?我们先给出CRF的建模方式:
p(s1,s2,...,sn|x1,x2,...,xn)=exp(w.Φ(x1,...,xn,i,si1,si)s,Sexp(w.Φ(x1,...,xn,i,si1,s)p(s1,s2,...,sn|x1,x2,...,xn)=exp(w.Φ(x1,...,xn,i,si−1,si)∑s,∈Sexp(w.Φ(x1,...,xn,i,si−1,s′)

一看怎么和MEMM差不多啊,哈哈,有区别有区别,一个是ϕϕ一个是ΦΦ.
Φ(x1,...,xn,i,si1,si)=j=1mϕ(x1,...,xn,i,si1,si)Φ(x1,...,xn,i,si−1,si)=∑j=1mϕ(x1,...,xn,i,si−1,si)

这一部就是关键。CRF不是“步进式”的,对每个时刻挨个建模,它是一次性的建模整个序列!
望各位同道细思之。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值