Conditional Random Field:条件随机场,一种机器学习技术(模型)
CRF由John Lafferty最早用于NLP技术领域,其在NLP技术领域中主要用于文本标注,并有多种应用场景,例如:
本文主要描述如何使用CRF技术来进行中文分词。
1. CRF把分词当做字的词位分类问题,通常定义字的词位信息如下:
2. CRF分词的过程就是对词位标注后,将B和E之间的字,以及S单字构成分词
3. CRF分词实例:
CRF原理:
从概率模型(Probabilistic Models)与图表示(Graphical Representation)两个方面引出CRF。
Naïve Bayes(NB)是分类问题中的生成模型(generative model),以联合概率P(x,y)=P(x|y)P(y)P(x,y)=P(x|y)P(y)建模,运用贝叶斯定理求解后验概率P(y|x)P(y|x)。NB假定输入xx的特征向量(x(1),x(2),⋯,x(j),⋯,x(n))(x(1),x(2),⋯,x(j),⋯,x(n))条件独立(conditional independence),即
HMM是用于对序列数据XX做标注YY的生成模型,用马尔可夫链(Markov chain)对联合概率P(X,Y)P(X,Y)建模:
然后,通过Viterbi算法求解P(Y|X)P(Y|X)的最大值。LR (Logistic Regression)模型是分类问题中的判别模型(discriminative model),直接用logistic函数建模条件概率P(y|x)P(y|x)。实际上,logistic函数是softmax的特殊形式(证明参看ufldl教程),并且LR等价于最大熵模型(这里给出了一个简要的证明),完全可以写成最大熵的形式:
其中,Zw(x)Zw(x)为归一化因子,ww为模型的参数,fi(x,y)fi(x,y)为特征函数(feature function)——描述(x,y)(x,y)的某一事实。
CRF便是为了解决标注问题的判别模型,于是就有了下面这幅张图(出自 [3]):
概率模型可以用图表示变量的相关(依赖)关系,所以概率模型常被称为概率图模型(probabilistic graphical model, PGM)。PGM对应的图有两种表示形式:independency graph, factor graph. independency graph直接描述了变量的条件独立,而factor graph则是通过因子分解( factorization)的方式暗含变量的条件独立。比如,NB与HMM所对应的两种图表示如下(图出自[2]):
可以看出,NB与HMM所对应的independency graph为有向图,图(V,E)(V,E)所表示的联合概率P(v→)P(v→)计算如下:
其中,vkvk为图(V,E)(V,E)中一个顶点,其parent节点为vpkvkp。根据上述公式,则上图中NB模型的联合概率:
有别于NB模型,最大熵则是从全局的角度来建模的,“保留尽可能多的不确定性,在没有更多的信息时,不擅自做假设”;特征函数则可看作是人为赋给模型的信息,表示特征xx与yy的某种相关性。有向图无法表示这种相关性,则采用无向图表示最大熵模型:
最大熵模型与马尔可夫随机场(Markov Random Field, MRF)所对应factor graph都满足这样的因子分解:
其中,CC为图的团(即连通子图),ΨCΨC为势函数( potential function)。在最大熵模型中,势函数便为exp(wifi(x,y))exp(wifi(x,y))的形式了。
前面提到过,CRF(更准确地说是Linear-chain CRF)是最大熵模型的sequence扩展、HMM的conditional求解。CRF假设标注序列YY在给定观察序列XX的条件下,YY构成的图为一个MRF,即可表示成图:
根据式子(4)(4),则可推导出条件概率:
原文:https://www.cnblogs.com/en-heng/p/6214023.html
https://blog.csdn.net/zengxiaosen/article/details/53743474