012 3456789:;[email protected]/~daiti-m/paper/tokyocl2016npycrf.pdf · 2016. 6. 16. ·...
TRANSCRIPT
条件付確率場とベイズ階層言語モデルの
統合による半教師あり形態素解析
持橋大地 統計数理研究所
藤井遼 道本龍 博報堂(株) 研究開発局
TokyoCL 第5回勉強会
2016-6-15(水)
“不自然”言語の解析
! 従来の新聞記事コーパスでは扱えない言語データ
が増えている (口語, 新語, 新表現, ...)
– 全部人手で辞書登録...?
Twitter Blog
話し言葉の解析
! 多数の口語表現 (“そいで”,“ってさぁ”,“ちゃって”...)
– 無数のバリエーションが存在
! ロボティクスでの音声認識や音声言語科学のために、
長期的にきわめて重要
何て言うんでしょうねその当時はそう思われていたっていうことを全部
ドラマにしちゃうっていうところそういうところとかが面白くて凄く見
てたんですけど最初の方は凄くまともで緋色の研究とか四人の署名とか
そういうのから始まってたんですけどそれはもうとにかく原作に沿って
てこういうこれこれホームズってこれっていうのが見たくて私はずっと
見てます見てましたで凄くこれは何かNHKが放送されてる時から...
CSJ話し言葉コーパスの一部
教師なし形態素解析 (持橋+, ACL2009)
! 生の文字列だけから, 階層ベイズで「単語」を学習
– モデル: NPYLM (Nested Pitman-Yor LM)
1 神戸では異人館 街の 二十棟 が破損した 。
2 神戸 では 異人館 街の 二十棟 が破損した 。
10 神戸 では 異人館 街の 二十棟 が破損した 。
50 神戸 で は異人 館 街 の 二 十 棟 が 破損 し た 。
100 神戸 で は 異 人館 街 の 二 十 棟 が 破損 し た 。
200 神戸 で は 異人館 街 の 二 十 棟 が 破損 し た 。
NPYLM: 文字-単語HPYLMの階層化
! HPYLM-HPYLMの埋め込み言語モデル
– つまり、階層Markovモデル
! 文字HPYLMの は, 文字数分の1 (eucなら1/6879)
PY
PY PY “が”
“彼 が” “教会 が”
“”
PY
単語HPYLM 文字HPYLM
“” “は”
“会”
“教” “国”
“時”
“臨”
PY
NPYLM as a Semi-Markov model
! Semi-Markov HMM (Murphy 02, Ostendorf 96)の
教師なし学習+MCMC法
! 状態遷移確率(nグラム)を超精密にスムージング
こ の 東 京 都 の BOS EOS
“の”
“都の”
“京都の”
教師なし!半教師あり学習
" 教師なし学習は低頻度語, 人間の基準に弱い
– “阪急桂駅”, “首都グロズヌイ”
– “歌 う”!“歌う”, “静か な”!“静かな”
" 生成と識別モデルの結合確率モデル: JESS-CM
– joint probability model embedding style semi-
supervised conditional model (鈴木+ ACL08/09)
– 現在世界最高性能の半教師あり学習
• CRF/HMM, CRF/Naive Bayesなど
識別モデル 生成モデル 重み
も学習
JESS-CMについて
! 識別モデルと生成モデルの積:両方の制約を満たす
ものに高い確率
! 対数線形モデルの形で書ける
– ただし
JESS-CMの学習アルゴリズム
! EMアルゴリズム
– を固定し、 を最適化
• CRFの場合、L-BFGSで勾配法
– を固定し、 を最適化
• HMMの場合、Forward-Backward
• NPYLMの場合、Forward filtering-Backward
sampling (Forward-Backwardからのサンプリング)
JESS-CM on CRF/HMM (鈴木+, ACL2008)
! 同じグラフィカルモデル上で, パスのコストを 重みつきで足し合わせる "CRFとHMMを交互に学習(「教え合う」)
! NPYLMの場合は? (Semi-Markov)
CRF
HMM
+
^ she has a cat $
NPYLM as a Semi-Markov model
! Semi-Markov HMM (Murphy 02, Ostendorf 96)の
教師なし学習+MCMC法
! 状態遷移確率(nグラム)を超精密にスムージング
こ の 東 京 都 の BOS EOS
“の”
“都の”
“京都の”
Semi-Markov CRF (NIPS 2004)を適用?
^ そ の イ ン タ ー ナ シ ョ ナ ル ホ テ ル !!
! 膨大なメモリ (1GB"20GB)
! (教師あり学習の)精度: 高々 95%
– 単語のみ、文字レベルの情報なし
Semi-Markov CRF は 数語のチャンク(例:
NE)をまとめるもの
Markov CRF!"Semi-Markov LMの学習
# どうやって2つの違うモデルを統合するか?
“の”
“都の”
“京都の”
こ の 東 京 都 の ^ $
CRF
NPYLM
CRF!NPYLM
" Andrew+ (EMNLP 2006)で既出、易しい
– CRF!semi-Markov CRFの変換
" NPYLMでは、前向き確率 を計算
– tまでの文字列のうち、最後のk文字が単語の確率
... CRFから対応するポテンシャルが求まる
– これを と書く
1=単語の先頭,
0=単語の継続
t-k t
こ の 東 京 都 の
0
1
CRF!NPYLM (2)
" 次式で前向き確率を計算 (バイグラムの場合)
– semi-Markovモデル上で単語列に対応する
ポテンシャルが、ちょうど1回ずつCRFから
取り込まれる.
" 後向きサンプリングはこれまでと同様
NPYLM!CRF (0)
" CRFの学習に必要なGradientの計算
– これから、
" 教師データのラベルペア (yt,yt-1) に対する周辺確率
が必要
NPYLM!CRF (1)
" Semi-Markovのノードは、MarkovではV字型のパス
に対応している
– p(単語)=
" zt=1:単語の先頭、zt=0:単語の内部
Markov Semi-Markov
1
0
NPYLM!CRF (2)
" CRFの計算に必要なもの: Markovモデルの各パスの重み
– たとえば、
" どうやって求める?
! 周辺化すればよい!
NPYLM!CRF (3)
" パス確率の周辺化=ノード確率の和
– CRFのパスの重み=NPYLMのノードの周辺確率の和
NPYLM!CRF (4)
" Semi-Markov (NPYLM)のノードの周辺確率:
Forward-Backwardで計算
Markov Semi-Markov
1
0
NPYLM!CRF (5)
" に対する勾配は、Semi-Markov側で直接求める
Markov Semi-Markov
1
0
モデル統合のまとめ
! NPYLMの学習は、CRFからの重みを入れて普通に
Forward filtering-backward sampling
! CRFの学習は勾配法を使うが、gradientの計算に
必要なMarkovモデルの各パスの周辺確率は、
実はSemi-Markovモデル上で計算
– 結局、Semi-Markovモデル上でモデル統合
していることに相当する
実装
! 確率的最適化ADFで学習 (Xu+ 2014)
! {B,I}の2状態より、{B,E,I}の3状態が性能がよい
– {B,E,I}の可能なすべての遷移について、NPYLM
からの周辺化確率を計算
! 計算時間: 1日~1週間くらい (データ量に線形)
– 共同研究で、計算可能な程度に高速化された
– 負の二項分布のGLM(内海&持橋, ACL2015)を使って、各文字位置で可能な最大単語長を予測
実験
! 中国語: SIGHAN Bakeoff 2005 MSR (新聞記事)
! 日本語:
– 日本語Twitter
– しょこたんブログ
! 他にもやっていますが、未発表なので省略
実験 (2)
! 京大コーパス+日本語Twitter 10万文
実験 (3)
! 京大コーパス+しょこたんブログ (4万文)
しょこたんブログの「単語」
! 頻度2以上の単語をランダムに抽出 !"""" 2
#$% 2
&'()*+, 2
-./.01203
3/3/ 3
425 45
67/ 11
859/ 12
:;< 2
=,>: 3
?+, 4
@AB 4
078. 6
CDEF 2
GH 47
IJ 17
0K6L082 3
M," 11
N1OP 3
II+I
7
QRS 4
T 12
UU 2
VWX 29
Y 31
Z[[ 55
\]^F 85
_` 3
aPbc 2
defgN 3
hi 34
j1k 2
lm= 2
nR> 6
op" 26
q" 10
a" 85
LaQua 7
,r,r 7
0k6s.-6tu21
092222kvw777 2
x>y+p 3
=># 3
zK{0|}/ 2
~� 3
�� 3
�% 6
;W��: 2
SIGHAN Bakeoff 2005
! 中国語単語分割の標準データセット
– 新聞記事のため, 半教師あり学習の目的とは
やや異なるが...
! データ: MSR Asia 87k+ Chinese Gigaword 500k
– 改善しているが, 大きな改善にはもっとデータ
量が必要 (計算は計画中)
モデル CRF
(2ラベル) CRF
(3ラベル) NPYL
M Sun+ 2014
[ADF+CRF] NPYCR
F
(2ラベル)
NPYCRF
(3ラベル)
Token F値 0.962 0.967 0.958 0.975 0.973 0.976
OOV 再現率 0.742 0.770 0.316 N/A 0.654 0.716
IV 再現率 0.964 0.969 0.982 N/A 0.981 0.983
中国語の分割例
! NPYLMとCRFの
いい所取りが
できた例/できなかっ
た例
– 人名や日付をどう
するかは、人の
基準に依存する
– テストデータの
基準も一様でない
(100%は出ない)
まとめ
! CRFと教師なし形態素解析を組み合わせた、
半教師あり形態素解析
– JESS-CM法の枠組で「教え合う」
– Semi-Markov(単語)<->Markov(文字) の情報
相互変換
! 人手の基準を守りつつ、未知語を完全に自動的に
認識
! 研究課題: 品詞はどうするか?
– ACL2015の話で原理的には可能だが、計算量が
かなり多い