部分木に基づくマルコフ確率場と
言語解析への適用
工藤 拓
松本裕治
奈良先端科学技術大学院大学
1
統計的言語解析 (背景)
Y
X
PRP VBD DT NN
PRP VBD DT NN
X
I ate a
cake
I
ate
a cake
I
ate
Y
a cake
NP
VP
NP
PRP VBD DT NN
I
ate
a
cake
Text Chunking (Shallow
Parsing)
History-based Methods
から
X
Y へ
GlobalYdiscriminative
models
Part of Speech Tagging
X
PRP VBD DT NN
I
ate
a cake
VBD
PRP ate
I
方法論の変化
NN
I
ate a cake
PRP VBD DT NN
DT
a
Dependency Parsing
cake
S
NP
PRP
VP
VBD
ate
I
NP
DT
NN
a
cake
Phrase Structure Parsing
木から木への変換 X: 入力木, Y: 解析木
学習データ : T  { X1 , Y1 ,,  X K , YK }
統計的言語解析: P(Y|X) を最大にする Y を導出2
History-based Methods (HM)
言語処理 (品詞タグ付け, 構文解析) を
分類問題の順次適用として実現
Input:
I
had
an apple
クラス
PRP
PRP VBD
PRP VBD DT
PRP VBD DT
事例 (=履歴)
NN
正準的な構築順序を定義
過去の履歴を元に, 現在
のクラスを決定
既知の学習アルゴリズム
を直接適用可能
3
History-based Methods の問題点
履歴に依存


いったん間違えると, 伝播
ラベルバイアス問題 [Lafferty 01]
最適な構築順序とは?



品詞タグ付け (前向き/後ろ向き)
構文解析 (トップダウン/ボトムアップ/左隅/右
隅)
一意に決定困難 (タスク依存, 入力文依存)
発見的に対処
 前向き, 後ろ向きの多数決 [Kudo 01]
4
Global discriminative models
解析結果 1 つを学習事例とみなす



+1
解析木そのものが正しいか正しくないか学習
構築順序という概念は存在しない
順序に関係せず, 唯一の確率値 P(Y|X)を算出
I
bought a
事例
car with this money
クラス
-1
I
bought a
car with this money


-1
I
bought a
car with this money

MRF/CRF [Lafferty 01]
Tree Kernel [Collins 02]
HMM-SVM [Altun 03]
…
5
Global discriminative models の論点
負例の構築方法



T  { X1 , Y1 ,,  X K , YK }
HM の N-best 解で近似
陰に構築 (動的計画法)
学習アルゴリズム側で動的に生成
学習方法



MRF (線形対数モデル/最大エントロピー)
Boosting
SVM
素性


人手で発見的に定義
Tree Kernel
- 全部分木の候補から素性選択
6
概要
手法



負例の構築方法 (N-best 解)
学習方法 (MRF)
素性 (全部分木候補から素性選択)
実験
考察, 従来研究との比較
まとめと今後の課題
7
1. 手法
- 負例の構築方法
- 学習方法
- 素性
8
負例の構築方法
History-based Methods の N-best 解

確からしい順に N 個結果を得る
 Viterbi + A*
 ビーム探索

N-best 解に正解が存在すると仮定
入力木 X に対する N-best 解の集合を
H(X) と表記
9
学習方法 (1/2)
マルコフ確率場
(a.k.a. 線形対数モデル / 最大エントロピーモデル)
 n

exp i f i (Y ) 
i 1


P (Y | X ) 
Z(X )
 n

Z ( X )   exp i f i (Y ) 
Y H ( X )
 i 1

f i () : 素性関数
  (1 ,, n ) : パラメータ
10
学習方法 (2/2)
パラメータの導出
T  { X1 , Y1 ,,  X K , YK }


最尤推定 (最大エントロピー原理)


ˆ
  arg max logP(Yk | X k )

k

正規分布による正則化 (過学習の抑制) [Chen99]
2


||

||
ˆ
  arg max logP(Yk | X k )  
2 
 

k

: ハイパーパラメータ (交差検定等で設定)
11
素性関数 f i () の設計 (1/3)
解析木の 構造 を考慮したい
解析木 Y 中の 部分木 を素性
各部分木にパラメータ  i が対応
a
a
a
b
c
d
Y
0.2
b
a
c
0.5
-0.1
b 0.1
c -1.0 c
d 0.3
a
d 0.4
a
b
c
0.3
b
a
c
0.1
d
c
d
0.1
12
素性関数 f i () の設計 (2/3)
X: a – b – c
a
b
b
c
a
b
c-0.1 b 0.3
0.1
c
a
c
Y1
a 0.2
H(X): n-best (n=3)
a
b
Y2
a
a
c
0.2
b c
0.1
P(Y1|X)=exp(0.8)/Z
b 0.1
b
a
c-0.1 a -0.3
0.2
Y3
b
b
c
0.1
a c
-0.1
P(Y2|X)=exp(-0.1)/Z
c -0.1
c
a
b0.1 a -0.1
0.2
c
c
b
0.1
a b
0.2
P(Y3|X)=exp(0.4)/Z
正解の解析木の対数確率尤度を最大にするようλを設定
13
素性関数 f i () の設計 (3/3)
T  { X1 , Y1 ,,  X K , YK }
K
素性集合:
F  k 1{t | t  Yk }
素性関数:
ft (Y )  I (t  Y )
(全部分木)
(部分木 t の有無)


exp t f t (Y ) 
 tF

P (Y | X ) 
Z(X )


Z ( X )   exp t f t (Y )
Y H ( X )
 tF

14
素性選択 (1/2)
K
F  k 1{t | t  Yk }
素性集合 F は 巨大
全部分木を使用→ 過学習, 学習困難
素性選択
1.
2.
3.
頻度:
ξ回以上出現する部分木のみ
部分木のサイズ: サイズが L 以上 M以下
クラスと素性の相関性: カイ二乗値が χ以上
1,2,3 を全て満たす部分木のみを使う
Σ=<ξ,L,M,χ>: 素性選択パラメータ
15
素性選択 (2/2)
クラスと素性の統計的な相関性
K
正例:
負例:
P  k 1 Yk
N-best 解
K
N  k 1{H ( X k )  Yk }
「良い」部分木 t : 正例/負例に偏って出現する t
a  OPt , b  ONt , c  OPt , d  ONt
chi(t )  (ad  bc) /(a  b)(a  c)(b  d )(c  d )
2
chi(t) がχ以上の部分木 t を素性
16
実装
頻出部分木マイニングの適用



木の集合から頻出する部分木を効率よく列挙す
るアルゴリズム
最右拡張 (木の枚挙手法)
FREQT [Asai02], TreeMinerV [Zaki02]
最右拡張を用いた高速な解析


~O(|Y|)
リランキングのコストは問題になりにくい
17
2. 実験
18
設定
英語品詞タグ付け


PTB 15 – 18: 学習, 20: テ
スト, 21: dev
HM: 最大エントロピー法に
基づく Tagger, N=20 ☆
英語基本句同定


PTB 15 – 18: 学習, 20: テ
スト, 交差検定: dev
HM: 最大エントロピー法に
基づく Chunker , N=20 ☆
X
I ate a
Y
cake
PRP VBD DT NN
I
ate
a cake
Part of Speech Tagging
X
Y
PRP VBD DT NN
I
ate
a cake
NP
VP
NP
PRP VBD DT NN
I
ate
a
Text Chunking (Shallow Parsing)
☆ [Ratnaparkhi 98] の拡張, 正則化付き最大エントロピー
19
cake
解析木 Y の表現方法
品詞タグ付け
BOS PRP VP
DT JJ
NN
NN
MD VP
TO RB
He reckons the current account deficit will narrow to
#
CD NN
.
EOS
only # 1.8 billon .
基本句同定
BOS
NP VP
PRP VP
NP
DT JJ
VP
NN
NN
MD VP
PP
NP
TO RB
He reckons the current account deficit will narrow to
#
CD NN
O EOS
.
only # 1.8 billon .
20
実験結果 (品詞付与)
モデル
精度
History-based ME Tagger
(n-best 出力用)
95.98%
修正学習法 [Nakagawa et al.
02]
95.87%
提案手法
96.10%
21
実験結果 (基本句同定)
モデル
精度(F
値)
History-based ME Chunker (n-best 出力用) 93.40
History-based SVM Chunker [Kudo et al. 00] 93.46
History-based SVM Chunker の 8システム
の多数決 [Kudo et al. 01]
93.91
History-based RW Chunker [Zhang et al. 02] 93.57
History-based RW Chunker + syntactic
role 素性 [Zhang et al. 02]
94.17
提案手法
22
94.13
考察
両タスクとも、従来手法に比べ高性能
恣意的な素性選択ではなく, 一般的,
統一的な選択
素性選択パラメータ: Σ=<ξ,L,M,χ>

L = 2 に固定したときの最適な M
 品詞タグ付け: M=4
 基本句同定: M=5

大きな部分木は過学習の原因
23
関連研究との比較
負例
学習
素性
欠点
[Collins01 N-best
]
[Collins02 N-Best
]
MRF/Boosting
Heuristics
素性の恣意性
Perceptron
Kernel
解析コスト大
CRF/FF
DP
MRF
Heuristics
[Lafferty01]
[Miyao 03]
陰に列挙
素性の恣意性
学習コスト大
HMM-SVM
〃
SVM
N-best
MRF
[Altun 03]
本手法
(マルコフ性を満
たす必要)
〃
部分木 +
素性選択
〃
24
まとめ
部分木を素性とする MRF の提案


統計的相関性に基づく素性選択
頻出部分木マイニングアルゴリズムの適用
一般的な手法, タスク非依存


英語品詞タグ付け
英語基本句同定
従来手法に比べ高精度
25
今後の課題
他のタスク

係り受け解析, 構文解析
グラフ構造への拡張 (部分グラフ)

頻出部分グラフマイニングアルゴリズム
負例の構築


N-best に変わる新しい手法
マルコフ連鎖モンテカルロ
学習アルゴリズム

HMM-SVM
26
ダウンロード

部分木に基づくマルコフ確率場と言語解析への適用