[招待講演]

自然言語処理におけるベイズ統計
持橋大地
ATR 音声言語コミュニケーション研究所 /NICT
daichi.mochihashi@atr.jp

電気情報通信学会 ニューロコンピューティング研究会
2006-10-11, NAIST[招待講演] 自然言語処理におけるベイズ統計 – p.1/34

はじめに• 自然言語処理 · · · 自然言語 [英語, 日本語, 中国語, ラテン語, · · · ]の計算機での処理と理解◦ 現在の主流は, 統計的自然言語処理− 大量のコーパスに基づく言語の統計モデル• 自然言語処理の特徴:◦ データが離散的 (↔ ベクトル空間)◦ 超高次元, かつ超スパース (↔ DNA 系列など)⇓• 対象は自然言語に限られない◦ 高次元かつ離散的なデータは, 実は Ubiquitous

1. 映画, 音楽, 書籍, . . . などの購入データ
2. 人々の間のメールのやり取りの時系列
3. Web ページの間に張られたハイパーリンク構造
4. ゲームなどの手···◦ これらの処理の基礎理論ともなっている[招待講演] 自然言語処理におけるベイズ統計 – p.2/34

Overview• 自然言語処理における問題◦ 教師あり学習タスク / 教師なし学習タスク• 教師あり学習 (識別モデル) のベイズ推定◦ 形態素解析, 構文解析, 係り受け解析, . . .
• 教師なし学習 (生成モデル) のベイズ推定◦ ナイーブベイズから DM, LDA へ◦ LDA と画像および音楽• 自然言語のベイズモデルの未来• 結論とまとめ[招待講演] 自然言語処理におけるベイズ統計 – p.3/34

自然言語処理における問題• 統計的自然言語処理の主なタスク◦ 統計的機械翻訳◦ 形態素解析 (eg. Chasen/MeCab)◦ 係り受け解析 (eg. Cabocha), 構文解析
◦ 文書要約, 意見抽出, 質問応答
◦ 対話や独話, テキストのモデル化• 応用として, リンク解析, 協調フィルタリング• 学習用言語データの種類◦ タグ付きコーパス◦ タグなし生言語データ◦ ユーザーが勝手にタグをつけてくれたデータ[招待講演] 自然言語処理におけるベイズ統計 – p.4/34

タグ付きコーパスと識別モデル• 言語に, 内観による正解タグが付いているデータ◦ 構文解析結果
◦ 形態素解析結果◦ 言葉の間の照応関係◦ 評価表現 (よい評価/悪い評価)• 詳細は, http://cl.naist.jp/ –> 自然言語データに関する情報 など• 正しいタグ付きデータを作成する労力は膨大だが, タスクによっては不可欠• 学習の目標は, 未知データに対してその持つべきタグを正しく推定すること◦ 構文解析タグ/形態素解析タグ− 探索空間は指数的に爆発する◦ この意見は + か − か?
◦ 識別結果は離散的[招待講演] 自然言語処理におけるベイズ統計 – p.5/34

タグ無しコーパスと生成モデル• タグを持たない生言語データ◦ 実質的にタグのついているものもある (次ページ)◦ 深い言語的構造は, 推定が難しい• Web や CD-ROM などから, 大量に集めてくることが可能• 隠れクラスに基づく言語の生成モデル◦ 文書モデル, 文モデル (n-gram など)◦ 「タグ」に相当するものを隠れ変数とする• 学習の目標は, 未知のタグなしデータの予測性能を上げること◦ 言語表現として適切なものに高い確率◦ 言語の高次元空間での, Density Modeling[招待講演] 自然言語処理におけるベイズ統計 – p.6/34

ユーザによるタグ付き言語データ• タグ付きコーパス以外にも, ユーザーが勝手にタグを付けてくれたデータがある◦ ブログ記事についたカテゴリ情報◦ Amazon の評価☆の数と, 評価テキスト◦ “文書” もある種の教師データ (その中で意味が一様)◦ その他, 探せば色々あるはず• 欠点:◦ タグは必ず正解とは限らない◦ タグの言語的深さには限界もある• 可能な範囲で, 自動的に付いたモダリティを活用する学習モデルがこれから有用◦ 現在の自然言語処理は, 前の二分野に分かれている[招待講演] 自然言語処理におけるベイズ統計 – p.7/34

識別モデルのベイズ学習
1. 形態素解析/タギング
2. 構文解析3. 係り受け (依存構造) 解析[招待講演] 自然言語処理におけるベイズ統計 – p.8/34

形態素解析/タギング [1/3]
国境の長いトンネルを抜けると雪国
であった。
EOS

名詞, 一般,*,*,*,*, 国境, コッキョウ, コッキョー
助詞, 格助詞, 一般,*,*,*, の, ノ, ノ
形容詞, 自立,*,*, 形容詞・アウオ段, 基本形, 長い, ナガイ, ナガイ
名詞, 一般,*,*,*,*, トンネル, トンネル, トンネル
助詞, 格助詞, 一般,*,*,*, を, ヲ, ヲ
動詞, 自立,*,*, 一段, 基本形, 抜ける, ヌケル, ヌケル
助詞, 接続助詞,*,*,*,*, と, ト, ト
名詞, 一般,*,*,*,*, 雪国, ユキグニ, ユキグニ
助動詞,*,*,*, 特殊・ダ, 連用形, だ, デ, デ
助動詞,*,*,*, 五段・ラ行アル, 連用タ接続, ある, アッ, アッ
助動詞,*,*,*, 特殊・タ, 基本形, た, タ, タ
記号, 句点,*,*,*,*,。,。,。

テキスト xタグ系列 t[MeCab による解析例]• 目標: 教師データを基に, 入力テキスト x から正しいタグ系列 tを求めること.
• タグは一つではなく, 階層的/スパース =⇒ HMM では不充分◦ Conditional Random Fields (Lafferty et al. 2001) とその拡張が, 現在標準的に使われている[招待講演] 自然言語処理におけるベイズ統計 – p.9/34

形態素解析/タギング [2/3]• 入力列を x = x1 x2 · · · xn , タグ列を t = t1 t2 · · · tn とすると, 下の隠れグラフでのタグ系列の予測問題
ti−1

xi−1

tixi

ti+1

xi+1

◦ ti−1 : 助詞, 格助詞, 一般, 「を」◦ ti+1 : 動詞, 自立, 基本型, 一段活
用 「抜ける」◦ xi : 「雪国」

• CRF のパラメータを Λ とすると, 次のタグ系列全体の確率を最大化p(t|x, Λ) =

1exp 
Λ·F (t, x)
Z(Λ)
n K

1
exp =λk f (ti , xi , ti−1 , xi−1 )

Z(Λ)
i=1 k=1(1)(2)

Clique potential◦ Λ = (λ1 , . . . , λK ) は素性 k に対する重み◦ 系列全体のロジスティック回帰問題 (Forward-Backward で解く)

[招待講演] 自然言語処理におけるベイズ統計 – p.10/34

形態素解析/タギング [3/3]ti−1• CRF の推定法: 最尤推定

titi+11exp Λ·F (t, x)p(t|x, Λ) =Z(Λ)
xi−1
xi+1xi
 n K
1exp=λk f (ti , xi , ti−1 , xi−1 )
Z(Λ)

(3)

(4)

i=1 k=1• 各 λk がオーバーフィットする危険性→ Λ に事前分布を与える

p0 (Λ) ∼ N(0, diag(α)).

(5)◦ Forward-Backward の代わりに, Power EP (Minka 2004) で解く− α-ダイバージェンス最小化◦ 訓練データの各系列について, Λ の事後分布が得られる→経験ベイズ法で α を推定◦ 通常の CRF よりも, 常に高性能 (Qi et al. 2005)[招待講演] 自然言語処理におけるベイズ統計 – p.11/34

確率的文脈自由文法 (PCFG)• 確率的文法規則:◦ S → NP VP [1.0]◦ NP → NP PP [0.4]◦ NP → astronomers [0.07]◦ NP → stars [0.1]◦ :SNPVPastronomers• 実際の膨大なテキストを解析する文法NPVsawNPstarsPPP

NP→ 規則の数が巨大
withrings◦ ほとんど使われない規則が, 多数存在
◦ オーバーフィット問題• ベイズ解法: 規則 A → α ( α p(α|A) = 1) [離散分布] に, ディリ
クレ事前分布を与える (栗原他 2004)◦ 変分ベイズ法による Forward-Backward◦ どの分岐規則についても, 同じ事前分布に従うのでよいか?
(栗原他 2004 では, ハイパーパラメータ u = 2)
[招待講演] 自然言語処理におけるベイズ統計 – p.12/34

係り受け解析 [1/2]

EOS

彼女は-----------------D
戸口に-D|
立って-----D|
ドアを---D|
手で-D|
押し開けたまま、-------D
私に-D|
向って---D「そむと、せら」と-D言った。

[Cabocha による解析例]• 文法を必要としない構文解析法として, 最近特に注目されている◦ 日本語以外の言語にも適用可能• 学習の目標: 入力文 x に対し, 最適な係り受け木 y を求めること◦ 可能な係り受け木 y の探索空間は厖大◦ 総係り受けコスト s(x, y) = 各係り受けコストの総和− 各係り受け関係は独立と仮定する[招待講演] 自然言語処理におけるベイズ統計 – p.13/34

係り受け解析 [2/2]• 入力文 x からの係り受け解析木 y の推定：

ŷ = arg max s(x, y)

(6)

y∈Y

ここで, 解析コスト s(x, y) はs(x, y) =d(i, j)i,j∈y=

i,j∈yw·F(i, j) =(8)(7)

 wk fk (i, j)(9)

i,j∈y k◦ 正解の係り受け i, j を分類する perceptron◦ 重みベクトル w を学習 (次元数＝素性数 k は厖大)• Bayes Point Machines による学習 (Corston-Oliver et al. 2006)◦ オンライン学習された perceptron の重み付き平均◦ 最近のマージン最大化法 (MIRA) とほぼ同精度− w の空間で Bayes point を求める ↔ マージンを最大化する[招待講演] 自然言語処理におけるベイズ統計 – p.14/34

自然言語処理の識別モデルのベイズ学習 (まとめ)• ごく最近になって, 自然言語処理の識別モデルにもベイズ学習が導入されている◦ これまでは SVM, ME, Boosting などの分類器• 目的 = パラメータの過学習緩和◦ モデルはベクトル空間◦ 事前分布はガウス分布や一様分布◦ 隠れ変数や階層モデルは無い• 識別モデルの長所: 生成モデルが不要◦ 構文木や係り受けの生成モデル?
◦ 複雑な言語タグの生成モデル?
− 識別モデルは近似的な部分が多いが, versatile− ただし, タグ付き教師データが必要[招待講演] 自然言語処理におけるベイズ統計 – p.15/34

自然言語の生成モデルのベイズ推定
1. Naïve Bayes 法
2. Dirichlet Mixtures (DM)• Unsupervised “Non-Naïve” Bayes 法
3. Latent Dirichlet Allocation (LDA)
4. DM/LDA の応用 (画像/音楽との統合モデル)[招待講演] 自然言語処理におけるベイズ統計 – p.16/34

Naïve Bayes 法• SPAM の判定法で有名 (Graham, 2002)◦ クラスは 2 個: c = 1(SPAM), c = 0(No SPAM = HAM)
• 学習データ: HAM/SPAM のタグつき電子メール• 目標: メールのクラス判別◦ 文書 (メール)d について, クラス事後確率p(c|d) ∝ p(c)p(d|c)(10)

を求めたい.
◦ p(d|c) : 文書 d のクラス c からの生成モデル• 具体的には..

SPAM

Mail

HAM

[招待講演] 自然言語処理におけるベイズ統計 – p.17/34

Naïve Bayes 法 (2)• “bag of words” の仮定◦ 単語がクラス (HAM/SPAM) だけに依存してバラバラに出現(1-gram)◦ クラスごとの単語の生起確率 (1-gram 分布) p(v|c)• 文書 d の生成確率p(d|c) =p(v|c)n(d,v)

(11)

v∈V

◦ n(d, v) は単語 v が文書 d に出現した回数• よって,p(c|d) ∝ p(c)

p(v|c)n(d,v)(12)v∈V◦ Naive Bayes 法のパラメータ: p(c), p(v|c) (= p(v|0), p(v|1))◦ パラメータはどうやって求める?
[招待講演] 自然言語処理におけるベイズ統計 – p.18/34

Naïve Bayes 法 (3)• パラメータの求め方: 最尤推定p(v|c) ∝n(d, v)(13)d∈c◦ HAM/SPAM 別に計算した, 単語の生起分布◦ “money” が偶然, SPAM にしか出現しなかった⇓
友人からの “money” を含んだメールは絶対に SPAM に!
p(c = 0|d) ∝ p(0)p(v1 |0) · · · p(money|0) = 0• スムージングが必要◦ (Generalized) Laplace smoothing: p(v|c) ∝  +(14)d∈c n(d, v)◦ 自然言語の単語数は厖大 · · ·  = 0.01 でも, 100,000 語について加えると総和は 1,000− Uniform Dirichlet prior での, 事前の観測値◦  を決める方法は? → ×.
[招待講演] 自然言語処理におけるベイズ統計 – p.19/34

Geometry of Naïve Bayes“Smoothed”
p(·|0)

v1(1, 0, 0)vN(0, 0, 1)p(·|1) : SPAMp(·|0) : HAM
v2(0, 1, 0)• p(v|c) は (例えば N=10000 次元上の) 離散分布

p = (p(v1 |c), p(v2 |c), . . . , p(vN |c)) ;なので, (N − 1)-単体上の 1 点

p(v|c) = 1(15)v• Dirac δ の高さが, p(c) を反映◦ 点以外には, どこにも動けない[招待講演] 自然言語処理におけるベイズ統計 – p.20/34

Dirichlet Mixtures (DM)• p = p(v|c) 自体が曖昧 · · · 事前分布を与えるp ∼ Dir(αc ); αc = (αc1 , . . . , αcN )(16)• p を積分消去 (Polya 分布)p(c|d) ∝ p(c)p(d|c)
= p(c) p(d|p)p(p|c)dp
Γ( v αcv )  Γ(αcv +n(d, v))= p(c) Γ(αcv )v Γ(αcv )

(17)
(18)
(19)

v∈V

◦ 単語毎の適応的なスムージング (αcv )◦ DM のパラメータ: p(c), αcv for c = 1 . . . C , v = 1..N
◦ パラメータ推定法は??
[招待講演] 自然言語処理におけるベイズ統計 – p.21/34

Dirichlet Mixtures (DM) [2]• パラメータ推定: EM-Newton アルゴリズム

E step:Γ( v αcv )  Γ(αcv +n(d, v))
p(c|d) ∝ p(c) (20)
Γ(α)
Γ(α)
cvcvvv
M step:p(c) ∝p(c|d) ,(21)dp(c|d) n(d, v)/(n(d, v) + αcv − 1)d
αcv = αcv · d p(c|d)
v n(d, v)/( v n(d, v) + αcv − 1)
(22)

◦ HAM/SPAM の場合は, p(c|d) は既知 (supervised)◦ 通常, DM の隠れクラス数 C ≤ 500 程度− DM のパラメータ数: C − 1 + N C ∼ 数 100 万個.

[招待講演] 自然言語処理におけるベイズ統計 – p.22/34

Geometry of Dirichlet Mixtures
vNDirichlet
distributionsv1

p = (p(v1 ), p(v2 ), . . . , p(vN ))v2• p = p(v|c) を点推定ではなく, ベイズ推定• 単語単体上の密度推定 (混合モデル)◦ 単語単体上のすべての領域をモデル化• 文書 d は, 一つの山の上の p から生成⇓
トピックの組み合わせ? → LDA◦ 途上国の経済政策の, 教育への影響◦ インドネシアの民族音楽[招待講演] 自然言語処理におけるベイズ統計 – p.23/34

Latent Dirichlet Allocation (LDA) [1]• 文書は 1 つのクラス (トピック) ではなく, トピック分布 θ を持つ• Bag of words だが, 単語ごとに異なったトピック• 文書 d の生成:

1. Draw θd ∼ Dir(α).
2. For i = 1 · · · n,
◦ Draw cdi ∼ Discrete(θd ) .
◦ Draw vdi ∼ p(v|cdi ) .
• p(v|c) = β とおくと, 全体の生成確率は

p(d|α, β) =p(d|θ)p(θ|α)dθ N K 
Γ( k αk )αk −1= θkθk βkvndθ
k Γ(αk )n=1k(23)

(24)

k=1

◦ この積分は intractable なため, 推定には近似が必要になる[招待講演] 自然言語処理におけるベイズ統計 – p.24/34

Latent Dirichlet Allocation (LDA) [2]• ベイズ学習: 変分ベイズ法◦ E step: p(c|vdi ) ∝ βcvdi exp Ψ(θdc )◦ M step: θdc = αc + ni=1 p(c|vdi )− 単語毎にトピックの事後分布が求まる− 文書の事後分布 θd は, ディリクレ事前分布＋単語の事後分布.
− http://chasen.org/˜daiti-m/dist/lda/• ベイズ学習: MCMC (Gibbs)◦ p(c|vdi ) ∝ p(vdi |c)p(c|d)∼

dn+βnv−dn,c·n−dn,c+Vβ·nd−dn,c + αnd−dn,· + Kα.

◦ http://psiexp.ss.uci.edu/research/programs_data/toolbox.htm (Topic modeling Toolbox)[招待講演] 自然言語処理におけるベイズ統計 – p.25/34

LDA の学習例 (事後分布)
雪国
国境の長いトンネルを抜けると雪国であった。夜の底が白くなった。
信号所に汽車が止まった。
向側の座席から娘が立って来て、島村の前のガラス窓を落した。
雪の冷気が流れこんだ。
···• 事後確率 p(c|vdi ) 最大のトピックで色分け• 文書冒頭のトピック分布:
Probability

403020100050100150200Topics• 毎日新聞 2000 年度版のデータで学習 (10 万記事, 135MB)

学習時間: 約 20 時間, 総語彙: 71000 語[招待講演] 自然言語処理におけるベイズ統計 – p.26/34

Matching Words and Pictures [1]• LDA は文書ごとの混合モデル◦ θ ∼ Dir(α) が文書ごとの混合比◦ 単語 1-gram 分布の混合に限られない• 画像–言葉の結合モデル (Barnard et al. 2003)◦ キャプション付き Corel 画像データベース− Web ページの画像と周囲のテキスト (Google 画像検索)− 映画や TV 番組の字幕 (& 音声)◦ 1 つの θ から, 画素 b と単語 v を両方生成

αθcbbMcvv ND[招待講演] 自然言語処理におけるベイズ統計 – p.27/34

Matching Words and Pictures [2]• 画像をあらかじめ領域分割しておき, 画像に隠れたトピック分布

θ と言葉との対応付けを計算◦ 各画像領域に, 単語の確率分布 p(v|b) (Max のみ表示)• さらに進んだモデル: Image Parsing (Tu et al. ICCV 2003)

http://civs.stat.ucla.edu/[招待講演] 自然言語処理におけるベイズ統計 – p.28/34

音楽と歌のモデル [1]• “Name That Song!” Brochu and Freitas, NIPS 2002
[ *3/4 b&1*3/16 b1/16 c#2*11/16 b&1/16 a&1*3/16 b&1/16 f#1/2◦ 音の遷移: 相対音階バイグラム Mk + 歌詞テキスト Tk◦ 曲 Xk = {Mk , Tk }Xk |θ ∼cp(c)jIj (Mk,0 )p(j|c)

jθ = {p(c), p(j|c), p(j|i, c), p(v|c)}iMi,j,kp(j|i, c)p(v|c)Tv,kv

(25)
(26)

[招待講演] 自然言語処理におけるベイズ統計 – p.29/34

音楽と歌のモデル [2]• p(c|Xk ) を EM で計算• 曲の検索 · · · 歌詞のみ (Tk ),QUERYRETRIEVED SONGS

come on, come on, get down
Erksine Hawkins – Tuxedo Junction
Moby – Bodyrock
Nine Inch Nails – Last
Sherwood Schwartz – ‘The Brady Bunch’ theme song

旋律のみ (Mk ),歌詞+旋律 (Tk +Mk )• かなりラフな近似◦ 歌詞は 1-gram で生成◦ 旋律は, 隣りあった音の遷移のみ− FFT と結合した生成モデル?
− Polyphony の扱い?

The Beatles – Got to Get You Into My Life
The Beatles – I’m Only Sleeping
The Beatles – Yellow Submarine
Moby – Bodyrock
Moby – Porcelain
Gary Portnoy – ‘Cheers’ theme song
Rodgers & Hart – Blue Moon

come on, come on, get down
Moby – Bodyrock[招待講演] 自然言語処理におけるベイズ統計 – p.30/34

自然言語のベイズモデルの最近の発展 [1]• “Bag of words” からの脱却◦ 2-gram, 3-gram, 4-gram, . . . のベイズモデル (Teh 2006)◦ n-gram 自体に, 限界がある (n ≤ 6 程度で飽和; Goodman2001)• 構文木 (係り受け構造) の生成モデル?
◦ 今までは, 0/1 の素性ベクトル化して識別モデルで取り扱い◦ Random Trees, Tree distributions− Leaf の情報をどのように入れるか?

SheShesawsaw

the stars

the stars with a telescope.

with rings.

[招待講演] 自然言語処理におけるベイズ統計 – p.31/34

自然言語のベイズモデルの最近の発展 [2]• Dirichlet 分布 ∼ 等分散 Gaussian (ベクトル空間での)Dirichlet

Logistic Normal

Polya TreesΓ( k αk )  αk −1Dir(θ|α) = θk∝
θkαk −1 .
k Γ(αk )k(27)k• Nonparametric Bayes 法◦ Dirichlet process およびその拡張◦ 上のような, 連続的な分布関数を用いない[招待講演] 自然言語処理におけるベイズ統計 – p.32/34

自然言語のベイズモデルの未来• 自然言語処理でのベイズ学習の利点◦ 識別モデル− 過学習抑制− モデルの学習基準が自然 (?)◦ 生成モデル− 隠れ変数による階層ベイズモデル− 連続的対象との結合モデル◦ 識別モデル + 生成モデル?
• 生成モデル · · · 教師データを必要としない◦ 多くの実際的な生データを, そのまま扱える◦ 深い言語的構造を表現する確率モデルは, 現時点では困難◦ 結果が離散的でなくてよい− 文書の書かれた時間帯分布 / ブログの地域推定分布• 画像, 音楽 (音声), . . . (+ 連続的な時間データ) と組み合わせることにより, 自然言語処理の枠を超えたモデルが可能になる[招待講演] 自然言語処理におけるベイズ統計 – p.33/34

End• ありがとうございました.

[招待講演] 自然言語処理におけるベイズ統計 – p.34/34