pcfg の em アルゴリズムとスムージング

25
PCFG の EM ののののののののののののの のの 1

Upload: vernon

Post on 04-Jan-2016

133 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: PCFG の EM アルゴリズムとスムージング

1

PCFG の EM アルゴリズムとスムージング

二宮 崇

Page 2: 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

Page 3: PCFG の EM アルゴリズムとスムージング

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

Page 4: PCFG の EM アルゴリズムとスムージング

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

Page 5: PCFG の EM アルゴリズムとスムージング

5

PCFG の最尤推定

問題

1

1

1

))((maxarg~

87

654

321

86437652176542

θ

θ

PCFGの場合この制約を満たすように最大値を求めなければならない制約付き極値問題⇒ラグランジュの未定乗数法

文 1に対する確率 文 2に対する確率

Page 6: PCFG の EM アルゴリズムとスムージング

6

PCFG の最尤推定

ラグランジュの未定乗数法

0,...,0,0

)(...)()()(

0)(,...,0)()(maxarg

21

11

1

n

mm

m

LLL

ggfL

ggf

θθθθ

θθθθ

ただし

)1(

)1()1(

))(()(

873

65423211

86437652176542

θL

Page 7: PCFG の EM アルゴリズムとスムージング

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

Page 8: PCFG の EM アルゴリズムとスムージング

8

EM アルゴリズム

最尤推定をコンピュータで行うためによく用いられるアルゴリズム

アルゴリズム1. θ := 適当な値2. [E ステップ ] θ を用いて各構文木の確率を計

算3. [M ステップ ] 全体の尤度がより高くなる新

しい θ を求める4. 2. に戻る

Page 9: PCFG の EM アルゴリズムとスムージング

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

θ

θ

θ

Page 10: PCFG の EM アルゴリズムとスムージング

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

Page 11: PCFG の EM アルゴリズムとスムージング

11

EM アルゴリズム : M ステップ

各構文木ごとの書換規則の適用回数の期待値

更新パラメータ

);()(

)();(' ,

,

,, us

vvs

usus trC

tp

tptrC

)(

)()1(

AC

ACiA

Page 12: PCFG の EM アルゴリズムとスムージング

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

・新しいパラメータは単純な数え上げと同様に書換規則の適用頻度から求まる・ただし、曖昧性のある文に対しては、書換規則の適用頻度の期待値として数え上げる・構文木の確率は現在のパラメータから求まる

Page 13: PCFG の EM アルゴリズムとスムージング

13

EM アルゴリズム : まとめ

1. θ(0) := 適当な値2. [E ステップ ] θ(i) を用いて各構文木の確率を

計算

3. [M ステップ ] θ(i+1) を求める

4. 2. に戻る

Pr

trCirtp );()( )()(

);()(

)();(' ,

,

,, us

vvs

usus trC

tp

tptrC

)(

)()1(

AC

ACiA

Page 14: PCFG の EM アルゴリズムとスムージング

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

Page 15: PCFG の EM アルゴリズムとスムージング

15

EM アルゴリズム ( 一般 ) 2/2

E ステップ

M ステップ

)|())|(||)|((minarg),(maxarg)|( )()(

)|(

)(

)|(

)1( xzxzxzθxzθθ

xzxztt ppqKLqFq

q

t

q

t

θθzxxzθθ ),(log)|(maxarg),(maxarg )1()1()1( pqqF t

Stt

)(

)(log)||(

p

qpqKL q

隠れ状態の確率とパラメータを交互に動かして、Fを最大化

Page 16: PCFG の EM アルゴリズムとスムージング

16

EM アルゴリズム : 局所解

極値を求めているので最適解とは限らない良い解が得られるかどうかは初期値に依存

している色々な初期値を試す他の頻度情報を使って初期値を設定

Page 17: PCFG の 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

.......

Page 18: PCFG の EM アルゴリズムとスムージング

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

Page 19: PCFG の EM アルゴリズムとスムージング

19

頻度のディスカウンティング

ゼロ頻度問題ある単語がたまたま訓練コーパス中に出現し

なかったら、その単語に対するパラメータは0 になってしまう

その単語が出現するテストコーパスの構文木の確率は 0 になってしまう !

対策 : 出現回数を補正

Page 20: PCFG の EM アルゴリズムとスムージング

20

加算法 (additive method)

ラプラス法 頻度に 1 を加える

N: 訓練データ中に出現した単語の総数V: 出現確率の合計を 1 にするための定数 (n 単語列の異なり総

数に等しい ) 一般の方法 ( リッドストーン法とも呼ばれる )

頻度に小さな値 (δ) を加える

δ=1/2 の時、予期尤度推定法 (expected likelihood estimation) 、あるいはジェフリース・パークス法を呼ばれる

VN

wwCwwp n

n

1)(

)( 11

VN

wwCwwp n

n

)(

)( 11

Page 21: PCFG の EM アルゴリズムとスムージング

21

ヘルドアウト推定法

訓練データを二分割訓練データヘルドアウトデータ (Chをヘルドアウトデータ中の出現回

数とする ) 訓練データでの出現回数をヘルドアウトデータでの

出現回数で置き換える

))(()(

)(

1

11

)(:1

)(:

11

11

nr

rn

rwwCwwn

hr

rwwCwwr

wwCrNN

Cwwp

wwCC

N

nn

nn

ただし、

Page 22: PCFG の EM アルゴリズムとスムージング

22

削除推定法 (deleted estimation)

ヘルドアウト推定法のクロスバリデーション版訓練データとヘルドアウトデータの役割をさ

らに交換すれば 2 倍データが増える

Page 23: PCFG の EM アルゴリズムとスムージング

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

Page 24: PCFG の EM アルゴリズムとスムージング

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

Page 25: PCFG の EM アルゴリズムとスムージング

25

まとめ

PCFG と EM アルゴリズムEM アルゴリズムディスカウンティング