数理 言語情報論 第 10 回

42
数数数数数数数 数 10 数 数数数数数数数数数数 数数 数数 2009 数 12 数 9 数 1

description

数理 言語情報論 第 10 回. 2009 年 12 月 9 日. 数理言語情報学研究室 講師 二宮 崇. 今日の講義の予定. 品詞解析 ( 系列ラベリング ) 解析 ( ビタビアルゴリズム ) パラメータ推定 ( 前向き後向きアルゴリズム ) 構文解析の教師無し学習 内側外側アルゴリズム 教科書 北研二 ( 著 ) 辻井潤一 ( 編 ) 言語と計算 4 確率的言語モデル 東大出版会 - PowerPoint PPT Presentation

Transcript of 数理 言語情報論 第 10 回

Page 1: 数理 言語情報論 第 10 回

1

数理言語情報論 第 10 回

数理言語情報学研究室 講師 二宮 崇

2009 年 12 月 9 日

Page 2: 数理 言語情報論 第 10 回

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

Page 3: 数理 言語情報論 第 10 回

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

θθ

Page 4: 数理 言語情報論 第 10 回

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 θθθ

Page 5: 数理 言語情報論 第 10 回

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 関数

Page 6: 数理 言語情報論 第 10 回

6

POS TAGGING(SEQUENTIAL LABELING)

品詞解析 ( 系列ラベリング )

Page 7: 数理 言語情報論 第 10 回

7

品詞解析

品詞タガー

“I have a pen.”

II havehave aa penpen ..

代名詞代名詞 動詞動詞 不定冠詞不定冠詞 名詞名詞 ピリオドピリオド

II havehave aa penpen ..

トーカナイザー

POS タガー

Page 8: 数理 言語情報論 第 10 回

8

隠れマルコフモデル (1/3)

名詞

代名詞

動詞

不定冠詞

ピリオド

I

he

Mary

遷移 (transition)

出力 (emission)

代名詞代名詞 動詞動詞 不定冠詞不定冠詞 名詞名詞 ピリオドピリオド

II havehave aa penpen ..

文頭文頭

Page 9: 数理 言語情報論 第 10 回

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

Page 10: 数理 言語情報論 第 10 回

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

Page 11: 数理 言語情報論 第 10 回

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, ( パラメータ推定 )

Page 12: 数理 言語情報論 第 10 回

12

効率的な品詞解析 : ビタビアルゴリズム (1/4)

動的計画法

状態 1

o1 o2 on

トレリス

o3

状態 2

状態 3

状態 4

δ(t, q): 時刻 t(ot が出力される時 ) に状態 q となる状態列の中で最大確率となる列の確率

maxq∈ Q δ(n, q) を求めれば良い時刻 1 2 3 n

出力記号

Page 13: 数理 言語情報論 第 10 回

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

最大確率で遷移したパスをバックポインタで保存

Page 14: 数理 言語情報論 第 10 回

14

効率的な品詞解析 : ビタビアルゴリズム (3/4)

最後にバックポインタを辿ることで最大確率となる状態列が得られる

o1 o2 onon-2

状態 3

on-2

状態 1

状態 2

状態 4

Page 15: 数理 言語情報論 第 10 回

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)}

Page 16: 数理 言語情報論 第 10 回

16

パラメータ推定

パラメータ推定

前向きアルゴリズム後向きアルゴリズム前向き後向きアルゴリズムによる推定

QqQqQq

nnba

nba

n

n

oqoqoqpooop

ooo

,,2211

,21

,

21

21

)(maxarg)(maxarg

:記号列

Page 17: 数理 言語情報論 第 10 回

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出力記号

Page 18: 数理 言語情報論 第 10 回

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

全ての遷移確率の和

Page 19: 数理 言語情報論 第 10 回

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)

Page 20: 数理 言語情報論 第 10 回

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

Page 21: 数理 言語情報論 第 10 回

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’]}

Page 22: 数理 言語情報論 第 10 回

22

EM アルゴリズムによるパラメータ推定

パラメータ更新式

値に滞在する回数の期待状態値を出力する回数の期待に滞在し記号状態

待値から遷移する回数の期状態値へ遷移する回数の期待から状態状態

q

oqoqb

q

qqqqa

),('

')',('

Page 23: 数理 言語情報論 第 10 回

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

)()(

への遷移回数からにおける

値へ遷移する回数の期待から状態状態

Page 24: 数理 言語情報論 第 10 回

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

)'',,(

)'',,(

),('

)'',,(

)',,('

)',('

値に滞在する回数の期待状態値を出力する回数の期待に滞在し記号状態

待値から遷移する回数の期状態値へ遷移する回数の期待から状態状態

Page 25: 数理 言語情報論 第 10 回

25

前向き後向きアルゴリズム (2/2)

γ(t,q,r): 記号列 o1…on に対し、時刻 t に状態 qから状態 r に遷移する確率

Qq

t

qn

rtobrqaqtrqt

'

1

)',(

),1()(),(),(),,(

o1 o2 onot

状態 q

ot+1

……

…状態 r

前向き確率 後向き確率

Page 26: 数理 言語情報論 第 10 回

26

INSIDE OUTSIDE ALGORITHM

内側外側アルゴリズム

Page 27: 数理 言語情報論 第 10 回

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(

),;()|(

),;()|(

Page 28: 数理 言語情報論 第 10 回

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)

Page 29: 数理 言語情報論 第 10 回

29

PCFG に対する EM アルゴリズムの問題点

構文木が多すぎて現実的な時間で各構文木の相対確率を計算できない! ( 文長に対して指数爆発的に増加。簡単に数百億ぐらいになる。 )

s parse

p(t)/Z = 0.21 0.06 0.001 0.05 0.07

...

数百億続く!

Page 30: 数理 言語情報論 第 10 回

30

内側外側アルゴリズム

畳みこまれた構文木集合に対して効率的に EMアルゴリズムを実行する手法

アイデアCKY アルゴリズムでフルパーズした後の CKY

テーブルから構文木を展開することなく各書換規則の適用回数の期待値が計算できればよい

バイナリールールを仮定し、内側確率と外側確率を動的計画法で効率的に計算

内側確率と外側確率から書換規則の適用回数の期待値が計算

Page 31: 数理 言語情報論 第 10 回

31

内側確率

内側確率 β(i,j,A)非終端記号 A から単語列 wi+1,...,wj を導出する

確率 (= 単語列 wi+1,...,wj を構文解析してルート( 根 ) が A となる構文木集合の確率の和 )

w1,...,wi wj+1,...,wnwi+1, ..................,wj

A

Page 32: 数理 言語情報論 第 10 回

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 にするとビタビアルゴリズムになる

Page 33: 数理 言語情報論 第 10 回

33

外側確率

外側確率 α(i,j,B)S( 開始記号 ) から w1...wiBwj+1...wn を導出す

る確率

w1,...,wi wj+1,...,wnwi+1, ..................,wj

B

S

Page 34: 数理 言語情報論 第 10 回

外側確率計算のアイデア

バイナリールールなので、次の 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

Page 35: 数理 言語情報論 第 10 回

35

外側確率の計算

α(i,j,B) の計算

CA ikCBA

CA

n

jkBCA

CikAjk

CkjAkiBji

,

0

1

, 1

),,(),,(

),,(),,(),,(

Page 36: 数理 言語情報論 第 10 回

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

スタート

Page 37: 数理 言語情報論 第 10 回

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 の中の要素

Page 38: 数理 言語情報論 第 10 回

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

Page 39: 数理 言語情報論 第 10 回

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

Page 40: 数理 言語情報論 第 10 回

40

書換規則の適用回数の期待値

),,0()(

),,(),,(),,()(

1);(

),,(),,(),,()(

1)|(

1

0 2

1

1

,,,

Snsp

CjkBkiAjisp

sBCAC

CjkBkiAjisp

sCBAp

n

i

n

ij

j

ikBCA

BCAjkkiji

Page 41: 数理 言語情報論 第 10 回

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

Page 42: 数理 言語情報論 第 10 回

42

まとめ

品詞解析 ( 系列ラベリング ) 解析 ( ビタビアルゴリズム ) パラメータ推定 ( 前向き後向きアルゴリズム )

構文解析の教師無し学習 内側外側アルゴリズム

次回は、 12/16( 水 ) 16:30 ~ 確率的 HPSG ( 単一化アルゴリズム、フルパージングアルゴリズム、確率的HPSG)

講義資料 http://www.r.dl.itc.u-tokyo.ac.jp/~ninomi/mistH21w/cl/