Machine Learning-L19-条件随机场

词性标注问题指给一个句子中的每个单词注明词性(名词,动词,形容词等)。
比如:“Bob drank coffee at Starbucks”,进行词性标注后:“Bob (名词) drank(动词) coffee(名词) at(介词) Starbucks(名词)”。
条件随机场应用于词性标注时,除了考虑单词本身的词性,还会考虑前后单词的词性,综合进行判定。

1. 基本概念

(1)条件随机场

**条件随机场(CRF,conditional random field)**是给定随机变量 X X 条件下,随机变量 Y Y 的马尔可夫随机场,是一种直接建模条件概率的判别式无向图模型。

X X Y Y 是随机变量, P ( Y X ) P(Y \mid X) 是在给定 X X 的条件下 Y Y 的条件概率分布。若随机变量 Y Y 构成一个由无向图 G = ( V , E ) G=(V,E) 表示的马尔可夫随机场,即

P ( Y v X , Y w , w v ) = P ( Y v X , Y w , w   v ) P(Y_v \mid X,Y_w,w \neq v) = P(Y_v \mid X,Y_w,w~v)
对任意节点 v v 成立,则称条件概率分布 P ( Y X ) P(Y \mid X) 为条件随机场。

(2)线性链条件随机场

X = ( X 1 , X 2 , . . . X n ) ,    Y = ( Y 1 , Y 2 , . . . Y n ) X =(X_1,X_2,...X_n),\;Y=(Y_1,Y_2,...Y_n) 均为线性链表示的随机变量序列,若在给定随机变量序列 X X 的条件下,随机变量 Y Y 的条件概率分布 P ( Y X ) P(Y \mid X) 构成条件随机场,即满足马尔科夫性

P ( Y i X , Y 1 , Y 2 , . . . Y n ) = P ( Y i X , Y i 1 , Y i + 1 ) ,      i = 1 , 2 , . . . , n i = 1 n P(Y_i \mid X,Y_1,Y_2,...Y_n) = P(Y_i \mid X,Y_{i-1},Y_{i+1}),\;\; i=1,2,...,n(在i=1和n时只考虑单边)

则称 P ( Y X ) P(Y \mid X) 为线性链条件随机场(linear-CRF)。

对于观测序列 ( x 1 , x 2 , . . . x n ) (x_1,x_2,...x_n) ,隐含序列 ( y 1 , y 2 , . . . y n ) (y_1,y_2,...y_n)

  • HMM模型中, t t 时刻的观测 x t x_t 只取决于状态 y t y_t
  • Linear-CRF模型中, t t 时刻的观测 x t x_t 取决于状态 y t 1 , y t , y t + 1 y_{t-1},y_t,y_{t+1}

Linear-CRF是HMM的一种扩展。

HMM与CRF

2. 线性链条件随机场参数化形式

(1)参数化形式

P ( Y X ) P(Y \mid X) 为线性链条件随机场,则在随机变量 X X 取值为 x x 的条件下,随机变量 Y Y 取值为 y y 的条件概率具有如下形式:
P ( y x ) = 1 Z ( x ) exp ( i , k λ k t k ( y i 1 , y i , x , i ) + i , l μ l s l ( y i , x , i ) ) P(y \mid x) = \frac{1}{Z(x)}\exp\Big(\sum\limits_{i,k} \lambda_kt_k(y_{i-1},y_i, x,i) +\sum\limits_{i,l}\mu_ls_l(y_i, x,i)\Big)
其中, Z ( x ) Z(x) 为规范化因子:
Z ( x ) = y exp ( i , k λ k t k ( y i 1 , y i , x , i ) + i , l μ l s l ( y i , x , i ) ) Z(x) =\sum\limits_{y} \exp\Big(\sum\limits_{i,k} \lambda_kt_k(y_{i-1},y_i, x,i) +\sum\limits_{i,l}\mu_ls_l(y_i, x,i)\Big)

  • t k t_k 是定义在边上的转移特征函数(transition feature function),依赖于当前和前一个位置: t k ( y i 1 , y i , x , i ) ,    k = 1 , 2 , . . . K t_k(y_{i-1},y_i, x,i),\;k =1,2,...K
    其中 K K 是定义在该节点的局部特征函数的总个数, i i 是当前节点在序列的位置。

  • s l s_l 是定义在节点上的状态特征函数(status feature function),依赖于当前位置: s l ( y i , x , i ) ,    l = 1 , 2 , . . . L s_l(y_i, x,i),\;l =1,2,...L
    其中 L L 是定义在该节点的节点特征函数的总个数, i i 是当前节点在序列的位置。

条件随机场完全由特征函数 s l , t k s_l,t_k 和对应的权值 μ l , λ k \mu_l,\lambda_k 决定。特征函数的取值为0或1,即满足特征条件或者不满足特征条件;权值表示对这个特征函数的信任度。

(2)简化形式

假设某一节点有 K 1 K_1 个转移特征和 K 2 K_2 个状态特征, K = K 1 + K 2 K=K_1+K_2 ,使用一个特征函数统一表示:

f k ( y i 1 , y i , x , i ) = { t k ( y i 1 , y i , x , i ) k = 1 , 2 , . . . K 1 s l ( y i , x , i ) k = K 1 + l ,    l = 1 , 2... , K 2 f_k(y_{i-1},y_i, x,i)= \begin{cases} t_k(y_{i-1},y_i, x,i) & {k=1,2,...K_1}\\ s_l(y_i, x,i)& {k=K_1+l,\; l=1,2...,K_2} \end{cases}
对转移与状态特征在各个位置求和: f k ( y , x ) = i = 1 n f k ( y i 1 , y i , x , i ) f_k(y,x) = \sum\limits_{i=1}^nf_k(y_{i-1},y_i, x,i)
同时,统一 f k ( y , x ) f_k(y,x) 的权重: w k = { λ k k = 1 , 2 , . . . K 1 μ l k = K 1 + l ,    l = 1 , 2... , K 2 w_k= \begin{cases} \lambda_k & {k=1,2,...K_1}\\ \mu_l & {k=K_1+l,\; l=1,2...,K_2} \end{cases}
因此,linear-CRF的参数化形式简化为: P ( y x ) = 1 Z ( x ) exp k = 1 K w k f k ( y , x ) P(y \mid x) = \frac{1}{Z(x)}\exp\sum\limits_{k=1}^Kw_kf_k(y,x)
其中, Z ( x ) = y exp k = 1 K w k f k ( y , x ) Z(x) =\sum\limits_{y}\exp\sum\limits_{k=1}^Kw_kf_k(y,x)
w k w_k f k f_k 分别用向量表示: w = ( w 1 , w 2 , . . . w K ) T        F ( y , x ) = ( f 1 ( y , x ) , f 2 ( y , x ) , . . . f K ( y , x ) ) T w=(w_1,w_2,...w_K)^T\;\;\; F(y,x) =(f_1(y,x),f_2(y,x),...f_K(y,x))^T

则,linear-CRF的参数化形式简化为内积形式如下: P w ( y x ) = exp ( w F ( y , x ) ) Z w ( x ) P_w(y \mid x) = \frac{\exp(w \bullet F(y,x))}{Z_w(x)}
其中, Z w ( x ) = y exp ( w F ( y , x ) ) Z_w(x) = \sum\limits_{y}\exp(w \bullet F(y,x))
形式与逻辑回归类似,条件随机场实际是定义在时间序列上的对数线性模型。

(3)矩阵形式

定义 m m 阶( m m y y 所有可能取值的个数)矩阵:
M i ( x ) = [ M i ( y i 1 , y i x ) ] = [ e x p ( W i ( y i 1 , y i x ) ) ] = [ e x p ( k = 1 K w k f k ( y i 1 , y i , x , i ) ) ] \begin{aligned} M_i(x) =& \Big[ M_i(y_{i-1},y_i \mid x)\Big] \\ =& \Big[ exp(W_i(y_{i-1},y_i \mid x))\Big] \\ =& \Big[ exp(\sum\limits_{k=1}^Kw_kf_k(y_{i-1},y_i, x,i))\Big]\end{aligned}

引入特殊起点和终点标记 y 0 = s t a r t , y n + 1 = s t o p y_0=start,y_{n+1}=stop ,这样,给定观测序列 x x ,标记序列 y y 的非规范化概率可以通过 n + 1 n+1 个矩阵元素的乘积表示:

P w ( y x ) = 1 Z w ( x ) i = 1 n + 1 M i ( y i 1 , y i x ) P_w(y \mid x) = \frac{1}{Z_w(x)}\prod_{i=1}^{n+1}M_i(y_{i-1},y_i \mid x)

3. 条件随机场的三个基本问题

(1)概率计算问题

给定linear-CRF的条件概率分布 P ( Y X ) P(Y \mid X) ,输入序列 x x 和输出序列 y y ,计算条件概率 P ( y i x ) P(y_i \mid x) P ( y i 1 y i x ) P(y_{i-1},y_i|x) 以及对应的期望。
一般使用前项-后向算法,通过引入前向-后向向量,递归地计算概率及期望值。

(2)学习问题

给定训练数据集 X X Y Y ,学习linear-CRF的模型参数 w k w_k 和条件概率 P w ( y x ) P_w(y \mid x)
通常使用极大化似然估计或正则化的极大似然估计,即通过极大化训练数据的对数似然函数来估计模型参数,具体算法包括改进的迭代尺度算法、梯度下降法,拟牛顿法等。

(3)解码问题

给定 linear-CRF的条件概率分布 P ( y x ) P(y \mid x) ,和输入序列 x x , 计算使条件概率最大的输出序列 y y
可使用维特比算法解决。

猜你喜欢

转载自blog.csdn.net/apr15/article/details/105892705