29
人人人人人人 II 人 12 人 人人 1

人工知能特論 II  第 12 回

  • Upload
    vala

  • View
    58

  • Download
    2

Embed Size (px)

DESCRIPTION

人工知能特論 II  第 12 回. 二宮 崇. 今日の講義の予定. 系列ラベリングのための確率的識別モデル (Linear-chain CRF) 解析 ( ビタビアルゴリズム ) 学習 ( 前向き後ろ向きアルゴリズム ) 教科書 高村 大也 ( 著 ), 奥村 学 ( 監修 ) 言語処理のための機械学習入門 ( 自然言語処理シリーズ ), コロナ社 , 2010 - PowerPoint PPT Presentation

Citation preview

Page 1: 人工知能特論 II  第 12 回

1

人工知能特論 II  第 12 回二宮 崇

Page 2: 人工知能特論 II  第 12 回

2

今日の講義の予定

系列ラベリングのための確率的識別モデル (Linear-chain CRF) 解析 ( ビタビアルゴリズム ) 学習 ( 前向き後ろ向きアルゴリズム )

教科書 高村 大也 ( 著 ), 奥村 学 ( 監修 ) 言語処理のための機械学習入門

( 自然言語処理シリーズ ), コロナ社 , 2010 Yusuke Miyao (2006) From Linguistic Theory to Syntactic

Analysis: Corpus-Oriented Grammar Development and Feature Forest Model, Ph.D Thesis, University of Tokyo

Jun’ichi Kazama (2004) Improving Maximum Entropy Natural Language Processing by Uncertainty-aware Extensions and Unsupervised Learning, Ph.D. Thesis, University of Tokyo

Cristopher M. Bishop “PATTERN RECOGNITION AND MACHINE LEARNING” Springer, 2006

Page 3: 人工知能特論 II  第 12 回

3

LINEAR-CHAIN CRF系列ラベリングのための確率的識別モデル

Page 4: 人工知能特論 II  第 12 回

4

系列ラベリングのための確率的識別モデルLinear-chain CRF

CRF (Conditional Random Fields, 条件付確率場 ) 最大エントロピーモデルの一種 出力yは入力xに対する条件付確率 出力 y が無向グラフ (y をノードに分解できる ) 素性を各ノードの近傍で定義

Linear-chain CRF ノードが線形につながったCRF (系列ラベリングのためのCRF) 例えば、品詞解析の場合、入力 x が文で、出力 y が単語 -品詞列となる。

単語と品詞のペアがノードになる。素性を各ノードの近傍で定義する。

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

II havehave aa penpen ..

x =“I have a pen.”y=“I- 代名詞 have- 動詞 a- 不定冠詞 pen- 名詞 .- ピリオド”

に対し p(y|x) を求める

Page 5: 人工知能特論 II  第 12 回

5

Linear-chain CRF: 素性テンプレート

素性テンプレート どのような素性を採用するか表記したもの 訓練データに対し素性テンプレートを適用し、実際に出現した値だけ

を素性として採用 素性テンプレートの例

i 番目のノードを ciとする i 番目の品詞を piとする i 番目の単語を wiとする HMM と同様の素性の場合

各ノード ciに対し、 pi-1pi [ 最大で品詞数 × 品詞数の次元ができうる ]

各ノード ciに対し、 wipi [ 最大で単語数 × 品詞数の次元ができうる ]

他にもいろんな組合せの素性を追加できる 各ノード ciに対し、 wi-1wipi

各ノード ciに対し、 pi-2pi-1pi

Page 6: 人工知能特論 II  第 12 回

6

Linear-chain CRF: 素性テンプレートと素性

素性テンプレートの例 HMM と同様の素性の場合

各ノード ciに対し、 pi-1pi

各ノード ciに対し、 wipi

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

isis aa penpen ..x

y 不定冠詞不定冠詞 名詞名詞

aa penpen

w1 w2 w3 w4 w5 w6

p1 p2 p3 p4 p5 p6

pi-1piから生成される素性 wipiから生成される素性不定冠詞 - 名詞 a- 不定冠詞名詞 - 動詞 pen- 名詞動詞 - 不定冠詞 is- 動詞名詞 - ピリオド .- ピリオド

Page 7: 人工知能特論 II  第 12 回

7

Linear-chain CRF: 全体の素性ベクトルと局所的素性ベクトルの関係

各素性関数の値は 1 文中に各素性が発火( 出現 ) した回数

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

isis aa penpen ..x

y

素性ベクトル (…, 0, 2, 0, …, 0, 1, 0, …, 0, 2, 0, …, 0, 1, 0, …, 0, 2, 0, …)

不定冠詞 - 名詞

不定冠詞不定冠詞 名詞名詞

aa penpen

名詞 - 動詞

pen- 名詞is- 動詞

a- 不定冠詞

c

jj cfyxf )(),(

Page 8: 人工知能特論 II  第 12 回

8

Linear-chain CRF: 全体のスコアと局所的なスコアの関係

全体のスコア = 各ノード c に対するスコアの積

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

文全体の素性ベクトル : (2,0,3,1,1)

01101 54321 e 00100 54321 e

11302 54321 e

掛算

p1p1 p2

p2

w1w1 w2

w2

(1,0,1,0,1)

p3p3

w3w3

10101 54321 e

c jjj

c jjj

j cjj

jjj cf

Zcf

Zcf

Zyxf

Zxyp )(exp

1)(exp

1)(exp

1),(exp

1);|(

Page 9: 人工知能特論 II  第 12 回

9

Linear-chain CRF: スコアの分解とHMM との対応

単語 - 品詞列の確率

解析 : ビタビアルゴリズムの適用 遷移確率と出力確率 ⇔ ノードのスコア

学習 : 前向き後向きアルゴリズムの適用 遷移回数と出力回数 ⇔ 素性値 ( 素性の発火回数 )

HMM の遷移確率と出力確率に対応

j

jj cf )(exp

c jjj

jjj cf

xZyxf

xZxyp )(exp

),(

1),(exp

),(

1);|(

品詞列集合全体のスコアの和 ( 前向きアルゴリズムで計算 )

Page 10: 人工知能特論 II  第 12 回

10

1 次の Linear-chain CRF

ラベル集合を Q、入力を x、出力をq1q2…qTとする。 Linear-chain CRF

ただし、 Zx は分配関数、 λj は fj に対する重み、 q0 = DUMMY(ダミーのラベル )とし、素性関数 f の引数は次のように定義される。 

f (時刻 t -1 のラベル , 時刻 t のラベル , 入力 , 時刻 )

入力 (第三引数 )と時刻 (第四引数 )を与えることによって、入力の情報を素性として用いることができる 例えば、品詞解析の場合、ラベルが品詞であり、入力が単語列となり、時刻tやその

前後における単語を素性として用いることができる。

QqQq

T

t jttjjx

T

t jttjj

xT

T

txqqfZ

txqqfZ

xqqqp

,, 11

1121

1

),,,(exp

),,,(exp1

)|(

Page 11: 人工知能特論 II  第 12 回

11

LINEAR-CHAIN CRF の解析

Page 12: 人工知能特論 II  第 12 回

12

Linear-chain CRF の解析

入力 x ラベル集合 Q Linear-chain CRF の解析

(Zx は定数であるため、必要ない )

T

t jttjj

qqqT

qqqT txqqfxqqqpqqq

TT 112121 ),,,(expmaxarg)|(maxargˆˆˆ

2121

Page 13: 人工知能特論 II  第 12 回

13

Linear-chain CRF の解析 : ビタビアルゴリズム

動的計画法

ラベル 1

トレリス

ラベル 2

ラベル 3

ラベル 4

δ(t, q): 時刻 t にラベル q となるラベル列の中で最大のスコア

maxq∈Q δ(T, q) を求めれば良い

時刻 1 2 3 T

Page 14: 人工知能特論 II  第 12 回

14

Linear-chain CRF の解析 : ビタビアルゴリズム

1 2 Tt-1

ラベル q

t

ラベル 1

ラベル 2

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

j tjj

t

j tjjj ttjjj uujj

tt

j tjjj uujj

t

txqqf

tQq

txqqftxqqft

u

uxqqf

QqQqQq

txqqft

u

uxqqf

QqQq

eqt

eee

eeqt

),,,(

1

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

1

),,,(

,,

),,,(1

1

),,,(

,,

1

1

1121

211

11

11

),1(max

maxmax

max),(

時刻

Page 15: 人工知能特論 II  第 12 回

15

Linear-chain CRF: 解析 ( ビタビアルゴリズム )

入力 x Linear-chain CRF の解析

Linear-chain CRF のビタビアルゴリズム for q∈Q δ[1, q] := exp{Σjλjfj(DUMMY,q,x,1)}

for t =2 to T for q∈Q δ[t, q] := maxq’ ∈Q δ[t - 1,q’]exp{Σjλjfj(q’, q, x, t)}

bp[t, q] := argmaxq’ ∈Q δ[t - 1,q’]exp{Σjλjfj(q’, q, x, t)}

𝜋 [𝑞 ]𝑏 [𝑞 ,𝑜1]

𝑎 [𝑞′ ,𝑞 ]𝑏[𝑞 ,𝑜𝑡]

HMM との対応

),(max),,,(expmax)|(max1

1212121

qTtxqqfxqqqpq

T

t jttjj

qqqT

qqq TT

Page 16: 人工知能特論 II  第 12 回

16

LINEAR-CHAIN CRF の学習

Page 17: 人工知能特論 II  第 12 回

17

Linear-chain CRF の学習

学習 ( パラメータ推定 ) 訓練データの対数尤度 (= 目的関数 ) に対する勾配を 0 にする

目的関数とその勾配が計算できれば勾配法でパラメータが求まる。 問題点

素性関数の期待値の計算 : 「ある文 x に対する全ての可能なラベル列集合 Y(x) に対する確率」を計算しないといけない

文長 n 、ラベル数 l に対し、可能なラベル列は lnある。全て展開するのはほぼ不可能

解決策 前向き後ろ向きアルゴリズム 畳み込まれたデータ構造を展開することなく素性関数の期待値を計

N

i xYyiji

N

iiij

j i

yxfxypyxfL

1 )(1

),();|(),()(

Page 18: 人工知能特論 II  第 12 回

18

Linear-chain CRF の学習 : 目的関数

訓練データ D={(x1, y1), (x2, y2), …, (xN, yN)}

各 yi を yi=qi1qi2…qiTiとする。 目的関数 : 訓練データに対する Linear-chain CRF の対数尤

度 パラメータ λ に対する目的関数 L(λ)

N

i

T

t jiittijj

N

ii

N

i

T

t jiittijj

i

N

iii

i

i

txqqfxZ

txqqfxZ

xypL

1 1)1(

1

1 1)1(

1

),,,(),(log

),,,(exp),(

1log

);|(log)(

Page 19: 人工知能特論 II  第 12 回

19

Linear-chain CRF の学習 : 目的関数の勾配 (1/2)

目的関数 L(λ) に対するパラメータ λ の勾配

N

i QqQq

T

tittjiT

N

i

T

tiittij

N

i QqQq

T

t

T

u jiuujjittj

i

N

i

T

tiittij

N

i j

i

i

N

i

T

tiittij

j

iT

i

i

i

iT

i i

i

i

txqqfxqqptxqqf

uxqqftxqqfxZ

txqqf

xZ

xZtxqqf

L

1 ,, 111

1 1)1(

1 ,, 1 111

1 1)1(

11 1)1(

1

1

),,,()|(),,,(

),,,(exp),,,(),(

1

),,,(

),(

),(

1),,,(

)(

素性関数の合計の期待値となっている

Page 20: 人工知能特論 II  第 12 回

20

Linear-chain CRF の学習 : 目的関数の勾配 (2/2)

目的関数 L(λ) に対するパラメータ λ の勾配

N

i

T

t QqQqittittj

N

i

T

tiittij

N

i

T

t QqQq QqQqQqQqiTittj

N

i

T

tiittij

N

i QqQq

T

tittjiT

N

i

T

tiittij

j

i

tt

i

i

tt iTtt

i

i

iT

i

i

i

xqqptxqqftxqqf

xqqptxqqftxqqf

txqqfxqqptxqqfL

1 1 ,11

1 1)1(

1 1 , ,,,,,11

1 1)1(

1 ,, 111

1 1)1(

1

1 121

1

)|(),,,(),,,(

)|(),,,(),,,(

),,,()|(),,,()(

qt-1 qt の周辺確率を効率的に求められればよい

( 前のスライドの続き )

Page 21: 人工知能特論 II  第 12 回

21

Linear-chain CRF の学習 : 前向きアルゴリズム (1/3)

動的計画法

ラベル 1

トレリス

ラベル 2

ラベル 3

ラベル 4

α(t, q): 時刻 t にラベル q であるスコアの合計

全ての t,q に対し、 α(t, q) を求めれば良い

時刻 1 2 3 T

QqQq

txqqft

u

uxqqf

t

j tjjj uujjeeqt

11

11

,,

),,,(1

1

),,,(),(

Page 22: 人工知能特論 II  第 12 回

22

Linear-chain CRF の学習 : 前向きアルゴリズム (2/3)

1 2 t-1

ラベル q

t

ラベル 1

ラベル 2

全てのスコアの和

Qq

txqqf

t

Qq QqQq

txqqftxqqft

u

uxqqf

QqQq

txqqft

u

uxqqf

t

j tjj

t t

j tjjj ttjjj uujj

t

j tjjj uujj

eqt

eee

eeqt

1

1

1 21

1121

11

11

),,,(

1

,,

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

1

),,,(

,,

),,,(1

1

),,,(

),1(

),(

時刻 T

Page 23: 人工知能特論 II  第 12 回

23

Linear-chain CRF の学習 : 前向きアルゴリズム (3/3)

Linear-chain CRF の前向きアルゴリズム for q∈Q α[1, q] := exp{Σjλjfj(DUMMY,q,x,1)}

for t =2 to T for q∈Q α[t, q] := Σq’ ∈Q α[t - 1,q’]exp{Σjλjfj(q’, q, x, t)}

入力 x とパラメータ λ が与えられているとする 分配関数 Zx を効率的に求めることもできる ⇒ 目的関数を効率的に求めることができる!

Page 24: 人工知能特論 II  第 12 回

24

Linear-chain CRF の学習 : 後ろ向きアルゴリズム (1/3)

前向きアルゴリズムを逆方向に適用 文末から文頭に向かって実行 向きが逆になることを除けば前向きアルゴリズムと

まったく同じ β(t, q) : 時刻 t にラベル q となっているとき、時

刻 t+1 から文末までのスコアの合計

QqQq

T

tu

uxqqftxqqf

Tt

j uujjj tjjeeqt

,, 2

),,,()1,,,(

1

11),(

Page 25: 人工知能特論 II  第 12 回

25

Linear-chain CRF の学習 : 後ろ向きアルゴリズム (2/3)

1 2 Tt

ラベル q

t+1

ラベル 1

ラベル 2

全てのスコアの和

Qqt

txqqf

Qq QqQq

T

tu

uxqqftxqqftxqqf

QqQq

T

tu

uxqqftxqqf

t

j tjj

t Tt

j uujjj ttjjj tjj

Tt

j uujjj tjj

qte

eee

eeqt

1

1

1 2

1211

1

11

),1(

),(

1

)1,,,(

,, 3

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

,, 2

),,,()1,,,(

時刻

Page 26: 人工知能特論 II  第 12 回

26

Linear-chain CRF の学習 : 後ろ向きアルゴリズム (3/3)

後ろ向きアルゴリズム for q∈Q β[T, q] := 1 for t = T - 1 to 1 for q ∈ Q β[t, q] := Σq’∈Q β[t + 1, q’]exp{Σjλjfj(q, q’, x, t + 1)}

Page 27: 人工知能特論 II  第 12 回

27

Linear-chain CRF学習 ( 前向き後ろ向きアルゴリズム )

qt-1 qt の周辺確率

),(),1(),(

1

),1(),(),(

1

),(),(

1

),(),(

1

),(

1

),(

1

),(

1

)|()|(

),,,(

1

1

),,,(

,,

1

1

),,,(),,,(

,,

1

1

),,,(),,,(

,, ,, 1

),,,(1

1

),,,(),,,(

,, ,, 1

),,,(),,,(1

1

),,,(

,, ,, 1

),,,(

,, ,,11

1

1

21

11

21

11

21 1

111

21 1

111

21 1

1

21 1

t

txqqf

ti

tt

txqqf

i

QqQq

t

u

uxqqf

t

txqqf

i

QqQqt

t

u

uxqqftxqqf

i

QqQq QqQq

T

tu

uxqqft

u

uxqqftxqqf

i

QqQq QqQq

T

tu

uxqqftxqqft

u

uxqqf

i

QqQq QqQq

T

u

uxqqf

i

QqQq QqQqiTitt

qteqtxZ

qtqtexZ

eqtexZ

qteexZ

eeexZ

eeexZ

exZ

xqqpxqqp

j ittjj

j ittjj

t

j iuujjj ittjj

t

j iuujjj ittjj

t iTt

ij iuujjj iuujjj ittjj

t iTt

ij iuujjj ittjjj iuujj

t iTt

ij iuujj

t iTt

i

Page 28: 人工知能特論 II  第 12 回

28

Linear-chain CRF学習 ( 前向き後ろ向きアルゴリズム )

前向き後ろ向きアルゴリズムによる目的関数 L(λ) に対するパラメータ λ の勾配

N

i

T

t Qq Qqt

txqqf

ti

ittj

N

i

T

tiittij

N

i

T

t QqQqittittj

N

i

T

tiittij

j

i

t t

j ittjj

i

i

tt

i

qteqtxZ

txqqf

txqqf

xqqptxqqftxqqfL

1 1

),,,(

11

1 1)1(

1 1 ,11

1 1)1(

1

1

1

),(),1(),(

1),,,(

),,,(

)|(),,,(),,,()(

Page 29: 人工知能特論 II  第 12 回

29

まとめ

系列ラベリングのための確率的識別モデルLinear-chain CRF解析 ( ビタビアルゴリズム )学習 ( 前向き後ろ向きアルゴリズム )

今までの講義資料http://aiweb.cs.ehime-u.ac.jp/~ninomiya/ai2/