半構造化テキストの分類のための ブースティングアルゴリズム
DESCRIPTION
半構造化テキストの分類のための ブースティングアルゴリズム. 工藤 拓 松本 裕治 奈良先端科学技術大学院大学情報科学研究科. メールを送受信した日付、時間が表示されるのも結構ありがたいです→良い点 なんとなく、レスポンスが悪いように思います →悪い点. その論議を詰め、国民に青写真を示す時期ではないのか →主観的 バブル崩壊で会社神話が崩れ、教育を取り巻く環境も変わった →客観的. 背景 ~ テキスト分類の多様化. - PowerPoint PPT PresentationTRANSCRIPT
1
半構造化テキストの分類のためのブースティングアルゴリズム
工藤 拓 松本 裕治
奈良先端科学技術大学院大学情報科学研究科
2
背景 ~ テキスト分類の多様化
メールを送受信した日付、時間が表示されるのも結構ありがたいです→良い点なんとなく、レスポンスが悪いように思います →悪い点
その論議を詰め、国民に青写真を示す時期ではないのか →主観的
バブル崩壊で会社神話が崩れ、教育を取り巻く環境も変わった →客観的
メッツ松井、21打席目オープン戦初本塁 →スポーツ大腸がんは細胞増殖制御遺伝子の異常 札幌医大など発表 →科学 自民、森山参院議員を公認へ 衆院鹿児島5区補選 →政治
「単語」を素性 (Bag of Words)機械学習アルゴリズム (SVM, Boosting)
「単語」を素性 ???→ 直感的にうまくいきそうにない
単語のつながり / 関係 , テキストの部分構造
3
半構造化テキストの分類単語の集合としてのテキスト v.s 半構造化テキスト 単語の並び , 係り受け木 , XML (→ ラベル付き順序木 )
構造を考慮した学習 / 分類 学習事例は木 単語ベクトルではない 部分構造 ( 部分木 ) を素性 , サイズに制限を
設けない 最適な素性集合を自動的に選択 テキストマイニングのツール
4
提案手法
5
順序木分類問題ラベル付き順序木 順序木 : 各接点の兄弟間に順序が定義された木 ラベル付き木 : 各節点にラベルが付与された木 ラベル : 単語 , 文節 , HTML XML のタグなど
順序木学習データ : 順序木 x と クラス y (+1 or –1) のペアの
集合
d
ac
a
cd
+1 -1 d
ac
cb
+1 -1 d
ba
a
},,,,,,{ 2211 KK yyyT xxx
T
,, ,T=
6
部分木ある順序木 B が 順序木 A の部分木
e
a d
b c
c
c
f
d
c
e
dc
順序木 A 順序木 B
マッチング関数 φ が存在 φ は単射 φ は親子関係を保存 φ は兄弟関係を保存 φ はラベルを保存
BA
7
Decision Stumps for Tree (1/3)
)1)(2(
)(,
x
xx
tIy
otherwisey
tifyh yt
<t, y>: 分類器のパラメータ ( ルール )
部分木の有無に基づく分類器
d
ac
b x = <t1, y>=< , +1>a
c
h <t1, y>(x) = 1 h <t2, y>(x) = 1
<t2, y>=< , -1>bd例
8
Decision Stumps for Tree (2/3)
)(),(
),(maxargˆ,ˆ
,1
}1,1{,
iyt
K
ii
yFt
hyyt gain
ytgainyt
x
学習 : gain (~精度 ) が最大のルールを選択
} '|'{1
i
K
i
ttF x
F: 素性集合 ( すべての部分木の集合 )
},,,,,,{ 2211 KK yyyT xxx
9
Decision Stumps for Tree (3/3)
d
ac
a
cd
+1 -1 d
ac
cb
+1 -1 d
ba
a
a, +1 +1 +1 +1 +1 0
<t,y>
a, -1 -1 -1 -1 -1 0 b, +1 -1 -1 +1 +1 -1
cb
da
-1
+1 +1 +1 -1 2
……
ac
d
+1+1 -1 +1 -1 4
Gain が 最大になる <t,y> を選択
gain
10
Boosting の適用Decision Stumps だけでは精度が悪いBoosting [Schapire97] を適用
1. Weak Leaner (Decision Stumps) を構築 : Hj
2. Hj が誤って /正しく分類した事例の重み (頻度 )を 増やす /減らす
3. 1, 2 を T 回繰り返す4. H1 ~ HT の重み付き多数決を最終的な学習器と
する
gain: 重み (頻度 ) di を導入
K
iiiiyt
K
iii ddhydyt
1,
1
1,0 ),(),(gain x
11
実装
12
弱学習器の構築 (再考 ))(maxargˆ,ˆ ,
1}1,1{,iyt
K
iii
yFthydyt x
} '|'{1
i
K
i
ttF x
素性集合 F は巨大 効率よく最適ルールを発見する必要がある
分枝限定法 (Branch-and-Bound)• 部分木を列挙する探索空間 を定義 ( 最右拡張 )• 探索空間を辿りながら , gain を最大にする部分木を発見• gain の上限値を見積もり , 探索空間を枝刈り
13
最右拡張 [Asai02, Zaki02]部分木を 完全に , 重複なく 枚挙する方法サイズ k の木に 1ノード追加し k+1 の木を構築 最右の枝に末弟として追加再帰的に適用→探索空間
14
探索空間の枝刈り すべての について
なる上限値を見積もる 準最適 gain が分かっているとき ,
ならば、 t から先は枝刈り可能
}1,1{ ,' ytt
)(),'( tytgain
)(t
4.0
4.0
gain
7.0
)( 1.0
gain
6.0
)(3.0
gain
5.0
)( 4.0
gain
)( 5.0 gain
)( 4.0 gain
枝刈り- 準最適 gain: 0.5- 0.4 以上の解はこの先の空間に存在しない
)(),'(
,'
tytgain
tt
15
上限値の見積もり [Morishita02] の拡張
},1|{ 1
},1|{ 1
2
,2
max)(
x
x
tyi
K
iiii
tyi
K
iiii
i
i
dyd
dyd
t
)(),'(
}1,1{,'
tytgain
ytt
16
分類関数
Ft
yFtyt
yFtytyt
btIw
tIy
hf
t)(sgn
)1)(2(sgn
)(sgn)(
}1,1{,,
}1,1{,,,
x
x
xx
)(
)(2
1,1,
1,1,
Rttt
ttt
b
w
- 単純な線形分類器- wt : 木 t に対する重み- b : バイアス ( デフォルトクラス )
)1)(2()(, xx tIyh yt
17
SVM との関連性
18
SVM と Tree Kernel [Collins 02]
)}(,),({)( 1 xxxx JtItI b
ac {0,…,1,…1,…,1,…,1,…,1,…,1,…,0,…}
a b c a
b
a
c b
a
c
Tree Kernel: 全部分木を素性
btIw
bf
t )(sgn
})(sgn{)(
x
xwx
SVM:
btIwft
)(sgn)( xxBoosting:
モデルの形 , 素性空間は同一重み w の導出原理 , 方法が異なる
19
SVM v.s Boosting 精度という観点では比較困難 ( タスク依存 ) Boosting の利点 解釈のしやすさ
分類に有効な素性 ( 部分木 ) が陽に抽出できる分類が陽に実行され , 分析しやすい
素性集合がスパース必要最小限の素性が選択され、冗長なものは排除
分類が高速少数の素性でモデルが表現でき , 分類が高速Kernel Methods は非常に遅い
20
実験
21
文の分類問題 評判分類 : PHS (5741 文 ) ドメイン : PHS の批評掲示板 カテゴリ : 良い点 , 悪い点
文のモダリティ判定 [ 田村ら 96]: mod (1710 文 ) ドメイン : 新聞記事 ( 社説 ) カテゴリ : 断定 , 意見 , 叙述
良い点 : メールを送受信した日付、時間が表示されるのも結構ありがたいです。悪い点 : なんとなく、レスポンスが悪いように思います。
断定 : 「ポケモン」の米国での成功を単純に喜んでいてはいけない。意見 : その論議を詰め、国民に青写真を示す時期ではないのか。叙述 : バブル崩壊で会社神話が崩れ、教育を取り巻く環境も変わった。
22
文の表現方法 N- グラム (ngram) 直後の単語に係る木 部分木は N- グラム
係り受け木 (dep) 文節内は直後に係け , 文節内の最後の形態素は , 係り先
の文節の head に係ける
単語の集合 (bow) ベースライン
BOS/ レスポンス / が / とても / 悪い /。 / EOS
BOS/ レスポンス / が / とても / 悪い /。 / EOS
すべて単語の表層ではなく、原型を用いた
23
結果
SVM + Tree Kernel
dep 77.0 24.2 81.7 87.6
n-gram
78.9 57.5 84.1 90.1
ベースライン (bow) より高精度 dep v.s n-gram: 有意差は認められない
PHS MOD
opinion assertion description
Boosting bow 76.0 59.6 70.0 82.2
dep 78.7 78.7 86.7 91.7
n-gram
79.3 76.7 87.2 91.6
SVM はカテゴリによって極端に精度が悪い
24
「使う」を含む素性
0.00273 使う たい 0.00015 使う0.00013 使う てる0.00007 使う やすい
「充電」を含む素性0.0028 充電 時間 が 短い -0.0041 充電 時間 が 長い
「にくい」を含む素性
解釈のしやすさ (1/2)
-0.000177 にくい 。-0.000552 にくい なる た-0.000696 読む にくい-0.000738 にくい なる-0.000760 使う にくい -0.001702 にくい
-0.00010 使う やすい た-0.00076 使う にくい-0.00085 は 使う づらい-0.00188 方 が 使う やすい-0.00233 を 使う てる た
0.004024 切れる にくい
Ft
btIwft
)(sgn)( xx
PHS データセット (dep) の例
25
解釈のしやすさ (2/2)
木 t と重み wt
事例分類結果
Ft
btIwft
)(sgn)( xx
PHS データセット (dep) の例
26
その他の利点
素性集合がスパース Boosting: 1,783 ルール
1-gram, 2-gram, 3-gram の異なり数がそれぞれ 4,211, 24,206, 43,658
SVM: おそらく 数十 ~百万
分類が高速 Boosting: 0.135秒 / 1149 事例 SVM: 57.91秒 / 1149 事例 400 倍程度 高速
PHS データセット (dep) の例
27
まとめと今後の課題 部分木を素性とする Decision Stumps 分枝限定法 Boosting の適用 , SVM との関連性 利点 解釈のしやすさ 素性集合がスパース 分類が高速 グラフ構造への拡張 部分グラフの枚挙アルゴリズム G-span [Yan et al. 02]
28
Kernel 法に基づく SVMs との関連性
Decision Stumps に基づく Boosting Tree Kernel に基づく SVM
本質的に同一 類似点 学習に使われる素性 マージン最大化に基づく学習 相違点 マージンのノルム モデルのスパース性
29
分類の高速化 (1/3)
Rt
yFtyt
yFtytyt
btI
tIyw
hwf
t)(sgn
)1)(2(sgn
)(sgn)(
}1,1{,,
}1,1{,,,
x
x
xx
)(
)(2
}0)(,|{
1,1,
1,1,
1,1,
Rttt
ttt
tt
wwb
ww
wwFttR
- 単純な線形分類器-R : 分類に必要な素性集合 |R|<<|F|
)1)(2()(, xx tIyh yt
30
分類の高速化 (2/3)
Rt
btIft
)(sgn)( xx
分類のコストは , 入力 x に対し を導出するコストと同一
}|{ x ttR
単純な方法 - R 中のそれぞれの木が x の部分木になるか チェック → O(|R|) - x 中の部分木を列挙して R 中にあるかチェック → O(exp(|x|))
31
分類の高速化 (3/3)木の文字列表現
b
d
a
e
b
d
a
i
c
c
a b c –1 d e
a b c –1 –d –1 –1 i
- 文字列表現のノードの出現順 = RME の適用順- TRIE = RME が作る探索空間- 分類 : TRIE を辿ることで実現 , コスト ~ O(|x|)
a
d
b
d
-10.2 b c
-0.3 b d –1 e
0.1 a d
0.5 a b –1 c
-0.2 a b d
0.3 a b c
subtrees root
b
c d -1
c0.3
c
e
0.1
-0.2
0.2
-0.30.5
RTRIE
32
SVM v.s Boosting (2/4)1/1/1 1, |||| qppw q ノルムマージンの最大化
d
SVM: 2 ,|||| 2 qw
d
Boosting: q ,|||| 1w
∞ノルム→冗長な次元を削除
33
最右拡張 [Asai02, Zaki02]
B
A
C
1
2 4
A B5 6C3
B
A
C
1
2 4
A B5 6C3
B
A
C
1
2 4
A B5 6C3
B
A
C
1
2 4
A B5 6C3
最右枝7
77
サイズ k の木に 1 つのノードを追加し サイズ k+1 の木を構築 - 最右枝に追加 - 末弟として追加
の位置 x ラベルの種類 {A,B,C}の木が構築される
34
Boosting
35
SVM v.s Boosting (1/3)
1||||
,))(( ..
2
maxarg
w
xw
ww
iiyts
J
SVM:
1||||
,))(( ..
1
1
maxarg
w
x
ww
J
jijji hwyts
J
Boosting:
1. 1 つめの制約は、本質的に同一 - Tree Kernel → すべての部分木を素性 - Boosting → すべての部分木を弱学習器2. 相違点は、 w のノルム (1-norm, 2-norm)
36
Tree Kernel [Collins 02][Kashima 03]
)}(,),({)( 1 xxxx JtItI
ba
c {0,…,1,…1,…,1,…,1,…,1,…,1,…,0,…}
a b c a
b
a
c b
a
c
),()()( 2121 xxxx K
SVM (Kernel Methods) は , 事例間の内積しか使わない→ 陽に素性展開せず , 陰に内積のみを効率よく計算→ 素性抽出を , Kernel (一般化された内積 ) として実現
全部分木を素性
37
上限値の見積もり[Morishita 02] の拡張
y=+1 y=-1
t
T
t’
'tt 2・ ( ) + C
- -= 2・ ( ) + 定数 =C
2・ ( ) + C
)1,'gain( t 2 ・ ( ) - C
max( , ) )(t ),'gain( yt 2・ ( ) – C 2・ ( ) + C
)1,'gain( t -
)(),(gain ,1
iyti
K
ii hdyyt x
- ++1 -1 -1 +1