pcfg の em アルゴリズムとスムージング
DESCRIPTION
PCFG の EM アルゴリズムとスムージング. 二宮 崇. 今日の講義の予定. P CFG (Probabilistic Context Free Grammar, 確率付 文脈自由文法 ) EM アルゴリズム スムージング 教科書 北研二 ( 著 ) 辻井潤一 ( 編 ) 言語と計算 4 確率的言語モデル 東大出版会 C. D. Manning & Hinrich Schütze “FOUNDATIONS OF STATISTICAL NATURAL LANGUAGE PROCESSING” MIT Press, 1999 - PowerPoint PPT PresentationTRANSCRIPT
1
PCFG の EM アルゴリズムとスムージング
二宮 崇
2
今日の講義の予定
PCFG (Probabilistic Context Free Grammar, 確率付文脈自由文法 ) EM アルゴリズム スムージング
教科書 北研二 ( 著 ) 辻井潤一 ( 編 ) 言語と計算 4 確率的言語モデル 東大
出版会 C. D. Manning & Hinrich Schütze “FOUNDATIONS OF
STATISTICAL NATURAL LANGUAGE PROCESSING” MIT Press, 1999
D. Jurafsky, J. H. Martin, A. Kehler, K.V. Linden & N. Ward “Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition” Prentice Hall Series in Artificial Intelligence, 2000
3
PCFG の最尤推定
次の二文を訓練データとして、パラメータ推定 “John sees Mary with_a_telescope” “Mary with_a_telescope runs” r Pr
S → NP VP 1.0
VP → VP PP θ1
VP → V NP θ2
VP → V θ3
NP → NP PP θ4
NP → John θ5
NP → Mary θ6
PP → with_a_telescope 1.0
V → sees θ7
V → runs θ8
4
PCFG の最尤推定
S
NP VP
John
with_a_telescope
V
NP
Mary
sees
構文木 t1,1
PP
NP
構文木 t1,2 S
VP
John
with_a_telescope
V NP
Marysees
PP
VPNP
構文木 t2,1 S
VP
with_a_telescope
VNP
Mary runs
PP
NP
θ1
θ2
θ2θ5 θ5
θ7
θ7θ6θ6
θ4
θ3
θ8
θ4
θ6
ts,u: sは文 ID
uは sに対する構文木集合の中での各々の木 ID
5
PCFG の最尤推定
問題
1
1
1
))((maxarg~
87
654
321
86437652176542
θ
θ
PCFGの場合この制約を満たすように最大値を求めなければならない制約付き極値問題⇒ラグランジュの未定乗数法
文 1に対する確率 文 2に対する確率
6
PCFG の最尤推定
ラグランジュの未定乗数法
0,...,0,0
)(...)()()(
0)(,...,0)()(maxarg
21
11
1
n
mm
m
LLL
ggfL
ggf
θθθθ
θθθθ
ただし
)1(
)1()1(
))(()(
873
65423211
86437652176542
θL
7
PCFG の最尤推定
結果θ1= 0.081357
θ2= 0.459321
θ3= 0.459321
θ4= 0.377964
θ5= 0.207345
θ6= 0.41469
θ7= 0.5
θ8= 0.5
r Pr
S → NP VP 1.0
VP → VP PP θ1
VP → V NP θ2
VP → V θ3
NP → NP PP θ4
NP → John θ5
NP → Mary θ6
PP → with_a_telescope 1.0
V → sees θ7
V → runs θ8
8
EM アルゴリズム
最尤推定をコンピュータで行うためによく用いられるアルゴリズム
アルゴリズム1. θ := 適当な値2. [E ステップ ] θ を用いて各構文木の確率を計
算3. [M ステップ ] 全体の尤度がより高くなる新
しい θ を求める4. 2. に戻る
9
EM アルゴリズム : E ステップ
θ(i): 前回求めたパラメータ各構文木の確率
)(8
)(6
)(4
)(3
)(1,2
)(7
)(6
)(5
)(2
)(1
)(2,1
)(7
)(6
)(5
)(4
)(2
)(1,1
);(
);(
);(
iiiii
iiiiii
iiiiii
tp
tp
tp
θ
θ
θ
10
EM アルゴリズム : M ステップ
書換規則の適用回数r Pr C(r; t11) C(r; t12) C(r; t21) C’(r; t11) C’(r; t12) C’(r; t21)
S → NP VP 1.0 1 1 1 ? ? 1
VP → VP PP θ1 0 1 0 ? ? 0
VP → V NP θ2 1 1 0 ? ? 0
VP → V θ3 0 0 1 ? ? 1
NP → NP PP θ4 1 0 1 ? ? 1
NP → John θ5 1 1 0 ? ? 0
NP → Mary θ6 1 1 1 ? ? 1
PP → with_a_telescope
1.0 1 1 0 ? ? 0
V → sees θ7 1 1 0 ? ? 0
V → runs θ8 0 0 1 ? ? 1
);()()(
)();(' 11
1211
1111 trC
tptp
tptrC
11
EM アルゴリズム : M ステップ
各構文木ごとの書換規則の適用回数の期待値
更新パラメータ
);()(
)();(' ,
,
,, us
vvs
usus trC
tp
tptrC
)(
)()1(
AC
ACiA
12
EM アルゴリズムの心
S
NP VP
John
with_a_telescope
V
NP
Mary
sees
構文木 t11
PP
NP
構文木 t12 S
VP
John
with_a_telescope
V NP
Marysees
PP
VPNP
構文木 t21 S
VP
with_a_telescope
VNP
Mary runs
PP
NP
θ1
θ2
θ2θ5 θ5
θ7
θ7θ6θ6
θ4
θ3
θ8
θ4
θ6
・新しいパラメータは単純な数え上げと同様に書換規則の適用頻度から求まる・ただし、曖昧性のある文に対しては、書換規則の適用頻度の期待値として数え上げる・構文木の確率は現在のパラメータから求まる
13
EM アルゴリズム : まとめ
1. θ(0) := 適当な値2. [E ステップ ] θ(i) を用いて各構文木の確率を
計算
3. [M ステップ ] θ(i+1) を求める
4. 2. に戻る
Pr
trCirtp );()( )()(
);()(
)();(' ,
,
,, us
vvs
usus trC
tp
tptrC
)(
)()1(
AC
ACiA
14
EM アルゴリズム ( 一般 ) 1/2
パラメータ : θ入力 : x隠れ状態 : zデータ : S={x(1), x(2), …, x(n)}
対数尤度 : LS(θ)
),()|(
),(log)|(
)|(
),()|(log),(log)]([log)(
θxz
zxxz
xz
zxxzzxxθ
z
θ
z
θ
zθθ
qFq
pq
q
pqppL
S
SSSS
(Jensenの不等式 )
iiS f
nf )(
1)]([ )(xx
15
EM アルゴリズム ( 一般 ) 2/2
E ステップ
M ステップ
)|())|(||)|((minarg),(maxarg)|( )()(
)|(
)(
)|(
)1( xzxzxzθxzθθ
xzxztt ppqKLqFq
q
t
q
t
zθ
θθzxxzθθ ),(log)|(maxarg),(maxarg )1()1()1( pqqF t
Stt
)(
)(log)||(
p
qpqKL q
隠れ状態の確率とパラメータを交互に動かして、Fを最大化
16
EM アルゴリズム : 局所解
極値を求めているので最適解とは限らない良い解が得られるかどうかは初期値に依存
している色々な初期値を試す他の頻度情報を使って初期値を設定
17
EM アルゴリズム : 結果
i θ1 θ2 θ3 θ4 θ5 θ6 θ7 θ8
1 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
2 0.2 0.4 0.4 0.333333 0.222222 0.444444 0.5 0.5
3 0.157895 0.421053 0.421053 0.351351 0.216216 0.432432 0.5 0.5
4 0.13422 0.43289 0.43289 0.360334 0.213222 0.426444 0.5 0.5
5 0.119484 0.440258 0.440258 0.365563 0.211479 0.422958 0.5 0.5
6 0.109661 0.44517 0.44517 0.368908 0.210364 0.420728 0.5 0.5
53 0.081358 0.459321 0.459321 0.377964 0.207345 0.414691 0.5 0.5
54 0.081358 0.459321 0.459321 0.377964 0.207345 0.41469 0.5 0.5
55 0.081358 0.459321 0.459321 0.377964 0.207345 0.41469 0.5 0.5
56 0.081357 0.459321 0.459321 0.377964 0.207345 0.41469 0.5 0.5
57 0.081357 0.459321 0.459321 0.377964 0.207345 0.41469 0.5 0.5
.......
18
おまけ : 解析的に求めるのが難しい PCFG の例“ 太郎が花子と映画を褒める”
S
NPVP
N
が太郎
褒める
NP
PP
を
N
NN
と花子 映画
構文木 t1
PP
PP
p(t1) = θ3θ4θ5θ6θ7θ8θ9θ10θ11θ12
p(t2) = θ42θ5θ6θ7θ8θ9θ10θ11θ12
θ3+θ9+θ10+θ11=1, θ4+θ5=1, θ6+θ7+θ8=1, θ12+θ13=1
V
VP
S
NP VP
Nが
太郎
褒める
NP
PP
を
NP
N
N
と花子
映画
構文木 t2
PP
PP
V
VP
VP
r Pr
S → NP VP θ1
NP → N PP θ2
N → N PP N θ3
VP → NP VP θ4
VP → V θ5
PP → が θ6
PP → を θ7
PP → と θ8
N → 太郎 θ9
N → 花子 θ10
N → 映画 θ11
V → 褒める θ12
V → 見る θ13
19
頻度のディスカウンティング
ゼロ頻度問題ある単語がたまたま訓練コーパス中に出現し
なかったら、その単語に対するパラメータは0 になってしまう
その単語が出現するテストコーパスの構文木の確率は 0 になってしまう !
対策 : 出現回数を補正
20
加算法 (additive method)
ラプラス法 頻度に 1 を加える
N: 訓練データ中に出現した単語の総数V: 出現確率の合計を 1 にするための定数 (n 単語列の異なり総
数に等しい ) 一般の方法 ( リッドストーン法とも呼ばれる )
頻度に小さな値 (δ) を加える
δ=1/2 の時、予期尤度推定法 (expected likelihood estimation) 、あるいはジェフリース・パークス法を呼ばれる
VN
wwCwwp n
n
1)(
)( 11
VN
wwCwwp n
n
)(
)( 11
21
ヘルドアウト推定法
訓練データを二分割訓練データヘルドアウトデータ (Chをヘルドアウトデータ中の出現回
数とする ) 訓練データでの出現回数をヘルドアウトデータでの
出現回数で置き換える
))(()(
)(
1
11
)(:1
)(:
11
11
nr
rn
rwwCwwn
hr
rwwCwwr
wwCrNN
Cwwp
wwCC
N
nn
nn
ただし、
22
削除推定法 (deleted estimation)
ヘルドアウト推定法のクロスバリデーション版訓練データとヘルドアウトデータの役割をさ
らに交換すれば 2 倍データが増える
23
グッド・チューリング推定法(Good-Turing estimation)
出現回数の補正値として次の r* を用いる
出現確率r
r
rwwCwwr
N
Nrr
Nnn
1
)(:
)1(*
111
0)(
0)(*
)(1
0
1
1
1
n
n
n
wwCNN
N
wwCN
r
wwp
24
各種推定法による比較
AP コーパス中の 2 単語組の出現回数の推定最尤推定 ラプラス法 ヘルドアウト
法削除推定法 グッド・チューリ
ング法0 0.000137 0.0000270 0.0000374 0.0000270
1 0.000274 0.448 0.396 0.446
2 0.000411 1.25 1.24 1.26
3 0.000548 2.24 2.23 2.24
4 0.000685 3.23 3.22 3.24
5 0.000822 4.21 4.22 4.22
6 0.000959 5.23 5.20 5.19
7 0.001096 6.21 6.21 6.21
8 0.001233 7.21 7.18 7.24
9 0.001370 8.26 8.18 8.25
25
まとめ
PCFG と EM アルゴリズムEM アルゴリズムディスカウンティング