条件随机场(Conditional Random Field,简称CRF)是一种判别式无向图模型。14.1节提到过,生成式模型是直接对联合分布进行建模,而判别式模型则是对条件分布进行建模。前面介绍的隐马尔可夫模型和马尔可夫随机场都是生成式模型,而条件随机场则是判别式模型。
条件随机场试图对多个变量在给定观测值后的条件概率进行建模。具体来说,若令
x={x1,x2,...,xn}
为观察序列,
y={y1,y2,...,yn}
为与之对应的标记序列,则条件随机场的目标是构建条件概率模型
P(y|x)
。需要注意的是,标记变量
y
可以是结构型变量,即其分量之间具有某种相关性。例如在自然语言处理的词性标注任务中,如图5(a)所示;在语法分析任务中,输出标记则是语法数,具有树形结构,如图(b)所示。
图5 自然语言处理中的词性标注和语法分析任务
令
则 (y,x) 构成一个条件随机场。
理论上来说,图 G 可具有任意结构,只要能表示标记变量之间的条件独立性关系即可。但在现实应用中,尤其是对标记序列建模时,最常用的仍是图6所示的链式结构,即“链式条件随机场”(chain-structured CRF)。下面我们主要讨论这种条件随机场。
图6 链式条件随机场的图结构
与马尔可夫随机场定义联合概率的方式类似,条件随机场使用势函数和图结构上的团来定义条件概率
其中 ti(yi+1,yi,x,i) 是定义在观测序列的两个相邻标记位置上的转移特征函数(transition feature function),用于刻画相邻标记变量之间的相关关系以及观测序列对它们的影响, sk(yi,x,i) 是定义在观测序列的两个相邻标记位置上的转移特征函数(transition feature function),用于刻画观测序列对标记变量的影响, λj 和 μk 为参数, Z 为规范化因子,用于确保式(11)的正确定义的概率。
显然,要使用条件随机场,还需定义合适的特征函数。特征函数通常是实值函数,以刻画数据的一些很可能成立或期望成立的经验特性。以图5(a)的词性标注任务为例,若采用转移特征函数
则表示第 i 个观测值
则表示观测值 xi 为单词“knock”时,它所对应的标记很可能为 [V] 。
对比式(11)和(2)可看出,条件随机场和马尔可夫随机场均使用团上的势函数定义概率,两者在形式上没有显著区别;但条件随机场处理的是条件概率,而马尔可夫随机场处理的是联合概率。