Document

June 10, 2003
静岡大学情報学部
Support Vector Machineを用いた
自然言語解析
松本裕治
Graduate School of Information Science
Nara Institute of Science and Technology
(NAIST)
概要
機械学習による言語解析

Support Vector Machinesの紹介
日本語の係り受け解析


擬似確率に基づく構文解析
Cascaded chunking モデル
形態素解析(品詞タグ付け)

修正学習モデル
自然言語処理のために必要な機械学習法の
性質
1. 大規模な属性(基本情報)を扱うことができるこ
と

個々の単語を属性として扱う必要が生じる
2. 効果的なスムージング (例:単語と品詞の頻度
/出現確率の間のスムージング)


単語の出現頻度の偏り
データ過疎問題(Data sparseness problem)
3. 基本属性の組み合わせ属性を扱うことが必要
Support Vector Machinesの概要
2値分類,ユークリッド・ベクトル空間内の線形分離:
事例は、ベクトル空間内の点とその所属クラス
(正例: +1, 負例:-1)よりなる
(x1 y1 ), (xi yi ), , (xl yl ) xi  R n yi {1,1}
( w  x)  b  0 w  R n , b  R
正例と負例の分離を、分離(超)平面から例までの距離
(margin)が最大になるようにして行う:
(w  x i )  b  1 if yi  1
(w  x i )  b  1 if yi  1
yi [( w  xi )  b]  1
分離超平面
yi  1
d
d
yi  1
d
d
w  x  b  1
w  x  b  1 w  x  b  0
マージンdが最大の平面
| w  xi  b |
| w  xi  b |
2
d  min
 min

xi yi  1
x
y


1
i i
|| w ||
|| w ||
|| w ||
最大マージンdを得るためには ||w|| を最小化すればよい
最適化問題
最大マージンの平面は次の最適化問題を解くのと同じ:
最小化:
条件:
L(w)  || w ||2
yi [( w  xi )  b]  1
ラクランジュ定数 α を導入し、双対問題に変換する:
l
1 l
最大化: L( )   i   i j yi y j (x i  x j )
2 i , j 1
i 1
条件:
 i  0,
最終的な分離関数:
l

i 1
i
yi  0
 l

f (x)  sgn( w  x  b)  sgn   i yi (x i  x)  b
 i 1

Kernel関数の導入
線形分離が難しい問題
元の属性に基づくベクトル空間をより高次元な属性をもつ
高次元空間に写像する
1 2 3 4 5 6 7
Input space x  R n

1 2 4 5 6 7
1,2 1,3 1,4 1,5 1,6 1,7 2,3 2,4 2,5
Feature space
 ( x)  R n ' n'  n
Kernel関数を用いる場合の学習
l
学習:
1 l
L( )   i   i j yi y j (
xi (xxi )j ) (x j ))
2 i , j 1
i 1
 ll


分離関数: ff ((x
x)) 
 sgn
sgn

iiyyii((
x i(xxi ) b(x))  b

ii11


学習も分類も属性空間の内積にのみ依存する
Φ で写像された空間における内積が実際にΦを計算すること
なく求める方法があれば、計算による手間を激減させることが
できる:
K (x i , x j )  (x i )  (x j )
K : Kernel function
例: 多項式Kernel
例: K (xi , x j )  (xi  x j  1) d
d次元の多項式Kernel
d  2 x i  (a1 , a2 )  R 2 , x j  (b1 , b2 )  R 2
K (x i , x j )  (x i  x j  1) 2  (a1b1  a2b2  1) 2
 a12b12  a22b22  2a1b1  2a2b2  2a1a2b1b2  1
 (a12 , a22 , 2a1 , 2a2 , 2a1a2 ,1)  (b12 , b22 , 2b1 , 2b2 , 2b1b2 ,1)T
  : ( z1 , z 2 )  ( z12 , z 22 , 2 z1 , 2 z 2 , 2 z1 z 2 ,1)
この例は、 2次の空間を 6次の空間に写像することと等しい
(d次元の多項式カーネルは、元の空間の属性のd個の組み
合わせ属性を考慮することに相当する)
日本語の係り受け解析
文節の係り受け関係の基づく文の構文解析
二種類の制約:


各文節は(最後の文節を除いて)、常に右側の
文節に係る
文節係り受けは互いに交差しない
日本語の係り受け解析の例
入力文
私は彼女と京都に行きます
形態素解析と文節まとめ上げ
私は / 彼女と / 京都に / 行きます
係り受け解析
私は / 彼女と / 京都に / 行きます
単純なモデル (確率モデル)
Input
私は
1
1.
/ 彼女と
/ 京都に
2
/ 行きます
3
4
係り受け確率を求めて以下
のような行列を作る。
(学習モデルは確率を求め
るものなら何でもよい)
被修飾文節
2. 最大確率を与える木構造を CYK あるい
は Chart 法を用いて求める
修 1
飾
文 2
節 3
Output
2
3
4
0.1
0.2
0.7
0.2
0.8
1.0
係りうけ行列
私は
1
/ 彼女と
2
/ 京都に
3
/ 行きます
4
Model 2: Cascaded Chunking Model
各文節が右側の文節に係ることができる
かどうかを決定的に決めながら、文節のま
とめあげを行う
学習データは、実際に係りうけ解析を実行
する過程を模倣することによって得られる
例: 学習の過程
解析済みの学習文
彼は1
彼女の2
??
彼は
彼は111
D
O
O
彼女の
彼女の22
O
D
属性(2つの文節の内容)と
タグ (D or O) のペアが
SVMのための学習事例とし
て蓄積される
温かい3
?
??
真心に4
?
?
感動した。5
???
温かい3 真心に44 感動した。
感動した。55
D
D
D
学習
データ
蓄積された学習事例
によるSVM学習
SVMs
例: 解析の実行
入力文
彼は1
彼女の2
??
彼は
彼は11111
彼は
彼は
D
O
O
彼女の22
O
D
学習過程で得られた
SVMによって係り受け
関係が決定される
温かい3
?
??
真心に4
感動した。5
?
???
?
感動した。5555
温かい3 真心に44 感動した。
感動した。
D
D
D
SVMs
学習に用いた属性情報
Modify or not?
B
A
この本を3
彼の1 友人は2
His
friend-top
this book-acc
修飾文節
C
持っている4 女性を5 探している6
have
lady-acc
被修飾文節
 静的な属性
 修飾文節/被修飾文節
 中心語/機能語:
表層形, 品詞, 品詞細分類,
活用型, 活用形, 括弧の有無, 引用符の有無, 句読点の有無,…
 文節間属性:
距離, 格助詞の存在情報, 括弧の存在情報,
引用符, 句読点
 動的な属性 [Kudo, Matsumoto 2000]
 A,B: 機能語の情報を被修飾文節に与える
 C:
中心語の情報を修飾文節に与える
be looking for
実験の設定
京都大学コーパス 2.0/3.0

標準データセット
 学習データ: 7,958 文 / 評価データ: 1,246 文
 過去の研究と同一 [Uchimoto et al. 98], [Kudo, Matsumoto 00]

大規模データセット
 38,383 文による2分割交差検定
Kernel関数: 3次の多項式カーネル
評価尺度


係り受け関係の精度
文正解精度
実験結果
データセット
標準
大規模
モデル
Cascaded
Chunking
Probabilistic
Cascaded
Chunking
Probabilistic
係り受け精度
(%)
89.29
89.09
90.45
N/A
文正解精度
(%)
47.53
46.17
53.16
N/A
学習データの
文数
7,956
7,956
19,191
19,191
110,355
459,105
251,254
1,074,316
8
336
48
N/A
0.5
2.1
0.7
N/A
学習事例数
学習時間
(時間)
解析時間
(秒/文)
機械学習に基づく他の日本語係り受け
解析法との比較
学習モデル
学習データ
(文数)
精度
(%)
Fujio & Matsumoto Word cooccurence
[1998]
+ smoothing
EDR corpus(190,000)
86.7
Haruno [1999]
Decision tree +
Boosting
EDR coupus(50,000)
85.0
Uchimoto [1999]
MaxEnt +
probabilities
Kyoto-U corpus(7,956)
87.9
Kanayama [2000]
MaxEnt+constraint EDR corpus(192,778)
Grammar + prob.
Kudo &
Matsumoto [2000]
SVM +
probabilities
Kyoto-U corpus(7,956)
89.1
Kudo &
Matsumoto [2002]
SVM + cascaded
chunking
Kyoto-U corpus(7,956)
89.3
Kyoto-U corpus(19,191)
90.5
88.6
II. SVMを利用した修正学習法
と品詞タグ付け問題への応用
学習アルゴリズムの能力と計算量のト
レード・オフ
学習モデルの能力と計算量
学習モデル
HMM
SVM
計算量
小
大
能力
低
高
制限
大規模な属性空 大規模データに
間の扱いが困難 対する計算量
修正学習法の考え方
問題の大部分は能力が低いが効率のよいモデ
ルで処理が可能 (例えば、HMMによる品詞タグ
付け精度: 95%)
処理のすべてを、能力が高いが効率の悪いモデ
ルで行うのは無駄が多い
2つのモデルの混合:
• 効率よいモデルでデータの大半を処理
• 能力の高いモデルで前者の処理の誤り箇所を推
定して修正する
修正学習法による形態素解析
•HMMモデルによる解析結果の誤りを指摘する分類器を
構成
•効率がよいが能力の低い学習モデルと効率に難点があ
るが能力の高い学習モデルとの組み合わせの一方法
低能力
高効率
Example
Stochastic
Model
高能力
低効率
Binary
Classifier
Revise
Result
修正学習法の例
学習
実行
Stochastic
Model
Class Rank
Training
example
x
A
B
C
D
E
Class Rank
4 Training Data
1 B:x–X
5 E:x–X
D:x–O
3
2
Label: O (Positive)
X (Negative)
Test
example
z
Binary
Classifiers
ABCDE
A
B
C
D
E
4
5
2 O
1 X
3
英語の品詞タグ付け
コーパス:
Penn Treebank WSJ (50 POS tags)
 訓練データ: 41,000 文
 テストデータ: 12,000 文
統計モデル:
ICOPOST T3 (Second order HMMs) [Schröder,2001]
修正モデル:
SVMs (2nd order polynomial kernel & linear kernel)
英語のPOS tagging(結果)
System
学習事例数
T3 /
Original
T3 / RL(2次 1,027,840
多項式)
T3 / RL
1,027,840
(線形)
Full SVM
49,999,200
学習
実行
精度
時間
時間
0.004 0.0076 96.59%
16
0.18 96.98%
2
0.011 96.94%
625
4.7 97.11%
(時間)
(秒/文)
日本語形態素解析
コーパス:
RWCPコーパス (89 POS tags)
 訓練データ: 34,000 文
 テストデータ: 3,800 文
統計モデル:


HMM
茶筌 (可変長HMM)
修正学習モデル:
SVMs (2nd order polynomial kernel)
日本語形態素解析(結果)
システム
HMMs / Original
HMMs / 修正学習
茶筌 / Original
茶筌 / 修正学習
分かち書き精度 分かち書き+
品詞付け
98.42%
95.96%
99.16%
98.23%
99.13%
97.74%
99.28%
98.32%
(F-measure)
まとめ
機械学習に基づく自然言語解析


確率モデル(隠れマルコフモデル、HMM)
Support Vector Machines
品詞タグ付け問題


HMMに基づく手法(茶筌)
修正学習モデルの提案
日本語係り受け解析


擬似確率による手法
Cascaded chunking モデル(南瓜)