数理 言語情報論 第 10 回
-
Upload
claire-pittman -
Category
Documents
-
view
49 -
download
0
description
Transcript of 数理 言語情報論 第 10 回
1
数理言語情報論 第 10 回
数理言語情報学研究室 講師 二宮 崇
2009 年 12 月 9 日
2
今日の講義の予定
品詞解析 ( 系列ラベリング ) 解析 ( ビタビアルゴリズム ) パラメータ推定 ( 前向き後向きアルゴリズム )
構文解析の教師無し学習 内側外側アルゴリズム
教科書 北研二 ( 著 ) 辻井潤一 ( 編 ) 言語と計算 4 確率的言語モデル 東
大出版会 C. D. Manning & Hinrich Schütze “FOUNDATIONS OF
STATISTICAL NATURAL LANGUAGE PROCESSING” MIT Press, 1999
Christopher M. Bishop “PATTERN RECOGNITION AND MACHINE LEARNING” Springer, 2006
3
EM アルゴリズム ( 一般 ) 1/3
パラメータ : θ 入力 : x 隠れ状態 : y 観測データ : X={x1, x2, …, xn}
対数尤度 : log pθ(X)
n
i ii
ii
Yii
n
i ii
ii
Yii
n
i ii
ii
ii
ii
Yii
n
iiiiiiiii
Yii
n
iiiii
Yii
n
ii
Yii
n
ii
q
pq
q
pq
q
p
q
pq
qpqpq
ppq
pqpXp
iiii
ii
ii
ii
ii
1 )(1 )(
1 )(
1 )(
1 )(
1 )(1
)|(
)|(log)|(
)|(
),(log)|(
)|(
)|(log
)|(
),(log)|(
)|(log)|(log)|(log),(log)|(
)|(log),(log)|(
)(log)|()(log)(log
xy
xyxy
xy
yxxy
xy
xy
xy
yxxy
xyxyxyyxxy
xyyxxy
xxyx
θ
xy
θ
xy
θθ
xy
θθxy
θθxy
θxy
θθ
4
EM アルゴリズム ( 一般 ) 2/3
パラメータ : θ 入力 : x 隠れ状態 : y 観測データ : X={x1, x2, …, xn}
対数尤度 : log pθ(X)
),(
)||(),()(log
θ
θθ
qL
pqKLqLXp
0)|(
)|(log)|()||(
)|(
),(log)|(),(
1 )(
1 )(
n
i ii
ii
xYyii
n
i ii
ii
xYyii
xyq
xypxyqpqKL
xyq
yxpxyqqL
ii
ii
θ
θθ
とおくと
ポイント !前ページのように式を展開するよりもここに
を代入して等式が成り立つことを確認するほうがわかりやすい
)(log)|(log),(log iiiii ppp xxyyx θθθ
5
EM アルゴリズム ( 一般 ) 3/3
E ステップ
M ステップ
)|())|(||)|((minarg)),|((maxarg)|( )()(
)|(
)(
)|(
)1(iiiiii
q
tii
qii
ttt
iiii
ppqKLqLq xyxyxyθxyxyθθ
xyxy
n
i Yiiii
ttt
ii
pqqL1 )(
)1()1()1( ),(log)|(maxarg),(maxargxy
θθθ
yxxyθθ
隠れ状態の確率とパラメータを交互に動かして、L を最大化
パラメータが固定されているので、 pθ(X) は変わらない→ L を最大化 ⇔ KL を最小化
Q 関数
6
POS TAGGING(SEQUENTIAL LABELING)
品詞解析 ( 系列ラベリング )
7
品詞解析
品詞タガー
“I have a pen.”
II havehave aa penpen ..
代名詞代名詞 動詞動詞 不定冠詞不定冠詞 名詞名詞 ピリオドピリオド
II havehave aa penpen ..
トーカナイザー
POS タガー
8
隠れマルコフモデル (1/3)
名詞
代名詞
動詞
不定冠詞
ピリオド
I
he
Mary
…
遷移 (transition)
出力 (emission)
代名詞代名詞 動詞動詞 不定冠詞不定冠詞 名詞名詞 ピリオドピリオド
II havehave aa penpen ..
文頭文頭
9
隠れマルコフモデル (2/3)
名詞
代名詞
動詞
不定冠詞
ピリオド
I
he
Mary
…
遷移 (transition)
出力 (emission)
代名詞代名詞 動詞動詞 不定冠詞不定冠詞 名詞名詞 ピリオドピリオド
II havehave aa penpen ..
文頭文頭
0.5 0.1
0.3
0.430.01
0.3
0.25
0.01
0.3
0.01
10
隠れマルコフモデル (3/3)
Q: 状態の有限集合Σ: 出力記号の有限集合q0: 初期状態a(i, j): 状態 i から状態 j への遷移確率
Σj∈Q a(i, j)=1
a(q0, i): 文頭が状態 i になる確率b(i, o): 状態 i における記号 o の出力確率
Σo Σ∈ b(i,o) = 1
11
状態と記号の列の確率生成確率と解析
状態と記号の列が与えられた時
記号列のみが与えられた時
n
iii
n
iii
nnnn
nnnnnn
nn
osbssa
osbosbosbssassassa
osbssaosbssaosbssaosososp
qsosososs
111
221112110
1222111102211
0022110
),(),(
),(),(),(),(),(),(
),(),(),(),(),(),()(
)(:
ただし状態と記号の列
)(maxarg~~~
)()(
:
2211,,
21
,,221121
21
21
21
nnQqQqQq
n
QqQqQqnnn
n
oqoqoqpqqq
oqoqoqpooop
ooo
n
n
記号列
( 品詞解析 )
( 生成確率 )
計算量が O(|Q|n )
QqQqQq
nnba
n
oqoqoqpba
,,
2211,
21
)(maxarg, ( パラメータ推定 )
12
効率的な品詞解析 : ビタビアルゴリズム (1/4)
動的計画法
状態 1
o1 o2 on
トレリス
o3
…
…
…
…
状態 2
状態 3
状態 4
δ(t, q): 時刻 t(ot が出力される時 ) に状態 q となる状態列の中で最大確率となる列の確率
maxq∈ Q δ(n, q) を求めれば良い時刻 1 2 3 n
出力記号
13
効率的な品詞解析 : ビタビアルゴリズム (2/4)
o1 o2 onot-1
状態 q
),(),(),1(max
),(),(),(),()(maxmax
),(),()(max),(
11
111122211,,
11111,,
1
211
11
tttQq
ttttttttQqQqQq
ttttQqQq
oqbqqaqt
oqbqqaoqbqqaoqoqp
oqbqqaoqoqpqt
t
tt
t
ot
…
…
…
…
…
…
…
…
状態 1
状態 2
…
…
最大確率で遷移したパスをバックポインタで保存
14
効率的な品詞解析 : ビタビアルゴリズム (3/4)
最後にバックポインタを辿ることで最大確率となる状態列が得られる
o1 o2 onon-2
状態 3
on-2
…
…
…
状態 1
状態 2
…
状態 4
15
効率的な品詞解析 : ビタビアルゴリズム (4/4)
δ[1,q] := a(q0, q) (for all q)
for t =2 to n for q ∈ Q δ[t, q] := maxq’∈Q {δ[t-1, q’]a(q’,q)b(q, ot)}
bp[t,q] := argmaxq’∈Q {δ[t-1, q’]a(q’,q)b(q, ot)}
16
パラメータ推定
パラメータ推定
前向きアルゴリズム後向きアルゴリズム前向き後向きアルゴリズムによる推定
QqQqQq
nnba
nba
n
n
oqoqoqpooop
ooo
,,2211
,21
,
21
21
)(maxarg)(maxarg
:記号列
17
前向きアルゴリズム (1/3)
動的計画法
状態 1
o1 o2 on
トレリス
o3
…
…
…
…
状態 2
状態 3
状態 4
α(t, q): o1 … ot を出力し、 ot が出力される時 ( 時刻 t) に状態 q である確率
Σq∈ Q α(n, q) を求めれば良い
時刻 1 2 3 n出力記号
18
前向きアルゴリズム (2/3)
o1 o2 onot-1
状態 q
Qqttt
Qq QqQqtttttttt
QqQqtttt
t
t t
t
oqbqqaqt
oqbqqaoqbqqaoqoqp
oqbqqaoqoqpqt
1
1 21
11
),(),(),1(
),(),(),(),()(
),(),()(),(
11
,,111122211
,,11111
ot
…
…
…
…
…
…
…
…
状態 1
状態 2
…
…
全ての遷移確率の和
19
α[1,q] := a(q0, q) (for all q)
for t =2 to n for q ∈ Q α[t, q] := Σq’∈Q {α[t-1, q’]a(q’,q)b(q, ot)}
前向きアルゴリズム (3/3)
20
後向きアルゴリズム (1/2)
前向きアルゴリズムを逆方向に適用 文末から文頭に向かって実行 向きが逆になることを除けば前向きアルゴリズムと
まったく同じ β(t, q) : 時刻 t に状態 q から始める状態遷移に
よって ot+1…on まで出力する確率
Qqtttt
Qq QqQqnnttttttttt
QqQqnntttttt
t
t nt
nt
qtoqbqqa
qooqpoqbqqaoqbqqa
qoqoqpoqbqqaqt
1
1 2
1
),1(),(),(
)(),(),(),(),(
)(),(),(),(
1111
,,322221111
,,221111
21
後向きアルゴリズム (2/2)
β[n,q] := 1 (for all q)for t := n-1 to 1 for q ∈ Q β[t, q] := Σq’∈Q {a(q, q’)b(q’, ot+1)β[t+1, q’]}
22
EM アルゴリズムによるパラメータ推定
パラメータ更新式
値に滞在する回数の期待状態値を出力する回数の期待に滞在し記号状態
待値から遷移する回数の期状態値へ遷移する回数の期待から状態状態
q
oqoqb
q
qqqqa
),('
')',('
23
状態列を列挙した場合の期待値
例 q, r, s の 3 つの状態があるとする ( 例えば、名詞、動詞、形容詞 ) o1o2o3 に対する状態列を列挙
状態列 確率qqqqqrqqsqrqqrrqrsqsqqsrqss
0.030.020.0080.020.0010.030.020.080.07
状態列 確率rqqrqrrqsrrqrrrrrsrsqrsrrss
0.0820.0850.0240.0110.0090.0980.0530.0550.001
状態列 確率sqqsqrsqssrqsrrsrsssqssrsss
0.0030.070.0080.0020.020.0050.0030.0180.008
q から r に遷移する回数の期待値 : 0.02+0.02+0.001+0.03+0.085+0.07=0.226
QqQq
nnn
n
rqqqqoqoqoqp
rq
,,212211
1
)()(
への遷移回数からにおける
値へ遷移する回数の期待から状態状態
24
前向き後向きアルゴリズム (1/2)
あるパラメータ a,b が与えられているとする α を求める ( 前向きアルゴリズム ) β を求める ( 後向きアルゴリズム )
γ(t,q,r): 記号列 o1…on に対し、時刻 t に状態 q から状態 r に遷移する確率
次のように a,b を更新する
n
t Qq
oot Qq
n
t Qq
n
t
qqt
qqt
q
oqoqb
qqt
qqt
q
qqqqa
t
1 ''
: ''
1 ''
1
)'',,(
)'',,(
),('
)'',,(
)',,('
)',('
値に滞在する回数の期待状態値を出力する回数の期待に滞在し記号状態
待値から遷移する回数の期状態値へ遷移する回数の期待から状態状態
25
前向き後向きアルゴリズム (2/2)
γ(t,q,r): 記号列 o1…on に対し、時刻 t に状態 qから状態 r に遷移する確率
t
qn
rtobrqaqtrqt
'
1
)',(
),1()(),(),(),,(
o1 o2 onot
状態 q
ot+1
…
…
…
…
…
…
…
……
…状態 r
前向き確率 後向き確率
26
INSIDE OUTSIDE ALGORITHM
内側外側アルゴリズム
27
PCFG の EM アルゴリズム
1. θ(0) := 適当な値2. [E ステップ ] θ(i) を用いて各構文木の確率を計
算。文 s に対する各構文木の相対確率を計算。
3. [M ステップ ] θ(i+1) を求める
4. 2. に戻る
Pr
trCirtp );()( )()(
)(
)(
)()|(
sTu
up
tpstp
Text
Text
s sTt
s sTtiA tsACstp
tsACstp
)(
)()1(
),;()|(
),;()|(
28
PCFG の EM アルゴリズム
[E ステップ ] 各構文木の文 s に対する確率 仮のパラメータ θ(i)を用いてフルパーズした結果の各々の構文木の確率を計算。 文 s に対するそれぞれの構文木の相対確率 p(t|s) を計算
[M ステップ ] パラメータ更新 書換規則の適用回数の期待値を計算 単純な数え上げと同じ方法でパラメータを求める s1
s2
s3
...
parse
parse
parse
...
...
p(t|s1)=p(t)/Z1 = 0.1 0.3 0.6
p(t|s2)=p(t)/Z 2= 1.0
p(t|s3)=p(t)/Z3 = 0.21 0.16 0.51 0.05 0.07
)(
)(isTt
i tpZ
C’(r;t) = 0.6×C(r; t)
29
PCFG に対する EM アルゴリズムの問題点
構文木が多すぎて現実的な時間で各構文木の相対確率を計算できない! ( 文長に対して指数爆発的に増加。簡単に数百億ぐらいになる。 )
s parse
p(t)/Z = 0.21 0.06 0.001 0.05 0.07
...
数百億続く!
30
内側外側アルゴリズム
畳みこまれた構文木集合に対して効率的に EMアルゴリズムを実行する手法
アイデアCKY アルゴリズムでフルパーズした後の CKY
テーブルから構文木を展開することなく各書換規則の適用回数の期待値が計算できればよい
バイナリールールを仮定し、内側確率と外側確率を動的計画法で効率的に計算
内側確率と外側確率から書換規則の適用回数の期待値が計算
31
内側確率
内側確率 β(i,j,A)非終端記号 A から単語列 wi+1,...,wj を導出する
確率 (= 単語列 wi+1,...,wj を構文解析してルート( 根 ) が A となる構文木集合の確率の和 )
w1,...,wi wj+1,...,wnwi+1, ..................,wj
A
32
内側確率の計算
Si,jをビタビアルゴリズムと同様に計算 ただし、ファクタリングの際に max をとっていたのを sum にする
Si,j: <X, p> の集合 (X: 非終端記号 , p: 部分木の確率 ) Si,jの求め方for k = i+1 to j-1 forall <B, pX>∈ Si,k
forall <C, pY>∈ Sk,j
forall A ∈ G(B, C) if( <A, p> exists in Si,j )
p := p + pX×pY×θZ→X Y
else Si,j := Si,j ∪ <A, pX×pY×θZ→X Y>
sum を max にするとビタビアルゴリズムになる
33
外側確率
外側確率 α(i,j,B)S( 開始記号 ) から w1...wiBwj+1...wn を導出す
る確率
w1,...,wi wj+1,...,wnwi+1, ..................,wj
B
S
外側確率計算のアイデア
バイナリールールなので、次の 2 通りとAC の組み合わせから α(i,j,B) が計算できるA→B C: A の外側確率 ×C の内側確率 ×θA→B C
A→C B :A の外側確率 ×C の内側確率 ×θA→C B
w1..wi wk+1..wnwi+1 ..wj
B
S
C
A
wj+1 ..wkw1..wk wj+1..wnwi+1 ..wj
B
S
C
A
wk+1 ..wi
35
外側確率の計算
α(i,j,B) の計算
CA ikCBA
CA
n
jkBCA
CikAjk
CkjAkiBji
,
0
1
, 1
),,(),,(
),,(),,(),,(
36
外側確率の計算
α(i,j,X) の計算の順番
S0,1 S1,2 S2,3 S3,4
S0,2 S1,3 S2,4
S0,3 S1,4
S0,4
S4,5 S5,6
S3,5 S4,6
S2,5 S3,6
S1,5 S2,6
S0,5 S1,6
S0,6
w1 w2 w3 w4 w5 w6
0 1 2 3 4 5 6
スタート
37
外側確率計算アルゴリズム
フルパージングと内側確率計算後を仮定for all 0 ≦i < j n, X V≦ ∈ N
α(i,j,X) := 0
α(0,n,S) := 1.0
for l = n – 1 to 1
for i = 0 to n - l
j := i + l
forall Ai,j → Bi,k Ck,j in Si,j
α(i, k, B):=α(i, k, B)+α(i,j,A)×β(k,j,C)×θA→ B C
α(k, j, C):=α(k, j, C)+α(i,j,A)×β(i,k,B)×θA→B C
Ai,j → Bi,k Ck,j in Si,j はフルパージングの際に Si,j 中の非終端記号 A を生成するに到った履歴・書換規則が A→B C・ B は Si,k の中の要素・ C は Sk,j の中の要素
38
書換規則の適用回数の期待値
内側確率と外側確率を使って書換規則の適用回数の期待値を計算
Ai,j→Bi,k Ck,j の適用回数の期待値 = Ai,j→Bi,k Ck,j の出現した構文木の確率の和
s parse
p(t)/Z = 0.21 0.16 0.07
...Ai,j
Bi,k Ck,j
Ai,j
Bi,k Ck,j
Ai,j
Bi,k Ck,j
39
書換規則の適用回数の期待値
Ai,j→Bi,k Ck,j の適用回数の期待値 =1/Z×(Ai,j→Bi,k Ck,j の出現した構文木の確率の和 )
=1/Z×(Bi,k の内側確率 ×Ck,j の内側確率 ×θA→B C×Ai,j の外側確率 )
w1..wi wj+1..wnwi+1 ..wk
B
S
C
A
wk+1 ..wj
40
書換規則の適用回数の期待値
),,0()(
),,(),,(),,()(
1);(
),,(),,(),,()(
1)|(
1
0 2
1
1
,,,
Snsp
CjkBkiAjisp
sBCAC
CjkBkiAjisp
sCBAp
n
i
n
ij
j
ikBCA
BCAjkkiji
41
内側外側アルゴリズム
1. θ(0) := 適当な値2. [E ステップ ] θ(i)を用いて内側確率と外側確率を計算。3. [M ステップ ] 書換規則の適用回数の期待値を計算。 θ(i+1)を
求める
4. 2. に戻る
Text
Text
s CB
siBCA sBCAC
sBCAC
,
)1(
);(
);(
1
0 2
1
1
),,(),,(),,(),,0(
1);('
n
i
n
ij
j
ikBCA CjkBkiAji
SnsBCAC
42
まとめ
品詞解析 ( 系列ラベリング ) 解析 ( ビタビアルゴリズム ) パラメータ推定 ( 前向き後向きアルゴリズム )
構文解析の教師無し学習 内側外側アルゴリズム
次回は、 12/16( 水 ) 16:30 ~ 確率的 HPSG ( 単一化アルゴリズム、フルパージングアルゴリズム、確率的HPSG)
講義資料 http://www.r.dl.itc.u-tokyo.ac.jp/~ninomi/mistH21w/cl/