Tutorial Support Vector Machine 1 Ide Dasar Support Vector Machine
Support Vector Machine による日本語係り受け解析
description
Transcript of Support Vector Machine による日本語係り受け解析
Support Vector Machine による日本語係り受け解析
奈良先端科学技術大学院大学情報科学研究科 自然言語処理学講座
工藤 拓 松本裕治
係り受け解析 日本語の統語解析の基本技術の1つ 二文節間の係りやすさを数値化した行
列を作成し,文全体を最適化する係り受け関係を導出
人手による手法から、解析済みコーパスから統計的に求める手法へ
統計的係り受け解析},,{ 1 mBBB
nnijmmij ffF Rffff },,{},,,,{ 1112
)}1(,),1({ mDepDepD
)|(maxarg BDPDD
best
入力文節列 係り先パターン列
)|)(()|(1
1
m
iijjiDepPBDP f
文節 i, j の言語的特徴を示すn次元素性ベクトル
係り関係がすべて独立だと仮定
従来手法の問題点 (1) 慎重な素性選択が必要
多くの素性を使用すると過学習してしまう 最適な素性集合の選択は試行錯誤や人手に
頼っている
従来手法の問題点 (2) 各素性の組み合わせ(共起,依存関係)を効率よく
学習できない 共起選択の方法はさまざま,人手により発見的に選択 細かな依存関係を見ると…
データスパースネス,計算量増加,過学習
))...(),(),((|))(),(),((|?
))(),((|))(),((|?
))((|))((|))((|))((|?
))(),(),(),(|)((
jposjlexiposPjposjlexilexP
jposiposPjlexilexP
jposPiposPjlexPilexP
jposjlexiposilexjiDepP
例
Support Vector Machine ( 1 )
V.Vapnik 95 入力素性数に依存しない汎化能力を持
ち過学習しにくい 計算量をほとんど変えることなく,素
性どうしの組み合わせ(共起,依存関係)を含めた学習が可能
SVM(2)
RRxw
Rxxxx
bwb
yyyyn
in
illii
,0)(
}1,1{)(,),(),( 11 線形2値(正例,負例)分類器, Euclid 空間上の平面
で分離
正例,負例,その他 ( マージン領域),の3つの領域に分割
1])[(
1if1)(
1if1)(
by
yb
yb
ii
ii
ii
xw
xw
xw
SVM(3)
1iy
1iy0 bxw1 bxw
1 bxw
d
||||
2
||||
||min
||||
||min
11 ww
xw
w
xw
bbd i
yx
i
yx iiii
マージン d を最大にするためには ||w|| を最小にすればよい
d
d
マージン d が最大となる識別平面
d
SVM(4)以下の制約付き多項式の最適化問題に帰着
Lagrange 乗数 α を導入して双対問題に変換
最終的な識別関数
最小化:制約条件:
制約条件:
最大化:
2||||)( ww L
l
jijijiji
l
ii yyL
1,1
)(2
1)( xx
l
iiii y
1
0,0
1])[( by ii xw
bybfl
iiii
1
)(sgn)sgn()( xxxwx
Kernel 関数 (1)線形分離できない場合
各素性をの組み合わせを展開し,より高次元の素性ベクトル空間に射影すれば線形分離しやすくなる
1 2 3 4 5 6 7nspaceInput Rx
nn
spaceFeaturen ')( 'Rx
1 2 4 5 6 7 1,2 1,3 1,4 1,5 1,6 1,7 2,3 2,4 2,5
Kernel 関数 (2)
学習:
l
jijijiji
l
ii yyL
1,1
))()((2
1)( xx
byfl
iiii
1
))()((sgn)( xxx 識別関数 :
学習、識別は素性ベクトルの内積のみに依存した形
Φ を経由せずに簡単な演算で直接内積を計算できれば計算量を大幅に減らすことが可能
)()(),( jijiK xxxx K: Kernel 関数
)(2
1)(
1,1
l
jijijiji
l
ii yyL xx
byfl
iiii
1
)(sgn)( xxx
Kernel 関数 (3)例 d
jijiK )1(),( xxxx d 次の Polynomial 関数
)1,2,2,2,,(),(:
)1,2,2,2,,()1,2,2,2,,(
1222
)1()1(),(
),(,),(2
212122
2121
212122
212121
22
21
2121221122
22
21
21
22211
2
221
221
zzzzzzzz
bbbbbbaaaaaa
bbaababababa
babaK
bbaad
T
jiji
ji
xxxx
RxRx
2 次元を 6 次元の空間へ写像,組み合わせの項も追加されるd 次の Polynomial 関数は d 個までの組み合わせを含めた学習
SVM (まとめ) 入力素性数に依存しない汎化能力を持ち
過学習しにくい マージン最大化
計算量をほとんど変えることなく素性どうしの組み合わせを含めた学習が可能 Kernel 関数
d 個までの素性の組み合わせを考慮しながらその中で汎化能力を最大にする戦略 Smoothing の効果が期待できる
SVM による係り受け解析( 1 )
正例,負例の与え方
学習データ中の全係り受け候補
係った事例 → 正例
係らなかった事例 → 負例
SVM による係り受け解析( 2 )
係り受け確率
lk
ijklklklij bKyjiDepP,
)'(tanh)'|)(( fff
1)tanh(0)exp(1
1)tanh(
x
xx ( Sigmoid 関数)
厳密には確率値ではない,距離を確率値に正規化, Sigmoid 関数は確率へのよい近似を与えることが実験的に示されている ( J.Platt 99 )
従来からある確率モデルの枠組で解析 関根99の文末からビームサーチを行う解析手法を採
用
静的素性と動的素性 静的素性
2 文節の主辞の語彙,品詞, 2 文節間距離など 文節まとめあげの段階で決定される
私は | この本を | 持っている | 女性を | 探している。?
動的素性 係り関係そのもの,解析しながら動的に追
加 動的素性も含めてビームサーチ
「探している」の素性として「女性を」を追加二重 を格 の可能性が取り除かれる
実験環境,設定( 1 )
京都大学テキストコーパス Version2.0 の一部 学習データ 1月 1 日-8日 7958文 テストデータ 1月9日 1246 文 内元 98と同じ学習データ,テストデータ Kernel 関数は, Polynomial 関数,次元数 d=3 Beam 幅 k=5
評価方法 係り受け正解率
文末から 2番目の評価含める (A) デフォルト, 含めない( B )
文正解率
実験環境,設定( 2 )静的素性
係り元 /係り先文節
主辞(見出し,品詞,品詞細分類, 活用,活用形)語形(見出し,品詞,品詞細分類,活用,活用形)括弧,句読点,文節位置
文節間 距離( 1 , 2-5 , 6 ),助詞,括弧,句読点
動的素性
2 文節間にある文節で,後ろの文節に係る文節の語形見出し
実験結果( 1 )( d=3 , k=5 )
84.86
85.6286.14
87.2186.52
89.0988.7788.66
88.34
87.67
87.7487.38
86.987.26
8484.5
8585.5
8686.5
8787.5
8888.5
8989.5
1172 1917 3032 4318 5540 6756 7956学習文数
(A/B
)%
文節
正解
率(
)
実験結果( 2 )( d=3 , k=5 )
40.0639.31
46.1745.36
45.2
44.07
42.94
38
40
42
44
46
1172 1917 3032 4318 5540 6756 7956学習文数
%文
正解
率(
)
動的素性の効果( d=3 , k=5 )
86.12
86.81
87.6287.21
86.52
89.0988.7788.66
88.34
87.67
88.7788.55
88.33 88.4
86
86.5
87
87.5
88
88.5
89
89.5
1172 1917 3032 4318 5540 6756 7956学習文数
(A)
%文
節正
解率
()
Kernel 関数と解析精度
87.67
86.87
87.72
86.5
87
87.5
88
2 3 4
(3032 k=5次元数 文, )
(A)
%文
節正
解率
()
ビーム幅と解析精度
88.64
88.59
88.5588.5588.56
88.63
88.66
88.5
88.6
88.7
1 3 5 7 10 15 25
Beam (5540 d=3)幅 文,
(A)
%文
節正
解率
()
関連研究との比較 内元 98との比較
最大エントロピー法に基づくモデル 87.2%の精度 (本手法は 89.1%) 素性の組み合わせ(共起,依存関係)の重要性
を指摘しているが,組み合わせは,人手により発見的に 選択,有効な組み合わせを網羅できない
本手法は Kernel 関数の変更のみ,網羅性, 一貫性という意味で優位
今後の課題
明らかに係らない制約を(人手により)導入 他の計算コストの少ないモデルとの融合 誤り駆動型による素性選択
全係り受け関係を用いるため,多くの計算量が必要
すべての候補から分類に必要な事例を選択学習の効率化,解析の高速化
まとめ
7958文という非常に少量のデータにもかかわらず, 89.1%の高い精度を示す
SVM の持つ,高次元の入力に対して過学習しにくいという性質を裏付ける結果
係り受け解析は各素性の組み合わせ(共起,依存関係)が重要, SVM は Kern el関数を使うことで効率性,網羅性,一貫性で優位