CRF 条件随机场

2021-08-12  本文已影响0人  阿凯被注册了

在为一张照片分类时,必须将与它相邻的照片的标签信息考虑进来。

eg: 词性标注问题

动词后面还是动词就是一个特征函数,我们可以定义一个特征函数集合,用这个特征函数集合为一个标注序列打分,并据此选出最靠谱的标注序列。

也就是说,每个特征函数都可以用来为一个标注序列评分,把集合中所有特征函数对同一个标注序列的评分综合起来,就是这个标注序列最终的评分值。

定义CRF中的特征函数

接受四个参数:

输出值是0或者1,0表示要评分的标注序列不符合这个特征,1表示要评分的标注序列符合这个特征。

从特征函数到概率

定义好一组特征函数后,我们要给每个特征函数赋予一个权重。现在,只要有一个句子s,有一个标注序列l,我们就可以利用前面定义的特征函数集来对l评分。

image.png

上式中有两个相加,外面的求和用来相加每一个特征函数f_j,里面的相加用来相加句子中每个位置的单词的的特征值。

对这个分数进行指数化和标准化,我们就可以得到标注序列l的概率值p(l|s)

image.png

几个特征函数的例子

f_1(s,i,l_i,l_{i-1})=1

当是“副词”并且第i个单词以“ly”结尾时,我们就让f1 = 1,其他情况f1为0。不难想到,f1特征函数的权重λ1应当是正的。而且λ1越大,表示我们越倾向于采用那些把以“ly”结尾的单词标注为“副词”的标注序列。

f_2(s,i,l_i,l_{i-1})=1

如果i=1,l_i=动词,并且句子s是以“?”结尾时,f2=1,其他情况f2=0。同样,λ2应当是正的,并且λ2越大,表示我们越倾向于采用那些把问句的第一个单词标注为“动词”的标注序列。

f_3(s,i,l_i,l_{i-1})=1

l_{i-1}是介词,l_i是名词时,f3 = 1,其他情况f3=0。λ3也应当是正的,并且λ3越大,说明我们越认为介词后面应当跟一个名词。

f_4(s,i,l_i,l_{i-1})=1

如果l_il_{i-1}都是介词,那么f4等于1,其他情况f4=0。这里,我们应当可以想到λ4是负的,并且λ4的绝对值越大,表示我们越不认可介词后面还是介词的标注序列。

为了建一个条件随机场,我们首先要定义一个特征函数集,每个特征函数都以整个句子s,当前位置i,位置i和i-1的标签为输入。然后为每一个特征函数赋予一个权重,然后针对每一个标注序列l,对所有的特征函数加权求和,必要的话,可以把求和的值转化为一个概率值

上一篇下一篇

猜你喜欢

热点阅读