統計的手法による...
TRANSCRIPT
進藤 裕之
NTT コミュニケーション科学基礎研究所
2012.12.19
最先端構文解析とその周辺@統計数理研究所
統計的手法による
文法モデリングと構文解析
全体構成
Part1. 統計的手法による構文解析
Part2. 確率的文法モデリング
Part3. 確率的文法モデルの学習
Part4. 現在の到達点と今後の展開
Part1. 統計的手法による構文解析
構文解析プログラム
I have a pen
入力: 文 出力: 構文木
自然言語処理における構文解析
統語構造 I ahave
S
NP VP
VP NP
pen
色々な種類の構文木がある
言語学的考慮 + 計算機での扱いやすさ + α
I ahave
S
NP VP
VP NP
pen
have
I pen
a
・文脈自由文法
・木置換文法
・依存文法(係り受け)
・木接合文法
・範疇文法
文法の選択基準:
構文解析プログラム
I have a pen
入力: 文 出力: 構文木
自然言語処理における構文解析
I ahave
S
NP VP
VP NP
pen
I ahave
S
NP VP
VP NP
penI ahave
S
NP VP NP
pen
確率:0.001 確率:0.3
I ahave
S
VP NP
pen
確率:0.02
統語構造CYK法
統計的手法による構文解析
P(構文木A) = ?
確率的文法モデル
the
NP
NN
部分木を組み合わせて“P(構文木)”を計算する
S
NP VP
I
確率:0.1 確率:0.03
love
VP
VP NP
確率:0.002
I ahave
S
NP VP
VP NP
pen
統計的手法による構文解析
構文解析プログラム
I have a pen
the
NP
NN
I love
S
NP VP
VP NP
you
構文木コーパス(数万文)
S
NP VP
I
確率:0.1 確率:0.03
love
VP
VP NP
確率:0.002
確率的文法モデル
I ahave
S
NP VP
VP NP
pen
構文解析プログラムの作成へ向けて
Q1. 構文木・部分木の確率を具体的に計算するには?
Part2. 確率的文法モデリング
Q2. 構文木コーパスから部分木を推定するには?
P(構文木) = ?
Part3. 確率的文法モデルの学習
統計的手法による構文解析
構文解析プログラム
I have a pen
the
NP
NN
構文木コーパス(数万文)
S
NP VP
I
確率:0.1 確率:0.03
love
VP
VP NP
確率:0.002
確率的文法モデル
Q1
Q2
I love
S
NP VP
VP NP
you
I ahave
S
NP VP
VP NP
pen
Part2. 確率的文法モデリング
例1: 確率木置換文法
例2: 確率木接合文法
確率的文法モデル
P(構文木) = ?
木置換文法
S
S
VPNP
VBP
love
NP
S
木置換文法
部分木
S
VPNP
VBP
love
NP
木置換文法
NP
I
PRP
S
VPNP
VBP
love
NP
木置換文法
NP
I
PRP
S
VP
VBP
love
NP
木置換文法
NP
PRP
you
S
VP
VBP
love
NP
NP
I
PRP
木置換文法
NP
PRP
you
NP
I
PRP
S
VP
VBP
love
木置換文法
確率木置換文法
NP
PRP
you
NP
I
PRP
S
VPNP
VBP
love
NP
部分木1
部分木2
部分木3
P(構文木)=P(部分木1)×P(部分木2)×P(部分木3)
確率木置換文法
NP
PRP
you
NP
I
PRP
S
VPNP
VBP
love
NP
P(部分木)=?
部分木1
部分木2
部分木3
部分木の確率モデル
S
VPNP
VBP
love
NP
確率補間(スムージング)
S
VPNP VP
VBP NPVBP
love
部分木 単純化した部分木
補間
← 0になる可能性
部分木の確率モデル
S
VPNP
VP
VBP NP
単純化した部分木 さらに単純化した部分木
S
NP
S
VP
VP
VBP
VP
NP
補間
補間
← 0になる可能性
確率木置換文法
NP
PRP
you
NP
I
PRP
S
VPNP
VBP
love
NP
P(構文木)=0.024
部分木1
部分木2
部分木3
確率木置換文法
NP
PRP
you
NP
I
PRP
S
VP
VBP
love
1
0
0
0 1
0
0
木置換文法の情報をノードに埋め込む
NP
PRP
you
S
VP
VBP
love
NP
NP
NP
I
PRP
確率的木置換文法
潜在変数
構文木
NP
PRP
you
NP
I
PRP
S
VP
VBP
love
= 観測データ
潜在変数を含む確率モデルになる
NP
PRP
you
NP
I
PRP
S
VP
VBP
love
1
0
0
0 1
0
0
例1: 確率木置換文法
例2: 確率木接合文法
= 確率木置換文法 + 部分木の挿入操作
NP
確率木接合文法
NP
NP
DT N
girl
確率木接合文法
NP
DT N
girl
確率木接合文法
NP
DT N
girl
DT
the
確率木接合文法
NP
DT N
girlthe
確率木接合文法
NP
DT N
girlthe
N
JJ
pretty
N
挿入
確率木接合文法
NP
DT N
girlthe
N
JJ
pretty
N
挿入
確率木接合文法
NP
DT N
girlthe
N
JJ
pretty
N
挿入
確率木接合文法
NP
DT N
the
N
JJ
pretty
N girl
挿入
確率木接合文法
NP
DT N
the
N
JJ
pretty
N girl
挿入
確率木接合文法
NP
DT
girl
the
N
JJ
pretty
N
挿入
確率木接合文法
NP
DT
girl
the
N
JJ
pretty
N
挿入
確率木接合文法
NP
DT
girl
the
N
JJ
pretty
N
確率木接合文法
部分木1
部分木2
部分木3
P(構文木)=P(部分木1)×P(部分木2)×P’(部分木3)
確率木接合文法
NP
DT N
girl
N
JJ
pretty
N
DT
the
挿入用の確率分布
木接合文法の情報をノードに埋め込む
確率木接合文法
NP
DT N
girl
N
JJ
pretty
N
DT
the
NP
DT
girl
the
N
JJ
pretty
N
1
0
2
30
確率木接合文法
潜在変数
構文木
= 観測データ
潜在変数を含む確率モデルになる
NP
DT
girl
the
N
JJ
pretty
N
1
0
2
30
NP
DT
girl
the
N
JJ
pretty
N
例1: 確率木置換文法
例2: 確率木接合文法
例3: 確率範疇文法
I ahave
S
NP S\NP
(S\NP)/NP NP
pen
確率範疇文法
P(構文木)=P(部分木1)×P(部分木2)×P(部分木3)
P(部分木): 対数線形モデルなど
範疇文法の情報をノードに埋め込む
確率範疇文法
I ahave
S
NP S\NP
(S\NP)/NP NP
pen I ahave
S
NP NP
VP NP
pen
1
0
0
2 0
確率範疇文法
潜在変数
構文木
= 観測データ
潜在変数を含む確率モデルになる
I ahave
S
NP NP
VP NP
pen
1
0
0
2 0
I ahave
S
NP NP
VP NP
pen
計算機が推定
例1: 確率木置換文法
例2: 確率木接合文法
例3: 確率範疇文法
例4: 確率Ⅹ文法 → 同様に潜在変数モデル化可能
(参考)シンボル細分化木置換文法
S-0
VP-2NP-0
VBP-0
love
NP-1NP-0
I
PRP-0 NP-1
PRP-0
you
S
VPNP
VBP
loveI
PRP NP
PRP
you
構文木 SR-TSG
木置換文法 + シンボル細分化
[shindo et al. ACL 2012]
Part2. まとめ
1. P(構文木)=P(部分木1)×P(部分木2)×……
2. 文法モデルを選ぶ/自分で作る
3. 構文木に含まれていない情報 → 潜在変数
4. 潜在変数の推定は計算機に任せる
Part3. 確率的文法モデルの学習
Part3. 確率的文法モデルの学習
確率的文法モデルの学習
P(構文木)を最大にする潜在変数を求める
NP
PRP
you
NP
I
PRP
S
VP
VBP
love
P(構文木)=P(部分木1)×P(部分木2)×P(部分木3)
NP
PRP
you
NP
I
PRP
S
VP
VBP
love
1
0
0
0 1
0
0
確率的文法モデルの学習
・ マルコフ連鎖モンテカルロ法 [Johnson 07]
・ 期待値最大化(EM)法 [Matsuzaki 05] [Petrov 06]
・ 変分ベイズ法 [Liang 07] [Coehn 10]
木構造データの潜在変数を推定する方法
NP
PRP
you
NP
I
PRP
S
VP
VBP
love
0
0
0
0 0
0
0
ギブスサンプリング
NP
PRP
you
NP
I
PRP
S
VP
VBP
love
0
1
0
0 0
0
0
ギブスサンプリング
NP
PRP
you
NP
I
PRP
S
VP
VBP
love
1
1
0
0 0
0
0
ギブスサンプリング
NP
PRP
you
NP
I
PRP
S
VP
VBP
love
1
1
0
0 0
0
0
ギブスサンプリング
NP
PRP
you
NP
I
PRP
S
VP
VBP
love
1
1
0
0 0
0
0
ギブスサンプリング
NP
PRP
you
NP
I
PRP
S
VP
VBP
love
1
1
0
1 0
0
0
ギブスサンプリング
NP
PRP
you
NP
I
PRP
S
VP
VBP
love
1
1
0
1 1
0
0
ギブスサンプリング
NP
PRP
you
NP
I
PRP
S
VP
VBP
love
1
1
0
1 1
0
0
ギブスサンプリング
ギブスサンプリングは上手くいかない
確率
ブロック化サンプリング
S
VPNP
S
VPNP
S
VPNP0
0 0
1
1
1 0
0 0
ブロック化サンプリング
文の全ノードの潜在変数を一度に更新する[Johnson 07]
S
VPNP
I
PRP VBP
love
NP
PRP
you
S
VPNP
I
PRP VBP
love
NP
PRP
you
0
1 000 1
0
動的計画法
Part4. 現在の到達点と今後の展開
現在の到達点
Berkeley parser[Petrov et al. 06]
Charniak parser[Charniak & Johnson 05]
Berkeley + PoE[Petrov 10]
SR‐TSG + PoE[shindo 2012]
SR‐TSG91.1
92.4
91.8
91.4
構文木コーパス: 4万文言語: 英語
90.1
現在の到達点
構文木コーパスが4万文あれば,新聞記事のデータ(英語)に対して,精度は90%を超える
・問題点:
・新聞記事以外のデータは精度が低い
・Twitterなどの崩れた文は解析に失敗しやすい
教師あり学習から教師なし学習へ
the
NP
NN
構文木コーパス(数万文)
S
NP VP
I
確率:0.1 確率:0.03
love
VP
VP NP
確率:0.002
確率的文法モデル
I love
S
NP VP
VP NP
you
教師あり学習から教師なし学習へ
the
NP
NN
普通の文(数億文以上)
S
NP VP
I
確率:0.1 確率:0.03
love
VP
VP NP
確率:0.002
確率的文法モデル
I love you
言語処理以外への展開
・音楽データの解析
‐ 木置換文法 [Bod 02]‐ 組合せ範疇文法 [Granroth‐Wilding 12]
・バイオインフォマティクス(RNAの解析)
‐ 文脈自由文法 [Eddy & Durbin 94]‐ 木接合文法 [Dowell 04]