nlpforml5
DESCRIPTION
TRANSCRIPT
自然言語のための機械学習勉強会第5章:系列ラベリング
@kisa12012
目次
5.1:系列ラベリング概論
5.2:隠れマルコフモデル(HMM) 5.3:系列ラベリングの逐次的手法
5.4:条件付確率場(CRF) 5.5:まとめ
目次
5.1:系列ラベリング概論
5.2:隠れマルコフモデル(HMM) 5.3:系列ラベリングの逐次的手法
5.4:条件付確率場(CRF) 5.5:まとめ
5.1 系列ラベリング概論
系列ラベリング
品詞タグ付け
チャンキング(文書内から人名・地名の抽出)
品詞タグ付け
系列(sequence) ”Nurture passes nature.”いくつかの要素が連なったもの
系列ラベリング(sequential labeling) 『Nurture←名詞』を付与
系列内のそれぞれにラベルを付けること
“Nurture passes nature.”名詞 動詞 名詞
5.1 系列ラベリング概論
の”pass”に着目
“pass”は、今回の例では動詞。しかし、 のように、直前に形容詞が来る場合には名詞となりやすい。
ある要素のラベルが、その直前のラベルに依存する
←要素を系列として見る事で、精度向上を図る
系列ラベリングでは、要素のラベルが系列内の他のラベルに依存する場合を扱う
“Nurture passes nature.”名詞 動詞 名詞
“nice pass.”
直前のラベルが形容詞であれば、passは名詞の確率が高い直前のラベルが名詞であれば、passは動詞の確率が高い
5.1 系列ラベリング概論
チャンキング(chunking) [5.5章] 言語表現の意味的あるいは文法的にまとまった部分を発見する研究
名詞句の抽出や人名抽出などが挙げられる
“Lunvalet”という人名が存在することを知らなくても、文脈から推測することが出来る
複数語からなる表現が人を指していることもある
B(人名開始単語),I(人名部),O(その他)のようにタグ付けがしたい
“After stubbing out the cigarette, Lunvalet talked to me.”人名
“Suddenly, the tall German guy talked to me.”O B I I I O O O
人
5.1 系列ラベリング概論B,I,Oのように抽出のための用いられるラベルをIOB2タグという
IOB2タグ付けも系列ラベリングの一種
系列ラベリングの問題点
可能なラベル列の組み合わせ数が膨大
[組み合わせ数] = [品詞種類数]の[要素数]乗 可能な品詞列を全て列挙して分類器を作成することは不可能
系列ラベリングには、特別な手法が必要となる
文書は文・単語の系列と見ることが出来るため、系列ラベリングは言語処理において非常に有用
目次
5.1:系列ラベリング概論
5.2:隠れマルコフモデル(HMM) 5.3:系列ラベリングの逐次的手法
5.4:条件付確率場(CRF) 5.5:まとめ
5.2 隠れマルコフモデル(HMM) 隠れマルコフモデル(Hidden Markov Model)
系列ラベリングに用いることが出来る非常にシンプルなモデル
通常は、ラベルの付いていない系列データのみが与えられたときにパラメータを推定する手法の事を指す。しかし、ここでは系列ラベリングのためのラベル付き訓練データが与えられている状態を想定している
要素
要素
要素
要素
要素
要素
ラベル
ラベル
ラベル
ラベル
ラベル
ラベル
5.2.1 HMMの導入
数式表記の定義
仮定
各状態は、その直前の状態のみに依存すると仮定
つまり、(xi,yi)は、(xi-1,yi-1)にのみ依存すると仮定
より詳細には、 xiはyiにのみ、 yiはyi-1にのみ依存すると仮定
ラベル列
系列
:),...,,(:),...,,(
21
21
k
k
yyyxxx
==
yx
5.2.1 HMMの導入xとyの同時確率は、以下の式で導出できる
簡単のため、ダミー要素(x0,y0)を用意し、以下の式を用いた
∏
∏
−
−−
−−−−−−
=
=
=
iiiii
iiiii
kkkkkkkk
yyPyxP
yxyxPyxyxPyxyxPyxyxPP
)|()|(
),|,(),|,()...,|,(),|,(),(
1
11
0011221111yx
)|()(),|,(),(
011
001111
yyPyPyxyxPyxP
==
5.2.2 パラメータ推定
の最尤推定解を求めることで、パラメータ を推定する
まず、対数尤度 を下式のように表す
)},(),...,,{(: )()()1()1( DDD yxyx=訓練データ
)'|(),|( yyPyxP
∑
∑
∑∑
∑ ∑∑
∑
+
=
+=
+=
=
∈−
∈
yyyy
yxyx
yyyx
D j
ij
ij
j
ij
ij
D
ii
q
p
yyPDyynyxPDyxn
yyPyxP
PDP
ii
ii
,''|
,|
',,
),(
)(1
)()()(
),(
)()(
log]yy'D[
log]yxD[
)'|(log)),,'(()|(log)),,((
)|(log)|(log
),(log)(log
)()(
)()(
が出現した回数の次にラベルで、ラベルデータ
が付与された回数にラベルで、データ
yx
yx
yx
)(log DP
5.2.2 パラメータ推定制約条件を考慮すると、最尤推定解は以下の問題を解くことで導出できる
ラグランジュ法を用いて、最大化するパラメータを求めると、以下の式になる
(演習問題1)
11..
log)),,'((log)),,((max
'||
','|
,|
==
+
∑∑
∑∑
yyy
xyx
yyyy
yxyx
ppts
qDyynpDyxn
∑
∑
=
=
x
yy
x
yx
DyynDyynq
DyxnDyxnp
)),,'(()),,'((
)),,(()),,((
'|
|
要素とラベル、ラベルとラベルの組み合わせの出現頻度をパラメータとしているだけなので、当たり前の結果
5.2.3 HMMの推論ある系列xが与えられたときの最適なラベル列yを求めたい
⇒この最適化問題を解きたい:しかし、冒頭に述べたように、ラベル列の組み合わせ数が膨大なので、全て列挙することは不可能
Viterbi algorithm(ヴィタビアルゴリズム) 上の最適化問題を効率的に解くアルゴリズム
一種の動的計画法
先頭の要素から順番にラベルを付与していく
),(maxargmax yxy Py
=
Viterbi algorithm Pseudocode(前半)入力:系列xfor j=2 to |x|
for all yj
end forend for
t(j,yj):要素jに対応するラベルがyjをとる条件のもと、確率が最大となるラベル列をとる確率。
s(j,yj):確率が最大となるラベルをとった場合のyj-1を保存。アルゴリズムの後半で使用。
)],1(),|,([logmaxarg),(
)],1(),|,([logmax),(
111
111
1
1
−−−
−−−
−+=
−+=
−
−
jjjjjy
j
jjjjjyj
yjtyxyxPyjs
yjtyxyxPyjt
j
j
全ての要素に対応する全てのラベルについて、どのラベルから遷移する確率が高いかを比較する
Viterbi algorithm Pseudocode(後半)前半部のイメージ
後半部
入力:t(|x|,y),s
for j=|x|-1 to 1
end for
)|,(|maxargmax|| yty
yxx =
),1( max1
max++= jj yjsy
最適なラベル列を後ろ側の要素から順に、逆向きに取り出している
最適なラベル列を探す
目次
5.1:系列ラベリング概論
5.2:隠れマルコフモデル(HMM) 5.3:系列ラベリングの逐次的手法
5.4:条件付確率場(CRF) 5.5:まとめ
5.3 通常の分類器の逐次適用
4章の分類器を逐次的に用いることで、系列ラベリングを行う方法もある Ex.
分類器はなんでもよい(Naïve Bayes/SVMなど)
分類器の逐次適用の特徴
直後の要素を用いる事もできる
各要素について、様々な素性を用いることが出来る
一般的に、計算時間が増大する
ラベル系列全体の確からしさは考慮していない
),,|( 111 −+− jjjjj yxxxyP
目次
5.1:系列ラベリング概論
5.2:隠れマルコフモデル(HMM) 5.3:系列ラベリングの逐次的手法
5.4:条件付確率場(CRF) 5.5:まとめ
5.4 条件付確率場(CRF) 条件付確率場(Conditional Random Field)
CRFと呼ばれることが多い
様々な素性を用いることが出来、またラベル系列全体の確からしさにも焦点を当てた学習を行えるモデル
4.5節の対数線形モデルを系列ラベリング問題へ適用したもの
が与えられたとする
この時、ラベル列の系列に対する条件付き確率を以下のようにおく
)},(),...,,{(: )()()1()1( DDD yxyx=訓練データ
⋅=
⋅=
∑y
wxwx
wx
y)Φ(x,w
w
y)Φ(x,wxy
)exp(:
:
)exp(1)|(
,,
,
ZZ
ZP
正規化係数
トル素性に対する重みベク
5.4.1 条件付確率場(CRF)の導入最適なラベル列を求めたい。よって、以下の最大化問題を解く
ただし、この最大化問題を解くのは非常に時間がかかるため、yは隣り合うラベルyt,yt-1にのみに依存するという条件をおく
y)Φ(x,w
y)Φ(x,wy
y
wxy
⋅=
⋅=∗
maxarg
)exp(1maxarg,Z
∑
∑
−
−
⋅=
⋅=⋅
tttk
tttk
yy
yy
),,(
),,(
1
1
xw
xwy)Φ(x,w
φ
φ
∑ −=t
ttkk yy ),,()( 1xyx, φφ
∑ −∗ ⋅=
tttk
yyy ),,(maxarg 1xwy φ
5.4.1 条件付確率場(CRF)の導入
上式ならば、wが分かっていればViterbi Algorithmで高速に解くことができる
モデルの拡張も容易に可能
∑ −∗ ⋅=
tttk
yyy ),,(maxarg 1xwy φ
)],1(),|,([logmaxarg),(
)],1(),|,([logmax),(
111
111
1
1
−−−
−−−
−+=
−+=
−
−
jjjjjy
j
jjjjjyj
yjtyxyxPyjs
yjtyxyxPyjt
j
j
)],1(),,([maxarg),(
)],1(),,([max),(
11
11
1
1
−−
−−
−+⋅=
−+⋅=
−
−
jjjy
j
jjjyj
yjtyyyjs
yjtyyyjt
j
j
xΦw
xΦw
∑ −−=t
tttkk yyy ),,,()( 21xyx, φφ
5.4.2 条件付確率場(CRF)の学習Wの学習方法
以下の目的関数を最大化する
しかし、上式は解析的に解くことが不可能
最急勾配法(1.2.2節)を用いる(準ニュートン法や確率的勾配法が用いられやすい)
∑∑ −⋅==DD
ZPL wxy)Φ(x,wxyw ,log)|(log)( 実際は、正則化項を加えた目的関数を最適化する場合が多い
2||)( ww CL −
∑ ∑
Φ−Φ=∇
∇+=
D
iiiiold
oldoldnew
PL
L
yw
w
yxxyyxw
www
),()|(),()(
)(
)()()()(
ε
系列ラベリングではyの組み合わせが膨大で、P(y|x)が計算不可能
5.4.2 条件付確率場(CRF)の学習
と変形することで、 が計算できればよい形となる
∑ ∑
∑ ∑∑
−
−−
−
Φ=
Φ=Φ
t yytt
iitt
ttt
iiii
tt
yyyyP
yyPP
1,1
)()(1
1)()()()(
),,()|,(
),,()|(),()|(
xx
xxyyxxyyy
)|,( )(1
itt yyP x−
と書けるので、
とおけば、
∏ −
−−
=
Φ⋅=
t
ttt
ttttt
ZyyP
yywyy
wxxy
x
,
1
11
),()|(
)),,(exp(),(ϕ
ϕ
∑ ∑ ∏
∑ ∑ ∏
∑ ∑
− ++
− ++
− ++
≠−
−
−
−
=
=
=
2:0 1:1
2:0 1:1
2:0 1:1
'1'''
,
1
'1'''
,
1
),(),(
),(1
)|()|,(
t Tt
t Tt
t Tt
ttttt
ttt
tttt
tt
yyZ
yy
yyZ
PyyP
y ywx
y ywx
y y
xyx
ϕϕ
ϕ
5.4.2 条件付確率場(CRF)の学習
),()1,(
),(),(
),(
1
1
1'1'''
1
1'1'''
'1'''
1:12:0
2:0 1:1
tyty
yyyy
yy
tt
T
ttttt
t
tttt
ttttt
Ttt
t Tt
βα
ϕϕ
ϕ
−=
=
−
+
+=−
−
=−
≠−
∑ ∏∑∏
∑ ∑ ∏
++−
− ++
yy
y y
=
=
∑ ∏
∑∏
++
−
+
+=−
=−
1:1
2:0
1
1'1'''
1'1'''
),(),(
),(),(
Tt
t
T
tttttt
t
ttttt
yyty
yyty
y
y
ϕβ
ϕα
),()1,(),(1)|,( 11,
1 tytyyyZ
yyP ttttttt βαϕ −= −−−wx
x
上式が高速に計算できればよい
∑
∑
∑
=
+=
−=
+
−
+++
−−
T
t
t
yT
yttttt
yttttt
TyZ
tyyyty
tyyyty
),(
)1,(),(),(
)1,(),(),(
,
111
11
1
1
α
βϕβ
αϕα
wx を利用すれば、DPを用いて高速に計算可能になる
α β
5.4.2 条件付確率場(CRF)の学習
を利用したこのような算法は、前向き・後ろ向きアルゴリズム
(forward-backward algorithm)の一種
一般のCRFは、系列上のノードだけでなく、グラフ上のノードのラベリング問題に適用可能(Ex.係り受け解析)
),(),,( tyty tt βα
目次
5.1:系列ラベリング概論
5.2:隠れマルコフモデル(HMM) 5.3:系列ラベリングの逐次的手法
5.4:条件付確率場(CRF) 5.5:まとめ
5.5 まとめ
系列ラベリング
隠れマルコフモデル(HMM) 分類器の逐次適用
条件付確率場(CRF)の3種について、説明をした
系列ラベリング全体としては、NLP2006チュートリアルも参照するとよ
いhttp://www.geocities.co.jp/Technopolis/5893/publication/NLP2006slide.pdf
HMMのforward-backward algorithm : Baum- Welch algorithm
これは、EM algorithmの一種(3.5節)
5.5 まとめ 分類器による逐次適用による系列ラベリングで特筆すべきもの
YamChaにも用いられているSVMを用いた系列ラベリング
CRFを自然言語処理に応用したものとして、MALLET,CRF++など
木構造に対してCRFを扱うには、確率伝播法(belief propagation)が必要
(Bishop本:8.4節)
チャンキングにはIOB2タグ以外にも、様々な変種が存在