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
ii11
学習も分類も属性空間の内積にのみ依存する
Φ で写像された空間における内積が実際にΦを計算すること
なく求める方法があれば、計算による手間を激減させることが
できる:
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 モデル(南瓜)
© Copyright 2026 ExpyDoc