素性の組み合わせを実現する power set kernel とその高速化

37
1 素素素素素素素素素素素素素 Power Set Kernel 素素素素素素 素素素素素素素素素素素素素 素素素素素素素 素素 素 素素 素素

Upload: nimrod

Post on 12-Jan-2016

97 views

Category:

Documents


0 download

DESCRIPTION

素性の組み合わせを実現する Power Set Kernel とその高速化. 奈良先端科学技術大学院大学 情報科学研究科 工藤 拓 松本 裕治. 背景. SVM をはじめとする  Kernel Method のめざましい進展 自然言語処理も例外ではない 形態素解析 固有名詞抽出 構文解析 Kernel Method は万能なのか?. Kernel Method の問題点. 有効な素性の分析が困難 素性空間が陰に表現される 有効な素性(事例の部分構造)は我々の知らない一種の知識 (マイニング) 分類の計算量が大きい - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 素性の組み合わせを実現する Power Set Kernel  とその高速化

1

素性の組み合わせを実現するPower Set Kernel とその高速

化 奈良先端科学技術大学院大学情報科学研究科

工藤 拓松本 裕治

Page 2: 素性の組み合わせを実現する Power Set Kernel  とその高速化

2

背景 SVM をはじめとする  Kernel Method

のめざましい進展 自然言語処理も例外ではない

形態素解析 固有名詞抽出 構文解析

Kernel Method は万能なのか ?

Page 3: 素性の組み合わせを実現する Power Set Kernel  とその高速化

3

Kernel Method の問題点 有効な素性の分析が困難

素性空間が陰に表現される 有効な素性(事例の部分構造)は我々の知らない

一種の知識 ( マイニング ) 分類の計算量が大きい

Kernel Method に基づく固有名詞抽出器や構文解析器は大規模テキストデータの解析に不向き

一文解析するのに 0.5 ~ 1  秒

GOAL: この2つの問題の克服

Page 4: 素性の組み合わせを実現する Power Set Kernel  とその高速化

4

本発表の流れ Kernel Method Power Set Kernel Power Set Kernel の高速化手法

PSKB ( ベースライン ) PSKI ( 提案手法  1) PSKE ( 提案手法  2)

日本語係り受けタスクにおける実験 考察、今後の課題

Page 5: 素性の組み合わせを実現する Power Set Kernel  とその高速化

5

本発表の流れ Kernel Method Power Set Kernel Power Set Kernel の高速化手法

PSKB ( ベースライン ) PSKI ( 提案手法  1) PSKE ( 提案手法  2)

日本語係り受けタスクにおける実験 考察、今後の課題

Page 6: 素性の組み合わせを実現する Power Set Kernel  とその高速化

6

Kernel Method

L

iii bf

1

)φ()φ()( xxx

L

iii bK

1

),( xx

 事例間の内積を与える Kernel 関数のみ定義陽に表現された素性ベクトルは不要事例 x の構造に基づく Kernel の設計   ( 集合 , ベクトル , 系列 , 木 , グラフ… )

      への写像関数

(一般に

から

   

 

 

)

)φ(

,.,

HN

HN

iN

i b

xx

Page 7: 素性の組み合わせを実現する Power Set Kernel  とその高速化

7

Kernel Method の問題点

L

iii bf

1

)φ()φ()( xxx

L

iii bK

1

),( xx

  分類に  O(L ・ m) の計算量  (m は  K( ・ , ・ ) の計算量 ) 素性空間が陰に表現されてしまい , 有効な素性の  提示が困難

Page 8: 素性の組み合わせを実現する Power Set Kernel  とその高速化

8

本発表の流れ Kernel Method Power Set Kernel Power Set Kernel の高速化手法

PSKB (ベースライン ) PSKI ( 提案手法  1) PSKE ( 提案手法  2)

日本語係り受けタスクにおける実験 考察、今後の課題

Page 9: 素性の組み合わせを実現する Power Set Kernel  とその高速化

9

Power Set 集合のすべての部分集合の集まりをべき

集合 (Power Set) とよぶ 集合 X の  Power Set を P(X) と記す

例 X={a,b,c}P(X)={φ,{a},{b},{c},{a,b},{a,c}, {b,c},{a,b,c}}

Page 10: 素性の組み合わせを実現する Power Set Kernel  とその高速化

10

(Special) Power Set Kernel 集合の内積を与える Kernel X, Z は集合 X の要素数を  |X| と記す K(X, Z) = | P(X) ∩ P(Z) |例

X = {a,b,c}, Z={a,b,d}P(X) = {φ,{a},{b},{c},{a,b},{a,c},{b,c},{a,b,c}}P(Z) = {φ,{a},{b},{d},{a,b},{a,d},{b,d},{a,b,d}}P(X)∩P(Z)={φ,{a},{b},{a,b}}

K(X,Z) = |P(X) ∩ P(Z)| = 4

Page 11: 素性の組み合わせを実現する Power Set Kernel  とその高速化

11

Power Set Kernel (PSK)

*

|)||,min(|

0

|}||)),()((|{|),(

r

ZX

rr

C

rsZPXPssCZXK

 

 

( 例 ) X = {a,b,c}, Z={a,b,d}, C0=2, C1=3, C2=1, C3=0P(X) = {φ,{a},{b},{c},{a,b},{a,c},{b,c},{a,b,c}}P(Z) = {φ,{a},{b},{d},{a,b},{a,d},{b,d},{a,b,d}}P(X)∩P(Z)={φ,{a},{b},{a,b}}

K(X,Z) = 2 ・ 1+ 3 ・ 2 + 1 ・ 1 + 0 ・ 0 = 9

( 部分集合重み )

Page 12: 素性の組み合わせを実現する Power Set Kernel  とその高速化

12

PSK の周辺定理1. X,Z を任意の集合 , を正の整数とすると

き ,             は PSK となる

2. X,Z を任意の集合 ,   を n 階微分可能でかつ となる関数とするとき ,   はPSK となる

3. すべての  PSK K(X,Z) は , |X∩Z| の多項式で表現できる

Cr が事前に分かる場合 , PSK を設計できる

|)(|),( ZXgZXK

dZXZXK ||),( g

0)0()( ng

d

Page 13: 素性の組み合わせを実現する Power Set Kernel  とその高速化

13

多項式 Kernel

..}2,1,0{1||),( dZXZXK d    

定理 2 を満たし , Power Set Kernel

例 d=2 のとき C0 = 1, C1=3, C2=2 d=3 のとき C0 = 1, C1=7, C2=12, C3 = 6

一般に d=k のとき

r

m

lmrmr

k

rllkr mC

0

)1(CC

Page 14: 素性の組み合わせを実現する Power Set Kernel  とその高速化

14

RBF Kernel

*22 |)|2|||(|exp),( sZXZXsZXK    

|)|2exp||exp||exp 22 ZXsZsXs

|X|=|Z|= 定数 ( 要素数は一定 ) ならば

||2exp),( ZXsZXK

rl

r

m

lmrmr

lr lmsC !)1(C)2(

0

定理 2 を満たし , Power Set Kernel

Page 15: 素性の組み合わせを実現する Power Set Kernel  とその高速化

15

本発表の流れ Kernel Method Power Set Kernel Power Set Kernel の高速化手法

PSKB (ベースライン ) PSKI ( 提案手法  1) PSKE ( 提案手法  2)

日本語係り受けタスクにおける実験 考察、今後の課題

Page 16: 素性の組み合わせを実現する Power Set Kernel  とその高速化

16

Power Set Kernel の高速化 PSKB

通常の分類手法 ( ベースライン ) PSKI (Inverted representation)

事例 の集合を転置した形で表現 PSKE (Expanded representation)

事例を Power Set の空間で分類

Page 17: 素性の組み合わせを実現する Power Set Kernel  とその高速化

17

PSKB ( ベースライン )

{a, b, c}{a, b, d}{b, c, d}

10.5-2

分類したい事例 Z={a,c,e}

K(X,Z) = (|X∩Z|+1)3

123

f(Z)=1 ・ (2+1) + 0.5 ・ (1+1) - 2 (1+1) = 15

計算量は常に O(L ・ |Z|)

3 3 3

K(X,Z)

Page 18: 素性の組み合わせを実現する Power Set Kernel  とその高速化

18

PSKI (Inverted Representation)

{a, b, c}{a, b, d}{b, c, d}

10.5-2

K(X,Z) = (|X∩Z|+1)3

123

a b c d

{1,2}{1,2,3}{1,3}{2,3}

分類したい事例 Z= {a, c, e}

f(Z)=1 ・ (2+1) + 0.5 ・ (1+1) - 2 (1+1) = 153 3 3

計算量は , O(B ・ |Z|+L), 最悪 O(L ・ |Z|) 集合要素が疎な時に有効 ( 自然言語処理など )

Inverted Representation

Page 19: 素性の組み合わせを実現する Power Set Kernel  とその高速化

19

PSKE (Expanded Representation) (1/2)

L

iii bf

1

)φ()φ()( xxx

)(φ)φ(1

i

L

iib xwxw

   

)φ(x PSK における は , 集合 X を , Power Set の 空間に部分集合重み付きで写像するような関数 w をあらかじめ計算しておき , 高次元空間空間 (Power Set 空間 ) での内積を直接計算 [ 磯崎 2002] と考え方は同じ

Page 20: 素性の組み合わせを実現する Power Set Kernel  とその高速化

20

PSKE (Expanded Representation) (2/2)

{a, b, c}{a, b, d}{b, c, d}

10.5-2

K(X,Z) = (|X∩Z|+1)

123

φ{a}{b}{c}{d}{a,b}{a,c}{a,d}{b,c}{b,d}{c,d}{a,b,c}{a,b,d}{a,c,d}{b,c,d}

-0.5 10.5-3.5-7-10.5 12 12 6-12-18-24 6 3 0-12

分類したい事例 Z={a,c,e}

P(Z)={{φ},{a},{c}, {e},{a,c},{a,e}, {c,e},{a,c,e}}

F(z)=-0.5+10.5-7+12 =15

C w

C0=1, C1=7,C2=12, C3=6

展開

1

12

7

6

計算量は O(|P(Z)|), 事例数に依存しない 事例数が大きいときに有効 d 次の多項式 Kernel → d 個の部分集合のみ

Expansion Table3

Page 21: 素性の組み合わせを実現する Power Set Kernel  とその高速化

21

PSKE の実際 Expansion Table の作成

素性の d 個の組み合わせを全展開するのは非常に困難

[ 磯崎 2002] は 2 個の組み合わせだけに限定 |w| は , その部分集合の分類寄与度を与え

る . |w| の小さい部分集合は考えない ( 近似 ) データマイニングアルゴリズムの適用

Expansion Table の保持 そのままでは冗長なので TRIE を作成

Page 22: 素性の組み合わせを実現する Power Set Kernel  とその高速化

22

マイニング問題としての定式化

|w|≧σ となるような部分集合を もれなく 効率よく 列挙せよ

φ{a}{b}{c}{d}{a,b}{a,c}{a,d}{b,c}{b,d}{c,d}{a,b,c}{a,b,d}{a,c,d}{b,c,d}

-0.5 10.5-3.5-7-10.5 12 12 6-12-18-24 6 3 0-12

C w1

12

7

6

σ=10

{a}{d}{a,b}{a,c}{b,c}{b,d}{c,d}{b,c,d}

10.5-10.5 12 12 -12-18-24-12

C w

12

7

6

Page 23: 素性の組み合わせを実現する Power Set Kernel  とその高速化

23

部分集合のマイニング (1/3) α は実数で , 単純な頻度とみなせない

正例 (α≧0), 負例 (α<0) の事例に分けてそれぞれ独立にマイニング

部分集合 p の重み w は ( 正例の頻度 )-( 負例の頻度 )

正例 , 負例の数には偏りがある、 σ を正負例の数に応じて線形分配し , 正負別々の最小サポート値を与える

サイズ r の部分集合の頻度は Cr 倍される 最悪の状況 Cmax=max(C0,C1,..,C|x|) を考え , 事例の頻度を Cmax倍しておく

マイニング後 , パターン p の頻度を C|p|/ Cmax 倍

Page 24: 素性の組み合わせを実現する Power Set Kernel  とその高速化

24

部分集合のマイニング  (3/3)

{a, b, c}{a, b, d}{b, c, d}

10.5-2

123

{a, b, c}{a, b, d}

126

X頻度

12

K(X,Z)= (|X∩Z|+1)

C0=1, C1=7,C2=12C3=6, Cmax=12

{b, c, d}24

X頻度

3

{φ} 18{a} 18{b} 18{c} 12{a,b} 18{a,c} 12{b,c} 12

{φ} 24{b} 24{c} 24{d} 24{b,c} 24{b,d} 24{c,d} 24{b,c,d} 24

バスケットマイニング(Apriori, PrefixSpan)

{a} 10.5{d} –10.5{a,b} 12{a,c} 12{b,c} -12{b,d} -18{c,d} -24{b,c,d} -12

merge

負例

正例

|Cmax ・ α| を頻度とみなす

3

w= (f 正例 -f 負例 ) ・ C|p|/Cmax

σ=15σ 正例 =10σ 負例 =5

Minsup=10

Minsup=5( 例 ) {b} の重みW=(18-24)*7/12=10.5

Page 25: 素性の組み合わせを実現する Power Set Kernel  とその高速化

25

TRIE による表現

{a}{d}{a,b}{a,c}{b,c}{b,d}{c,d}{b,c,d}

10.5-10.5 12 12 -12-18-24-12

C w

12

7

6

a db

b c c d

c

d

d

root

10.5

12 12

-10.5

-24-18-12

-12

共通 Prefix の圧縮 TRIE の実装にはダブル配列を用いた

Page 26: 素性の組み合わせを実現する Power Set Kernel  とその高速化

26

本発表の流れ Kernel Method Power Set Kernel Power Set Kernel の高速化手法

PSKB (ベースライン ) PSKI ( 提案手法  1) PSKE ( 提案手法  2)

日本語 わかち書き , 係り受けタスクにおける実験

考察 , 今後の課題

Page 27: 素性の組み合わせを実現する Power Set Kernel  とその高速化

27

実験 日本語 わかち書き / 係り受け解析 3 次の多項式 Kernel マイニング→ PrefixSpan [Pei ら 2001]

* XEON 2.4GHz, Linux, C++ による実装

事例数 わかち書き 係りうけ事例数 265,413 110,355SV 数 57,672 34,996素性サイズ 11,643 28,157|Xj| の平均 11.73 17.63

Page 28: 素性の組み合わせを実現する Power Set Kernel  とその高速化

28

実験結果 ( わかち書き ) σ 解析時間

( 秒 / 文 )正解率 (%) 部分集合数

(k 個 )

PSKB - 0.8535 97.94 -

PSKI - 0.4989 97.94 -

PSKE 0.1 0.0009 96.09 21

0.05 0.0014 97.36 84

0.01 0.0028 97.93 1,228

0.005 0.0033 97.95 2,327

0.001 0.0038 97.94 4,392

0.0005 0.0041 97.94 4,820

0.0001 0.0042 97.94 5,206

Page 29: 素性の組み合わせを実現する Power Set Kernel  とその高速化

29

実験結果 ( 係り受け解析 ) σ 解析時間

( 秒 / 文 )正解率 (%) 部分集合数

(k 個 )

PSKB - 0.2848 89.29 -

PSKI - 0.0811 89.29 -

PSKE 0.1 0.0013 82.02 7

0.05 0.0020 86.27 30

0.01 0.0050 88.91 739

0.005 0.0067 89.05 1,924

0.001 0.0092 89.26 6,686

0.0005 0.0097 89.29 8,262

0.0001 0.0101 89.29 9,846

Page 30: 素性の組み合わせを実現する Power Set Kernel  とその高速化

30

考察 PSKI が 約 3-12 倍 ,

PSKE が 約 30-280 倍程度 高速 σ=0.0005 のときの部分集合のサイズは 826

万 , TRIE のサイズは 391MB ( 係り受け解析 ) 頻度によるフィルタリング

部分集合のそれぞれに対し、事例集合中の出現頻度が ξ(=1,2,3..) 以上の部分集合を残し , 残りを削除

頻出部分集合も マイニングアルゴリズムを用い効率よく列挙する

σ=0.0005 に固定し , ξ を変化させる

Page 31: 素性の組み合わせを実現する Power Set Kernel  とその高速化

31

頻度によるフィルタリング結果( 係り受け )

ξ 解析時間( 秒 / 文 )

正解率(%)

部分集合数 (k 個 )

TRIE のサイズ (MB)

PSKB - 0.2848 89.29 - -

PSKI - 0.0810 89.29 - -

PSKE σ=0.005

1 0.0097 82.29 8,262 391.1

2 0.0074 89.34 2,450 118.0

3 0.0069 89.31 1,360 66.4

4 0.0065 89.25 945 46.8

フィルタリングにより、サイズを約 1/3 に 若干ながら精度向上→頻度の小さい例外的事例の排除

Page 32: 素性の組み合わせを実現する Power Set Kernel  とその高速化

32

まとめ Power Set Kernel の定式化と分析 Power Set Kernel の高速化

PSKI ( 事例集合を転置した形で表現 ) PSKE (Power Set の空間で分類 )

PSKI が 3-12 倍程度、 PSKE が 30-280 倍程度の高速化に成功

Page 33: 素性の組み合わせを実現する Power Set Kernel  とその高速化

33

今後の課題 部分集合重み Cr  の分析 Cr の適当な推定 → Cr に即した

Kernel 頻度によるフィルタリングの詳細な分析 他のデータセットでの実験

Page 34: 素性の組み合わせを実現する Power Set Kernel  とその高速化

34

PSKE において実際に抽出された 3 つ組み素性

● { 係り元 - 主辞 - 品詞細分類 - 普通名詞 ,

係り元 - 機能語 - 表層 - と ,  係り先 - 主辞 - 品詞細分類 - 普通名詞 }

「普通名詞 と 普通名詞」並列構造

● { 係り元 - 機能語 - 表層 - を ,  係り先 - 主辞 - 表層 - 中心 ,

   係り先 - 機能語 - 表層 - に }

「~を 中心に」 頻出言い回し ,

普通名詞が「を格」をとる特殊なパターン

● { 係り元 - 機能語 - 表層 - から ,

係り元 - 機能語 - 品詞 - 助詞 ,   係り先 - 機能語 - 表層 - まで }

「~から ~まで」 頻出言い回し

Page 35: 素性の組み合わせを実現する Power Set Kernel  とその高速化

35

おまけ PSKI は拙作の 汎用 チャンカー

YamCha と , 係り受け解析プログラム CaboCha に使われています

PSKE に基づくチャンカー , 係りうけ解析プログラムの公開  ( そのうち ?)

Page 36: 素性の組み合わせを実現する Power Set Kernel  とその高速化

36

部分集合重み Cr (1/2)

サイズ r の部分集合 (r 個の組み合わせ素性 ) をどれだけ重要視するか

決定木→ 深さ r の枝の精度

root

a b c d

b c d ……

r=0

r=1

r=2

r=3

過汎化

過学習

最適な深さ r が存在 Cr は 凸関数

r

Cr

0 1 2 3 4

Page 37: 素性の組み合わせを実現する Power Set Kernel  とその高速化

37

部分集合重み Cr (2/2)多項式K(X,Z)=(|X∩Z|+1)

Quasi-RBFK(X,Z)=exp (2s|X∩Z|)

多項式 Kernel は、凸関数の Cr を持つ ピーク時が d によって決定付けられる RBF は、単調減少 ( 増加 ) の場合しかない 集合を素性とする場合 , RBF より 多項式 Kernel の ほうが実験結果がよいことの説明

d

s 大

s 小

Cr

r

r

Cr