nlpforml5

29
自然言語のための機械学習勉強会 第5章:系列ラベリング @kisa12012

Upload: hidekazu-oiwa

Post on 15-Jan-2015

1.080 views

Category:

Education


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: NLPforml5

自然言語のための機械学習勉強会第5章:系列ラベリング

@kisa12012

Page 2: NLPforml5

目次

5.1:系列ラベリング概論

5.2:隠れマルコフモデル(HMM) 5.3:系列ラベリングの逐次的手法

5.4:条件付確率場(CRF) 5.5:まとめ

Page 3: NLPforml5

目次

5.1:系列ラベリング概論

5.2:隠れマルコフモデル(HMM) 5.3:系列ラベリングの逐次的手法

5.4:条件付確率場(CRF) 5.5:まとめ

Page 4: NLPforml5

5.1 系列ラベリング概論

系列ラベリング

品詞タグ付け

チャンキング(文書内から人名・地名の抽出)

品詞タグ付け

系列(sequence) ”Nurture passes nature.”いくつかの要素が連なったもの

系列ラベリング(sequential labeling) 『Nurture←名詞』を付与

系列内のそれぞれにラベルを付けること

“Nurture passes nature.”名詞 動詞 名詞

Page 5: NLPforml5

5.1 系列ラベリング概論

の”pass”に着目

“pass”は、今回の例では動詞。しかし、 のように、直前に形容詞が来る場合には名詞となりやすい。

ある要素のラベルが、その直前のラベルに依存する

←要素を系列として見る事で、精度向上を図る

系列ラベリングでは、要素のラベルが系列内の他のラベルに依存する場合を扱う

“Nurture passes nature.”名詞 動詞 名詞

“nice pass.”

直前のラベルが形容詞であれば、passは名詞の確率が高い直前のラベルが名詞であれば、passは動詞の確率が高い

Page 6: NLPforml5

5.1 系列ラベリング概論

チャンキング(chunking) [5.5章] 言語表現の意味的あるいは文法的にまとまった部分を発見する研究

名詞句の抽出や人名抽出などが挙げられる

“Lunvalet”という人名が存在することを知らなくても、文脈から推測することが出来る

複数語からなる表現が人を指していることもある

B(人名開始単語),I(人名部),O(その他)のようにタグ付けがしたい

“After stubbing out the cigarette, Lunvalet talked to me.”人名

“Suddenly, the tall German guy talked to me.”O B I I I O O O

Page 7: NLPforml5

5.1 系列ラベリング概論B,I,Oのように抽出のための用いられるラベルをIOB2タグという

IOB2タグ付けも系列ラベリングの一種

系列ラベリングの問題点

可能なラベル列の組み合わせ数が膨大

[組み合わせ数] = [品詞種類数]の[要素数]乗 可能な品詞列を全て列挙して分類器を作成することは不可能

系列ラベリングには、特別な手法が必要となる

文書は文・単語の系列と見ることが出来るため、系列ラベリングは言語処理において非常に有用

Page 8: NLPforml5

目次

5.1:系列ラベリング概論

5.2:隠れマルコフモデル(HMM) 5.3:系列ラベリングの逐次的手法

5.4:条件付確率場(CRF) 5.5:まとめ

Page 9: NLPforml5

5.2 隠れマルコフモデル(HMM) 隠れマルコフモデル(Hidden Markov Model)

系列ラベリングに用いることが出来る非常にシンプルなモデル

通常は、ラベルの付いていない系列データのみが与えられたときにパラメータを推定する手法の事を指す。しかし、ここでは系列ラベリングのためのラベル付き訓練データが与えられている状態を想定している

要素

要素

要素

要素

要素

要素

ラベル

ラベル

ラベル

ラベル

ラベル

ラベル

Page 10: NLPforml5

5.2.1 HMMの導入

数式表記の定義

仮定

各状態は、その直前の状態のみに依存すると仮定

つまり、(xi,yi)は、(xi-1,yi-1)にのみ依存すると仮定

より詳細には、 xiはyiにのみ、 yiはyi-1にのみ依存すると仮定

ラベル列

系列

:),...,,(:),...,,(

21

21

k

k

yyyxxx

==

yx

Page 11: NLPforml5

5.2.1 HMMの導入xとyの同時確率は、以下の式で導出できる

簡単のため、ダミー要素(x0,y0)を用意し、以下の式を用いた

−−

−−−−−−

=

=

=

iiiii

iiiii

kkkkkkkk

yyPyxP

yxyxPyxyxPyxyxPyxyxPP

)|()|(

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

1

11

0011221111yx

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

011

001111

yyPyPyxyxPyxP

==

Page 12: NLPforml5

5.2.2 パラメータ推定

の最尤推定解を求めることで、パラメータ を推定する

まず、対数尤度 を下式のように表す

)},(),...,,{(: )()()1()1( DDD yxyx=訓練データ

)'|(),|( yyPyxP

∑∑

∑ ∑∑

+

=

+=

+=

=

∈−

yyyy

yxyx

yyyx

D j

ij

ij

j

ij

ij

D

ii

q

p

yyPDyynyxPDyxn

yyPyxP

PDP

ii

ii

,''|

,|

',,

),(

)(1

)()()(

),(

)()(

log]yy'D[

log]yxD[

)'|(log)),,'(()|(log)),,((

)|(log)|(log

),(log)(log

)()(

)()(

が出現した回数の次にラベルで、ラベルデータ

が付与された回数にラベルで、データ

yx

yx

yx

)(log DP

Page 13: NLPforml5

5.2.2 パラメータ推定制約条件を考慮すると、最尤推定解は以下の問題を解くことで導出できる

ラグランジュ法を用いて、最大化するパラメータを求めると、以下の式になる

(演習問題1)

11..

log)),,'((log)),,((max

'||

','|

,|

==

+

∑∑

∑∑

yyy

xyx

yyyy

yxyx

ppts

qDyynpDyxn

=

=

x

yy

x

yx

DyynDyynq

DyxnDyxnp

)),,'(()),,'((

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

'|

|

要素とラベル、ラベルとラベルの組み合わせの出現頻度をパラメータとしているだけなので、当たり前の結果

Page 14: NLPforml5

5.2.3 HMMの推論ある系列xが与えられたときの最適なラベル列yを求めたい

⇒この最適化問題を解きたい:しかし、冒頭に述べたように、ラベル列の組み合わせ数が膨大なので、全て列挙することは不可能

Viterbi algorithm(ヴィタビアルゴリズム) 上の最適化問題を効率的に解くアルゴリズム

一種の動的計画法

先頭の要素から順番にラベルを付与していく

),(maxargmax yxy Py

=

Page 15: NLPforml5

Viterbi algorithm Pseudocode(前半)入力:系列xfor j=2 to |x|

for all yj

end forend for

t(j,yj):要素jに対応するラベルがyjをとる条件のもと、確率が最大となるラベル列をとる確率。

s(j,yj):確率が最大となるラベルをとった場合のyj-1を保存。アルゴリズムの後半で使用。

)],1(),|,([logmaxarg),(

)],1(),|,([logmax),(

111

111

1

1

−−−

−−−

−+=

−+=

jjjjjy

j

jjjjjyj

yjtyxyxPyjs

yjtyxyxPyjt

j

j

全ての要素に対応する全てのラベルについて、どのラベルから遷移する確率が高いかを比較する

Page 16: NLPforml5

Viterbi algorithm Pseudocode(後半)前半部のイメージ

後半部

入力:t(|x|,y),s

for j=|x|-1 to 1

end for

)|,(|maxargmax|| yty

yxx =

),1( max1

max++= jj yjsy

最適なラベル列を後ろ側の要素から順に、逆向きに取り出している

最適なラベル列を探す

Page 17: NLPforml5

目次

5.1:系列ラベリング概論

5.2:隠れマルコフモデル(HMM) 5.3:系列ラベリングの逐次的手法

5.4:条件付確率場(CRF) 5.5:まとめ

Page 18: NLPforml5

5.3 通常の分類器の逐次適用

4章の分類器を逐次的に用いることで、系列ラベリングを行う方法もある Ex.

分類器はなんでもよい(Naïve Bayes/SVMなど)

分類器の逐次適用の特徴

直後の要素を用いる事もできる

各要素について、様々な素性を用いることが出来る

一般的に、計算時間が増大する

ラベル系列全体の確からしさは考慮していない

),,|( 111 −+− jjjjj yxxxyP

Page 19: NLPforml5

目次

5.1:系列ラベリング概論

5.2:隠れマルコフモデル(HMM) 5.3:系列ラベリングの逐次的手法

5.4:条件付確率場(CRF) 5.5:まとめ

Page 20: NLPforml5

5.4 条件付確率場(CRF) 条件付確率場(Conditional Random Field)

CRFと呼ばれることが多い

様々な素性を用いることが出来、またラベル系列全体の確からしさにも焦点を当てた学習を行えるモデル

4.5節の対数線形モデルを系列ラベリング問題へ適用したもの

が与えられたとする

この時、ラベル列の系列に対する条件付き確率を以下のようにおく

)},(),...,,{(: )()()1()1( DDD yxyx=訓練データ

⋅=

⋅=

∑y

wxwx

wx

y)Φ(x,w

w

y)Φ(x,wxy

)exp(:

:

)exp(1)|(

,,

,

ZZ

ZP

正規化係数

トル素性に対する重みベク

Page 21: NLPforml5

5.4.1 条件付確率場(CRF)の導入最適なラベル列を求めたい。よって、以下の最大化問題を解く

ただし、この最大化問題を解くのは非常に時間がかかるため、yは隣り合うラベルyt,yt-1にのみに依存するという条件をおく

y)Φ(x,w

y)Φ(x,wy

y

wxy

⋅=

⋅=∗

maxarg

)exp(1maxarg,Z

⋅=

⋅=⋅

tttk

tttk

yy

yy

),,(

),,(

1

1

xw

xwy)Φ(x,w

φ

φ

∑ −=t

ttkk yy ),,()( 1xyx, φφ

∑ −∗ ⋅=

tttk

yyy ),,(maxarg 1xwy φ

Page 22: NLPforml5

5.4.1 条件付確率場(CRF)の導入

上式ならば、wが分かっていればViterbi Algorithmで高速に解くことができる

モデルの拡張も容易に可能

∑ −∗ ⋅=

tttk

yyy ),,(maxarg 1xwy φ

)],1(),|,([logmaxarg),(

)],1(),|,([logmax),(

111

111

1

1

−−−

−−−

−+=

−+=

jjjjjy

j

jjjjjyj

yjtyxyxPyjs

yjtyxyxPyjt

j

j

)],1(),,([maxarg),(

)],1(),,([max),(

11

11

1

1

−−

−−

−+⋅=

−+⋅=

jjjy

j

jjjyj

yjtyyyjs

yjtyyyjt

j

j

xΦw

xΦw

∑ −−=t

tttkk yyy ),,,()( 21xyx, φφ

Page 23: NLPforml5

5.4.2 条件付確率場(CRF)の学習Wの学習方法

以下の目的関数を最大化する

しかし、上式は解析的に解くことが不可能

最急勾配法(1.2.2節)を用いる(準ニュートン法や確率的勾配法が用いられやすい)

∑∑ −⋅==DD

ZPL wxy)Φ(x,wxyw ,log)|(log)( 実際は、正則化項を加えた目的関数を最適化する場合が多い

2||)( ww CL −

∑ ∑

Φ−Φ=∇

∇+=

D

iiiiold

oldoldnew

PL

L

yw

w

yxxyyxw

www

),()|(),()(

)(

)()()()(

ε

系列ラベリングではyの組み合わせが膨大で、P(y|x)が計算不可能

Page 24: NLPforml5

5.4.2 条件付確率場(CRF)の学習

と変形することで、 が計算できればよい形となる

∑ ∑

∑ ∑∑

−−

Φ=

Φ=Φ

t yytt

iitt

ttt

iiii

tt

yyyyP

yyPP

1,1

)()(1

1)()()()(

),,()|,(

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

xx

xxyyxxyyy

)|,( )(1

itt yyP x−

と書けるので、

とおけば、

∏ −

−−

=

Φ⋅=

t

ttt

ttttt

ZyyP

yywyy

wxxy

x

,

1

11

),()|(

)),,(exp(),(ϕ

ϕ

∑ ∑ ∏

∑ ∑ ∏

∑ ∑

− ++

− ++

− ++

≠−

=

=

=

2:0 1:1

2:0 1:1

2:0 1:1

'1'''

,

1

'1'''

,

1

),(),(

),(1

)|()|,(

t Tt

t Tt

t Tt

ttttt

ttt

tttt

tt

yyZ

yy

yyZ

PyyP

y ywx

y ywx

y y

xyx

ϕϕ

ϕ

Page 25: NLPforml5

5.4.2 条件付確率場(CRF)の学習

),()1,(

),(),(

),(

1

1

1'1'''

1

1'1'''

'1'''

1:12:0

2:0 1:1

tyty

yyyy

yy

tt

T

ttttt

t

tttt

ttttt

Ttt

t Tt

βα

ϕϕ

ϕ

−=

=

+

+=−

=−

≠−

∑ ∏∑∏

∑ ∑ ∏

++−

− ++

yy

y y

=

=

∑ ∏

∑∏

++

+

+=−

=−

1:1

2:0

1

1'1'''

1'1'''

),(),(

),(),(

Tt

t

T

tttttt

t

ttttt

yyty

yyty

y

y

ϕβ

ϕα

),()1,(),(1)|,( 11,

1 tytyyyZ

yyP ttttttt βαϕ −= −−−wx

x

上式が高速に計算できればよい

=

+=

−=

+

+++

−−

T

t

t

yT

yttttt

yttttt

TyZ

tyyyty

tyyyty

),(

)1,(),(),(

)1,(),(),(

,

111

11

1

1

α

βϕβ

αϕα

wx を利用すれば、DPを用いて高速に計算可能になる

α β

Page 26: NLPforml5

5.4.2 条件付確率場(CRF)の学習

を利用したこのような算法は、前向き・後ろ向きアルゴリズム

(forward-backward algorithm)の一種

一般のCRFは、系列上のノードだけでなく、グラフ上のノードのラベリング問題に適用可能(Ex.係り受け解析)

),(),,( tyty tt βα

Page 27: NLPforml5

目次

5.1:系列ラベリング概論

5.2:隠れマルコフモデル(HMM) 5.3:系列ラベリングの逐次的手法

5.4:条件付確率場(CRF) 5.5:まとめ

Page 28: NLPforml5

5.5 まとめ

系列ラベリング

隠れマルコフモデル(HMM) 分類器の逐次適用

条件付確率場(CRF)の3種について、説明をした

系列ラベリング全体としては、NLP2006チュートリアルも参照するとよ

いhttp://www.geocities.co.jp/Technopolis/5893/publication/NLP2006slide.pdf

HMMのforward-backward algorithm : Baum- Welch algorithm

これは、EM algorithmの一種(3.5節)

Page 29: NLPforml5

5.5 まとめ 分類器による逐次適用による系列ラベリングで特筆すべきもの

YamChaにも用いられているSVMを用いた系列ラベリング

CRFを自然言語処理に応用したものとして、MALLET,CRF++など

木構造に対してCRFを扱うには、確率伝播法(belief propagation)が必要

(Bishop本:8.4節)

チャンキングにはIOB2タグ以外にも、様々な変種が存在