Linear-Chain CRF 23 2 8
Linear-Chain CRF Conditional Random Fields(CRF) CRF Linear-Chain CRF Ye (2009) Linear-Chain CRF i
Abstract An Efficient Algorithm for Variable-Order Linear-Chain CRFs ii Hiroshi MANABE Conditional Random Fields (CRFs) is one of the most popular models for sequence labeling. Applying the maximum entropy model to the whole sequence, it can describe relationship between the observations and labels with consistency. Linear-Chain CRFs is the most prevalent and practical application of CRFs which focuses on linear-chained graphs and usually makes first-order Markov assumption. It allows us to efficiently compute the model expectation of the feature functions by using forward-backward algorithm. Extending the model to higher-order Markov model, however, has been problematic due to the exponential computational complexity. Ye et al.(2009) presented an algorithm which computes the model expectation in polynomial time. However, because of its still high computational complexity, the algorithm is only practical when the higher-order features are sparse. This paper presents a novel algorithm that computes the model expectation of the feature functions more efficiently. When applied to English POS-tagging, this model yields a higher precision than the traditional first-order Markov model.
Linear-Chain CRF 1 1 2 2 2.1 Hidden Markov Model (HMM)....................... 2 2.2 Maximum Entropy Markov Model (MEMM).............. 3 2.3 Linear-Chain Conditional Random Fields(Linear-Chain CRF). 4 3 Linear-Chain CRF 5 3.1....................... 5 3.2............................... 7 4 Linear-Chain CRF 9 4.1............................ 9 4.2 :Ye(2009)................................ 11 4.3 :Qian(2009)............................... 11 5 Linear-Chain CRF 12 5.1.......................................... 12 5.2............................ 14 5.2.1.................................... 15 5.2.2.................................... 19 5.2.3................................ 20 5.2.4.............................. 21 5.2.5 -......................... 23 5.2.6........................ 24 5.3....................................... 27 5.3.1...................... 27 5.3.2.................... 30 6 33 7 36 37
38
1 Hidden Markov Model (HMM) Support Vector Machine (SVM) Maximum Entropy Markov Model (MEMM)[1] Conditional Random Fields(CRF)[2] Linear-Chain CRF Linear-Chain CRF MEMM Stanford Tagger[3] Linear-Chain CRF Ye [4] 1
2 x, y t x t, y t T L 0 T + 1 l BOS, l EOS P (x, y) P (y x) Linear-Chain Conditional Random Fields (Linear-Chain CRF) Hidden Markov Model (HMM) Maximum Entropy Markov Model (MEMM) 1 2.1 Hidden Markov Model (HMM) Hidden Markov Model (HMM) P (x, y) P (x, y) = t P (y t y t 1 )P (x t y t ) (1) HMM Linear-Chain CRF HMM Linear-Chain CRF (forward-backward algorithm) ( ) (Viterbi algorithm) HMM 2
2.2 Maximum Entropy Markov Model (MEMM) CRF Maximum Entropy Markov Model (MEMM) P (y x) y t x t P (y t y t 1, x, t) (2) ( ) 1 P (y t y t 1, x, t) = Z(x, t, y t 1 ) exp λ i f i (x, t, y t 1, y t ) (3) i Z(x, t, y t 1 ) 1 f i λ i < λ i < + P (y x) P (y x) = t P (y t x, t) (4) λ i L-BFGS [5] MEMM HMM Linear-Chain CRF 1 Linear-Chain CRF 3
2.3 Linear-Chain Conditional Random Fields(Linear-Chain CRF) Conditional Random Fields (CRF) MEMM CRF Linear-Chain Conditional Random Fields (Linear-Chain CRF) CRF Linear-Chain CRF P (y x) P (y x) = 1 ( ) Z(x) exp λ i f i (x, t, y t 1, y t ) t i Z(x) 1 f i f i y t 1 y t y t 1 unigram bigram λ i < λ i < + λ i L-BFGS [5] (5) 4
3 Linear-Chain CRF Linear-Chain CRF Linear-Chain CRF Linear-Chain CRF 3.1 Linear-Chain CRF T L T = log (x,ỹ) T P (ỹ x) i λ 2 i 2σ 2 reg (6) λ i σ reg λ i L T Ẽ[f i] f i E[f i ] f i L T λ i = Ẽ[f i] E[f i ] λ i σ 2 reg (7) L T λ i i (7) 0 (forward-backward algorithm) t y α, β α(y, t) def = ( t 1 exp λ i f i (x, t, y t 1, y t ) + y 0:t 1 t =1 i i β(y, t) def = T +1 exp λ i f i (x, t, y t 1, y t ) + y t+1:t +1 t =t+2 i i α(l BOS, 0) = 1, β(l EOS, T + 1) = 1 5 λ i f i (x, t, y t 1, y) ) (8) λ i f i (x, t, y, y t+1 ) (9)
α(y, t), β(y, t) α(y, t 1), β(y, t + 1) α(y, t) = ( ) α(y, t 1) exp λ i f i (x, t, y, y) y i β(y, t) = ( ) β(y, t + 1) exp λ i f i (x, t, y, y ) y i (10) (11) α, β O(L 2 T ) Algorithm 1 Algorithm 2 Algorithm 1 Forward-backward: forward part α(l BOS, 0) 1 for t = 1 to T + 1 do for all y t do α(y t, t) y (α(y, t 1) exp ( i λ i f i (x, t, y, y t ))) Algorithm 2 Forward-backward: backward part β(l EOS, T + 1) 1 for t = T for all y t do downto 0 do β(y t, t) y (β(y, t + 1) exp ( i λ i f i (x, t, y t, y ))) α, β t 1 t y y P (y t 1 = y, y t = y) = 1 ( ) Z(x) α(y, t 1) exp λ i f i (x, t, y, y) β(y, t) (12) i Z(x) 6
Z(x) = α(l EOS, T + 1) = β(l BOS, 0) (13) 3.2 Linear-Chain CRF x y (Viterbi algorithm) y y = arg max y = arg max exp y ( ) 1 Z(x) exp λ i f i (x, t, y t 1, y t ) t i ( ) λ i f i (x, t, y t 1, y t ) t i (14) p(y t, t), q(y t, t) p(y t, t) q(y t, t) ( ( )) def = max p(y t 1, t 1) exp λ i f i (x, t, y t 1, y t ) (15) y t 1 i def = arg max p(y t, t) (16) y t 1 p q Algorithm 3 Algorithm 4 q y L 2 T 7
Algorithm 3 Viterbi algorithm(1) p(l BOS, 0) 1 for t = 1 to T + 1 do for all y t do p(y t, t) max yt 1 (p(y t 1, t 1) exp ( i λ i f i (x, t, y t 1, y t ))) q(y t, t) arg max yt 1 (p(y t, t)) Algorithm 4 Viterbi algorithm(2) for t = T to 1 do y t q(y t+1, t + 1) 8
4 Linear-Chain CRF 1 Linear-Chain CRF n n n n 1 Linear-Chain CRF n L n 2 {a, b, c} 9 acb cba, cbb, cbc 3 (L n ) (L ) L n+1 L n+1 T n 4.1 Linear-Chain CRF ( ) 1 L L ( ) 9
{a, b, c} a > b > c aa, ab, ac, ba, bb, bc, cb ca, cc unigram a, b, c bigram ca, cc cc ca ca, cc ca ca, cc cb cc ca CRFSuite[6] 96.06% 96.00% Linear-Chain CRF Linear-Chain CRF(Variable-Order Linear-Chain CRF) Ye [4] CRF Qian [7] Sparse Higher Order CRFs(SHO-CRFs) 10
4.2 :Ye(2009) Ye [4] Linear-Chain CRF M K X O(M 3 K 4 X) O(MKX) 1 4.3 :Qian(2009) Qian sparse higher order CRFs (SHO-CRFs) [7] Z s:t = Z s Z s+1 Z t Qian 11
5 Linear-Chain CRF Linear-Chain CRF 5.1 x, y T T Y = {l 1,, l L } 0 T + 1 l BOS, l EOS t Y t {l BOS } if t = 0 Y t = {l EOS } if t = T + 1 Y otherwise (17) Y n,, Y m z z = m n + 1, (t : 1 t m n + 1)z n Y n+t 1 z Y n:m L = 3, T = 2 Y 0 = {l BOS }, Y 1 = {l 1, l 2, l 3 }, Y 2 = {l 1, l 2, l 3 }, Y 3 = {l EOS } {z z Y 0:3 } = {l BOS l 1 l 1 l EOS, l BOS l 1 l 2 l EOS, l BOS l 1 l 3 l EOS, l BOS l 2 l 1 l EOS, l BOS l 2 l 2 l EOS, l BOS l 2 l 3 l EOS, l BOS l 3 l 1 l EOS, l BOS l 3 l 2 l EOS, l BOS l 3 l 3 l EOS } z z i:j def = z i j j < i z i:j 12
(ϵ ) z 1, z 2, z 1 z 2 z 3 z 3 = z 1 + z 2 z 1 z 2 (z 2 z 1 ) z 1 s z 2 (z 1 = z 2 ) z ϵ s z z 1 z 2 z 1 s z 2 z 1 z 2 z 1 z 2 z 1 < s z 2 z 1 z 2 z 1 < s z 2, z 1 ϵ z 1 1: z 1 1 < s z 2 1: z 2 1 (18) z 1 z 2 z 1 ϵ z 1 1 z 2 ( ) z 1 < s z 3, z 2 < s z 3 z 1 < s z 2 or z 2 s z 1 (19) z 1, z 2 z 3 z 1 z 2 z 2 z 1 z 2 S z 1 s(z 1, S) = z 2 z 2 S z 1 (z 1 S ) s(z 1, S) = z 2 if and only if z 2 S and z 2 < s z 1 and (z S)z < s z 1 z s z 2 (20) z 2 S z 1 S(z 1, S) = z 2 z 2 S z 1 S(z 1, S) = z 2 if and only if z 2 S and z 2 s z 1 and (z S)z s z 1 z s z 2 (21) z S S(z, S) = z 13
S s(ϵ, S) = ( (z)z ) n n ( (z)z n, n = n ) f 1,, f m f i x, t b i (x, t)( ) L i (y, t)( ) f i (x, y, t) = b i (x, t)l i (y, t) (22) L i z i 1 if y t z L i (y, t) = i +1:t = z i 0 otherwise (23) z i = l 1 l 2 y t 1 = l 1, y t = l 2 L i (y, t) = 1 z i L i z i 1 f i z i 1 5.2 f i E[f i ] = x +1 P (y x) f i (x, y, t) (24) (x,ỹ) T y t= z i 1 T x x + 1 t = 1 1 t = 0 (24) 14
L-BFGS [5] 1 0 t T + 1( T = 3) 0, T + 1 / ( ) a1 s a2 a3 d a4 ( ) a0 : (b i ) (L i ) exp(exp(λ i ) ) ( exp ) a3:[yz]:2.80 a3 Y Z 1 2.80 b i (x, t) z i z i 1 f i (x, y, t) = b i (x, t)l(y, t) 1 l BOS, l EOS 1 Y = {X, Y, Z} l BOS = B, l EOS = E 5.2.1 t P t T P t = Y t {ϵ} {z k 1: z k (t t) b k(x, t) = 1, z k t t} (25) t =t 15
P t t t (22) f i b i L i b i 1 f i L i z i 1 : exp(w), exp(w ), σ( ) α, γ, β, δ( ) ( exp ) t = 3 a0, a3 1 a0:[x]:0.10, a0:[y]:0.20, a0:[z]:0.30, a0:[xy]0.70, a0:[xyz]:0.80, a0:[yx]:0.90, a0:[yz]:1.00, a0:[zy]:1.10, a3:[yyy]:2.50, a3:[y]:2.60, a3:[z]:2.70, a3:[yz]:2.80, 12 X, Y, Z, Y X, XY, Y Y Y, ZY, Y Z, XY Z 9 ϵ 10 t = 3 Y Z a0:[yz]:1.00 a3:[yz]:2.80 (25) 1 t = 2 Y Y t = 2 a0, a1 Y Y t = 3 Y Y Y t = 2 1 Y Y t = 2 16
z P t, z ϵ, t > 0 z 1: z 1 P t 1 (26) (25) t z T +1 z Y t:t +1 t =t f i (x, z + z, t) = T +1 f i (x, S(z, P t ) + z, t) (27) i z Y t:t +1 t =t i f i (x, z + z, t) f i (x, t +1 z + z + z, t) f i (x, S(z, P t ) + z, t) f i (x, t +1 S(z,P t) + S(z, P t ) + z, t) (27) t z = t t z S(z) < s z s z z b i (x, t ) = 1, L(z +z, t) = 1(L ) f i t z +z (26) t z S(z, P t ) < s z s z z P t (21) 17
a0:[x]:0.10 a0:[y]:0.20 a0:[z]:0.30 a0:[e]:0.40 a0:[bx]:0.50 a0:[bxy]:0.60 a0:[xy]:0.70 a0:[xyz]:0.80 a0:[yx]:0.90 a0:[yz]:1.00 a0:[zy]:1.10 a0:[xe]:1.20 a0:[ye]:1.30 a0:[ze]:1.40 a0:[zye]:1.50 a0:[yze]:1.60 a1:[x]:1.70 a1:[y]:1.80 a1:[z]:1.90 a1:[bx]:2.00 a1:[xy]:2.10 a2:[x]:2.20 a2:[y]:2.30 a2:[z]:2.40 a3:[yyy]:2.50 a3:[y]:2.60 a3:[z]:2.70 a3:[yz]:2.80 a4:[ze]:2.90 []:w 1.00 W 1.00 σ 9.24 α 0.00 γ 1.00 β 9.64 δ 9.64 (BOS)/ "This"/a0,a1,a2 "is"/a0,a1 "good"/a0,a3 (EOS)/a0,a4 []:w 1.00 W 1.00 σ 9.24 α 0.00 γ 2.57 β 3.53 δ 3.53 []:w 1.00 W 1.00 σ 9.24 α 0.00 γ 2.85 β 1.63 δ 1.63 []:w 1.00 W 1.00 σ 9.24 α 0.00 γ 5.65 β 0.40 δ 0.40 []:w 1.00 W 1.00 σ 9.24 α 0.00 γ 9.24 β 1.00 δ 1.00 [B]:w 1.00 W 1.00 σ 9.24 α 1.00 γ 1.00 β 9.24 δ-0.40 [X]:w 0.37 W 0.37 σ 1.08 α 0.00 γ 0.37 β 3.96 δ 0.43 [X]:w 0.17 W 0.17 σ 0.66 α 1.74 γ 0.42 β 1.55 δ-0.08 [X]:w 0.10 W 0.10 σ 0.13 α 1.89 γ 0.28 β 0.48 δ 0.08 [E]:w 0.40 W 0.40 σ 9.24 α 0.00 γ 9.24 β 1.00 δ 0.00 [BX]:w 1.00 W 0.37 σ 1.08 α 1.00 γ 0.37 β 2.89 δ-1.06 [YX]:w 0.90 W 0.15 σ 0.20 α 0.83 γ 0.13 β 1.55 δ 0.00 [YX]:w 0.90 W 0.09 σ 0.04 α 0.96 γ 0.09 β 0.48 δ 0.00 [XE]:w 1.20 W 0.48 σ 0.13 α 0.28 γ 0.13 β 1.00 δ 0.00 [Y]:w 0.83 W 0.83 σ 3.02 α 1.00 γ 0.83 β 3.65 δ 0.12 [Y]:w 0.36 W 0.36 σ 5.93 α 0.00 γ 0.96 β 6.21 δ 4.57 [Y]:w 0.52 W 0.52 σ 1.11 α 0.66 γ 1.72 β 0.52 δ 0.12 [YE]:w 1.30 W 0.52 σ 1.11 α 0.88 γ 1.11 β 1.00 δ 0.00 [Z]:w 1.37 W 1.37 σ 5.13 α 1.00 γ 1.37 β 3.75 δ 0.22 [XY]:w 1.47 W 0.53 σ 0.60 α 0.00 γ 0.12 β 5.03 δ-1.18 [XY]:w 0.70 W 0.36 σ 0.08 α 0.42 γ 0.15 β 0.52 δ 0.00 [ZYE]:w 1.50 W 0.78 σ 0.65 α 0.84 γ 0.65 β 1.00 δ 0.00 [BXY]:w 0.60 W 0.32 σ 0.60 α 0.37 γ 0.12 β 5.03 δ 0.00 [YYY]:w 2.50 W 1.30 σ 0.20 α 0.30 γ 0.39 β 0.52 δ 0.00 [ZE]:w 4.06 W 1.62 σ 7.99 α 1.53 γ 7.99 β 1.00 δ 0.00 [YY]:w 1.00 W 0.36 σ 1.97 α 0.83 γ 0.30 β 6.61 δ 0.41 [ZY]:w 1.10 W 0.57 σ 0.65 α 1.46 γ 0.84 β 0.78 δ 0.26 [YZE]:w 1.60 W 2.60 σ 5.51 α 2.12 γ 5.51 β 1.00 δ 0.00 [ZY]:w 1.10 W 0.40 σ 3.36 α 1.37 γ 0.54 β 6.21 δ 0.00 [Z]:w 0.81 W 0.81 σ 7.99 α 1.89 γ 3.65 β 1.62 δ 1.22 [Z]:w 0.57 W 0.57 σ 2.65 α 1.74 γ 1.46 β 1.81 δ 0.18 [YZ]:w 2.80 W 2.27 σ 5.51 α 0.84 γ 2.12 β 2.60 δ 0.97 [YZ]:w 1.00 W 0.57 σ 0.85 α 0.83 γ 0.47 β 1.81 δ 0.00 [XYZ]:w 0.80 W 1.81 σ 0.56 α 0.12 γ 0.22 β 2.60 δ 0.00 1: 18
5.2.2 z p P t t w(z p, t) w(z p, t) def = i:z i =z p,b i (x,t)=1 λ i (28) 1 exp t = 2 XY a0:[xy]:0.70 a1:[xy]:2.10 1.47 1 exp(w) exp w z p P t t W (z p, t) W (z p, t) def = i:z i sz p,b i (x,t)=1 λ i (29) ( ) 1 W (29) (28) w W (z p, t) = i:z i P t,z i s z p w(z i, t) (30) 3 Y X exp(w) 0.90 X 0.10 exp(w ) 0.09 1 exp(w ) 2 exp W W z p ϵ W (z p, t) = W (s(z, P t ), t) + w(z p, t) s(z p, P t ) (20) P t z p P t z p z p s(z, P t ) 19
5.2.3 z p ϵ P t t 1 α(z p, t) α(z p, t) def = z:z Y 0:t,z p sz z:z Y 0:t, (z P t,s(z,p t )=z p )z s z t 1 exp λ i t =1 i:f(x,z,t )=1 t 1 λ i t =1 i:f(x,z,t )=1 exp (31) z p 1 t 1 z p t 1 t 1 α(ϵ, t) = 0 1 t = 1 X α 0 BX α(x, 1) t = 1 X BX t = 1 X BX (t = 0 B ) 0 t = 2 X α 1.74 Y X t = 2 X Y X XX ZX z p P t t γ(z p, t) γ(z p, t) def = z:z Y 0:t,z p sz exp t λ i t =1 i:f(x,z,t )=1 (32) z p t γ(ϵ, 0) = γ(l BOS, 0) = 1 t = 2 X γ 0.42 X 20
α γ α(z p, t) = γ(z p 1: z p 1, t 1) γ(z p, t) = z P t,z p s z z:z P t,s(z,p t )=z p γ(z 1: z 1, t 1) (33) α(z, t) exp(w (z, t)) (34) (33) γ(z p 1: z p 1, t 1) zp P t z p α(z p, t) (34) α(z, t) exp(w (z, t)) α(z, t) P t P t z α exp(w ) γ(z, t) t = 2 Y X γ 0.13 Y X α 0.83 W 0.15 X γ 0.42 Y X γ 0.13 X α 1.74 W 0.17 0.29 2 X α X Y X 1 ( ) W 2 Y X X 5.2.4 z p P t t β(z p, t) β(z p, t) def = T +1 exp λ i z Y t+1:t +1 t =t+1 i:f i (x,z p +z,t ) (35) t + 1 T + 1 z p z β(z, T + 1) = 1 f i (x, z p + z, t ) f i (x, t+1 zp + z p + 21
z, t ) z p P t t T δ(z p, t) δ(z p, t) def = T +1 exp λ i z Y t+1:t +1 t =t+1 i:f i (x,z p +z,t )=1 T +1 exp λ i t =t+1 i:f i (x,s(z p,p t)+z,t )=1 (36) t + 1 T + 1 z p z p δ(ϵ, T + 1) = 1 δ(z p, t) = β(z p, t) = z P t+1,z 1: z 1 =z p (β(z, t + 1) exp(w (z, t + 1)) β(s(z, P t+1 ), t + 1) exp(w (s(z, P t+1 ), t + 1))) (37) δ(z, t) z P t,z sz p (38) (37) (36) T +1 exp λ i exp λ i z Y t+2:t +1 z Y t+1:t+1 t =t+2 i:f i (x,z p +z +z,t )=1 i:f i (x,z p +z,t+1) T +1 exp λ i exp λ i (39) t =t+2 i:f i (x,s(z p,p t )+z +z,t )=1 i:f i (x,s(z p,p t )+z +z,t) (21) (39) exp T +1 exp λ i t =t+2 i:f i (x,s(z p +z,p t+1 )+z,t )=1 T +1 λ i t =t+2 i:f i (x,s(s(z p,p t)+z,p t+1 )+z,t )=1 exp exp z Y t+2:t +1 z Y t+1:t+1 i:f i (x,s(z p +z,p t+1 ),t+1) i:f i (x,s(s(z p,p t)+z,p t+1 ),t) λ i λ i (40) s(z p + z, P t+1 ) s s(z p, P t ) + z (41) 22
(20) s(z p + z, P t+1 ) < s z p + z, s(z p, P t ) + z < s z p + z (19) s(z p, P t ) + z < s s(z p +z, P t+1 ) z = s(z p +z, P t+1 ) z P t+1 z ϵ (26) z 1: z 1 P t (18) s(z p, P t ) < s z 1: z 1 < s z p (20) (20) t + 1 s(z p + z, P t+1 ) < s z < s z p + z z S(s(z p, P t ) + z, P t+1 ) = s(z p + z, P t+1 ) (42) z p + z P t+1 (21) S(z p + z, P t+1 ) z p + z S(z p + z, P t+1 ) = s(z p + z, P t+1 ) (43) (40) z p + z P t+1 (40) T +1 exp λ i exp λ i z Y t+2:t +1 z P t+1,z z 1 =zp t =t+2 i:f i (x,z +z,t )=1 i:f i (x,z,t+1) T +1 exp λ i exp λ i t =t+2 i:f i (x,s(z,p t+1 )+z,t )=1 i:f i (x,s(z,p t+1 )+z,p t+1 ),t) (35) β (29) W (37) (44) 1 t = 3 X δ 0.08 XE β 0.48 E β(1.0) 0.40 5.2.5 - z p P t t θ(z p, t), σ(z p, t) θ(z p, t) σ(z p, t) def = α(z p, t) exp(w (z p, t))β(z p, t) (45) def = θ(z, t) (46) z:z P t,z s z p 23
θ(z p, t) t z p z p t t = 0 T + 1 1 t = 2 X θ 0.46 (θ ) t = 2 X Y X ( t = 1, 2 XX ZX ) σ(z p, t) t z p t = 0 T + 1 1 t = 2 X σ 0.66 t = 2 X σ(z p, t) = σ(s(z p, P t ), t) + θ(z p, t) Z(x) γ Z(x) = γ(ϵ, T + 1) (47) y t z p P t P (z p s y 1:t x) = σ(z p, t)/z(x) (48) 5.2.6 t = 1,, T + 1 P t t z F z,t Algorithm 5 t z ϵ P t t 1 z 1: z 1 P t 1 ( ) t z s(z, P t ) z 1 < s z 2 z 1 z 2 24
Algorithm 5 Make paths for t = 1 to T + 1 do F {f k b k (x, t) = 1} for all f i F do F z i,t F z i,t {f i } for j = 0 to z i do P t j P t j {z i 1: z j } (ascending order) (descending order) ( ) Algorithm 6 w(z, t) 0 (33) z i α(z i, t) = γ(z 1: z 1, t) (33) z i 2 (33) z P t α(z, t) 1 1 T +1 T +1 O F z p,t + P t (49) t=1 z p :z p P t t=1 γ, δ t 1 t + 1 exp 25
Algorithm 6 Sum-difference for t = 1 to T + 1 do for all z ϵ P t in ascending order do for all f i F z,t do w(z, t) w(z, t) + λ i W (z, t) W (s(z, P t ), t) + w(z, t) γ(ϵ, 0) 1, γ(l BOS, 0) 1 for t = 1 to T + 1 do for all z ϵ P t in descending order do α(s(z, P t ), t) α(s(z, P t ), t) γ(z 1: z 1, t 1) α(z, t) α(z, t) + γ(z 1: z 1, t 1) α(ϵ, t) 0 for all z ϵ P t in descending order do γ(z, t) γ(z, t) + α(z, t) exp(w (z, t)) γ(s(z, P t ), t) γ(s(z, P t ), t) + γ(z, t) Z(x) γ(ϵ, T + 1) δ(ϵ, T + 1) 1 for t = T + 1 downto 1 do β(ϵ, t) δ(ϵ, t) for all z ϵ P t in ascending order do β(z, t) β(s(z, P t ), t) + δ(z, t) for all z ϵ P t do δ(z 1: z 1, t 1) δ(z 1: z 1, t 1)+β(z, t) exp(w (z, t)) β(s(z, P t ), t) exp(w (s(z, P t ))) for t = 1 to T + 1 do for all z ϵ P t in descending order do θ(z p, t) α(z p, t) exp(w (z p, t))β(z p, t) σ(z, t) σ(z, t) + θ(z, t) σ(s(z, P t ), t) σ(s(z, P t ), t) + σ(z, t) for all f i F z,t do E[f i ] E[f i ] + σ(z, t)/z(x) 26
(Algorithm 6 α, β ) 5.3 Linear-Chain CRF y ( ) y 1 = arg max y Z(x) exp λ i f i (x, y, t) t i ( ) = arg max exp λ i f i (x, y, t) y t O ( T +1 i:b(x,t)=1 1 + L ( T +1 z p :z p P t 1 )) O ( T +1 t=1 t=1 i:b(x,t)=1 1 + log L ( T +1 t=1 i t=1 (50) z p :z p P t 1 )) W Algorithm 7 5.3.1 z p P t p(z p, t), q(z p, t) p(z p, t) q(z p, t) def = max z:z P t 1,z p 1: z p 1 sz, (z :z P t 1,z p sz )z sz (p(z, t 1)) exp(w (z p, t)) (51) def = arg max z:z P t 1,z p 1: z p 1 sz, (z :z P t 1,z p sz)z sz (p(z, t 1)) (52) 27
Algorithm 7 Calculate weights for t = 1 to T + 1 do for all z ϵ P t in ascending order do for all f i F z,t do w(z, t) w(z, t) + λ i W (z, t) W (s(z, P t ), t) + w(z, t) p(z p, t) z p z p t t 1 z p q(z p, t) p(z p, t) t 1 Algorithm 8 p, q r, u Algorithm 5 Algorithm 7 Algorithm 9 q y Algorithm 8 O(L) 28
Algorithm 8 Decode-forward(1) p(ϵ, 0) 1, p(l BOS, 0) 1 for t = 1 to T + 1 do for all z ϵ P t in descending order do if this is the first iteration or the last label in z has changed then z the first z P t 1 in descending order for all z P t 1 do r(z, t 1) p(z, t 1) u(z, t 1) z end if while z z 1: z 1 do if r(z, t 1) > r(s(z, t 1), t 1) then r(s(z, t 1), t 1) r(z, t 1) u(s(z, t 1), t 1) u(z, t 1) end if z next z P t 1 in descending order end while p(z, t) r(z, t) exp(w (z, t)) q(z, t) u(z, t) Algorithm 9 Decode-forward(2) z arg max z PT +1 p(z, T + 1) for t = T + 1 to 1 do y t z z z q(z, t) y 0 l BOS 29
5.3.2 z p P t p(z p, t), q(z p, t) p(z p, t) q(z p, t) def = max z:z P t+1,z 1: z 1 s z p, (z :z P t+1,z s z )z 1: z 1 sz p (p(z, t + 1)) exp(w (z p, t)) (53) def = arg max z:z P t+1,z 1: z 1 s z p, (z :z P t+1,z s z )z 1: z 1 sz p (p(z, t + 1)) (54) p(z p, t) z p z p t t + 1 z p q(z p, t) p(z p, t) t + 1 Algorithm 10 p, q r, u, v, l, H H Heap-insert, Heap-delete, Heap-max Heapinsert Heap-delete Heap-max O(log L) Heap-max O(1) t Q t Q t = {z 1: z 1 z P t } (55) z t z t z 1 z z 2 z 2 = z 1 + z Algorithm 5 Algorithm 7 Algorithm 11 q y 30
Algorithm 10 Decode-backward(1) v(ϵ, T + 1) 1 for t = T + 1 downto 1 do for all z ϵ P t in ascending order do if v(z, t) = 0 then v(z, t) = v(s(z, P t ), t) q(z, t) = q(s(z, P t ), t) end if p(z, t) = v(z, t) exp(w (z, t)) H empty heap for all z : z P t, z = 1 do Heap-insert(H, z 1, t)) u(z 1 ) p(z, t) z ϵ for all z ϵ Q t in ascending order do while z s(z, Q t ) do for all z : z P t, z 1: z 1 = z do Heap-delete(H, z z 1 ) Heap-insert(H, z z 1, r(z )) z s(z, Q t ) end while for all z : z P t, z 1: z 1 = z do r(z ) u(z z 1 ) u(z z 1 ) p(z, t) Heap-delete(H, z z 1 ) Heap-insert(H, z z 1, p(z, t)) l Heap-max(H) q(z p, t) s(z p + l, P t+1 ) v(z p, t) u(l) z z 31
Algorithm 11 Decode-backward(2) if v(l BOS, 0) = 0 then q(l BOS, 0) q(ϵ, 0) end if z l BOS for t = 0 to T do y t z z z q(z, t) y T +1 l EOS O(L) O(log L) Q t 32
6 CRFSuite[6] Penn Treebank 3.0 Wall Street Journal 0-18 22-24 38,219 912,344 5,462 129,654 (Stanford Tagger[3] ) 3 1 Linear-Chain CRF 2, 3, 4 1 2.9GHz CPU 128GiB 2 2 3 exp log CRFSuite[6] Stanford Tagger[3] MEMM[1] Stanford Tagger 3 1 33
y i y i, x i y i, x i 1 y i, x i+1 y i, x i 1, x i y i, x i, x i+1 (1 ) y i, x i 2, x i 1 y i, x i 2, x i 1, x i y i, x i 3, x i 2, x i 1 y i, x i+1 (10 ) y i, x i+1 (10 ) y i, x i+1 y i, x i+1 y i, x i+1 y i, y i 1 2 y i, y i 1, x i y i, y i 1, x i 1 y i, y i 1, y i 2, x i 1 3 y i, y i 1, y i 2, x i, x i 1 y i, y i 1, y i 2, x i 1, x i 2 y i, y i 1, y i 2, y i 3, x i 1, x i 2 4 y i, y i 1, y i 2, y i 3, x i, x i 1, x i 2 y i, y i 1, y i 2, y i 3, x i 1, x i 2, x i 3 y i, y i 1, y i 2, y i 3, y i 4, x i 1, x i 2, x i 3 1: 34
( ) baseline (1 CRF) 3113069 26 202 96.99% 1 CRF( ) 3113069 75 1408 97.12% 2 3618876 87 1277 97.18% 3 5163811 87 1313 97.19% 4 7329406 90 1154 97.19% Stanford Tagger[3] 460552 - - 97.24% 2: WSJ POS-tagging 35
7 Linear-Chain CRF Ye [4] Linear-Chain CRF Stanford Tagger[3] Linear-Chain CRF Linear-Chain CRF POS-tagging http://vocrf.net/ 36
Linear-Chain CRF ( ) 3 37
[1] McCallum, A., Freitag, D. and Pereira, F. C. N.: Maximum Entropy Markov Models for Information Extraction and Segmentation, Proceedings of the Seventeenth International Conference on Machine Learning, ICML 00, San Francisco, CA, USA, Morgan Kaufmann Publishers Inc., pp. 591 598 (2000). [2] LAFFERTY, J.: Conditional Random Fields : Probabilistic Models for Segmenting and Labeling Sequence Data, Proceedings of ICML, 2001 (2001). [3] Toutanova, K., Klein, D., Manning, C. D. and Singer, Y.: Feature-Rich Part-of-Speech Tagging with a Cyclic Dependency Network, In Proceedings of HLT-NAACL 2003, pp. 252 259 (2003). [4] Ye, N., Lee, W. S., Chieu, H. L. and Wu, D.: Conditional Random Fields with High-Order Features for Sequence Labeling, Advances in Neural Information Processing Systems 22 (Bengio, Y., Schuurmans, D., Lafferty, J., Williams, C. K. I. and Culotta, A.(eds.)), pp. 2196 2204 (2009). [5] Liu, D. and Nocedal, J.: On the Limited Memory Method for Large Scale Optimization, Mathematical Programming B, Vol. 45(3), pp. 503 528 (1989). [6] Okazaki, N.: CRFsuite: a fast implementation of Conditional Random Fields (CRFs) (2007). [7] Qian, X., Jiang, X., Zhang, Q., Huang, X. and Wu, L.: Sparse higher order conditional random fields for improved sequence labeling, ICML, p. 107 (2009). 38