Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Pylm public

自分用のメモした HPYLM と VPYLM の概要です。

  • Login to see the comments

Pylm public

  1. 1. HPYLM VPYLM Probabilistic language models
  2. 2. 確率的言語モデル  言語を扱う様々な場面で利用される  音声認識  手書き文字認識  機械翻訳  誤り訂正  文に対する確率分布をモデル化  条件付き確率の積で表す
  3. 3. N-gram モデル  単語の条件付き確率は N-1 個前までの 単語だけで計算できると仮定する
  4. 4. スムージングの必要性  N に対してパラメータ数はべき乗で増える  直接訓練コーパスに対して尤度を最大化  過学習してしまう  N を増やすと単語履歴を丸暗記する  過学習を避け真の条件付き確率を推定するには スムージングが必要
  5. 5. Hierarchical Pitman-Yor Language Models [Teh, 2006]  ベイズアプローチから提案された適切なス ムージングを導入した確率的言語モデル  これまで最も良いとされてきた Interpolated Kneser-Ney は HPYLM の近似となっている Interpolated Kneser-Ney 長い文脈に続く w の出現回数をディスカウントして, 短い文脈の w の確率で補完する の値は交差検定で求める. この部分を で変化させたり等の工夫がされてきた.
  6. 6. Pitman-Yor Prosess relevant to language modeling  確率空間 X 上の確率分布の確率分布  3つのパラメータ  Chinese restaurant process の枠組みで 見ると言語モデルに合致する もまた確率空間 X 上の確率分布
  7. 7. Chinese Restaurant Process -1-  CRP はレストランに来るお客の座席配置の確率分布を決める Table1 最初のお客は1つ目のテーブルに座って料理1を食べる. 以降は... Tablei Tablek に比例する確率でテーブルiに座り料理wiを食べる に比例する確率で新しいテーブルkに座り料理wkを食べる お客の列 ※別のテーブルで同じ料理を提供していることもある : 客のいるテーブル数
  8. 8. Chinese Restaurant Process -2-  新しいお客が料理 w を食べる確率は  料理 w を単語と見なすと unigram 言語モデル : 今レストランにいるお客の総数 : 全語彙 V の一様分布 1/V : 料理 w を食べている客の数 : 料理 w を提供しているテーブルの数
  9. 9. Hierarchical Pitman-Yor Language Models  文脈が与えられた時の単語の確率分布を得たい (ただし先頭の1語は取り除く) 1つ文脈を落とした時の単語の確率分布 基底測度は再起的に計算される : 全語彙 V の一様分布 1/V
  10. 10. T1 T2 TK … 各階層のレストランの座席 配置からその文脈での条件 付き確率が求まる 1つ文脈を落とした(1つ上の階層の)確率で補完
  11. 11. 学習アルゴリズム FOR i = 1 to N FOR t = 1 to T READ {Context:u, word: wt} IF i > 0 THEN remove_customer(u, wt) ENDIF add_customer(u, wt) ENDFOR ENDFOR  add_customer(u, w) (cuwk - d|u|)に比例する確率: cuwk++ (θ|u|+d|u|tu.)Pπ(u)(w)に比例する確率: cuwk new=1, tuw++ add_customer(π(u), w)  remove_customer(u, w) cuwkに比例する確率: cuwk-- IF cuwk = 0 THEN tuw-- remove_customer(π(u), w) ENDIF ※dとθはカスタマの配置状態からサンプリングで推定できる
  12. 12. Variable Pitman-Yor Language Models[持橋,2006]  HPYLM ではn-gramオーダーが常に固定  Suffix Tree の深さ n-1 に必ずカスタマーが登録される  n が大きくなった時にノード数が膨大になってしまう  言語の意味のある固まり  n は常に一定ではない  e.g. “The United States of America”(n=5) “longer than”(n=2)  HPYLM を可変長 n-gram 言語モデルへ拡張  従来の可変長 n-gram は最大 n-gram を作ってからカットオフ  単語が生成された際の n を隠れ変数としてベイズ推定  文脈によってオーダーの異なる n-gram 言語モデルを提案
  13. 13. 可変長階層 Pitman-Yor 過程  Suffix Tree を根から辿る時に各ノードiで停止する確率を導入  共通のベータ事前分布から生成される  停止確率の分布から隠れ変数 n をサンプリングする 事例 t の n-gram オーダーを除外した全事例の n-gram オーダー 事例 t の配置を除外した全事例の Suffix Tree 上の座席配置
  14. 14. オーダー n のサンプリング  ベイズの定理から式を変形  ベータ事後分布の期待値で停止確率と通過確率を代用 ノード i にカスタマが停止した回数 ノード i をカスタマが通過した回数 オーダーをntと固定した時の単語の生起確率(HPYLMと同様) ノードiで停止する期待値
  15. 15. 学習アルゴリズム FOR i = 1 to N FOR t = 1 to T READ {Context:u, word: wt, nt} IF i > 0 THEN remove_customer(u, wt, nt) ENDIF // オーダーとレストランを決定 nt = sample_order(u, wt) add_customer(u, wt, nt) ENDFOR ENDFOR  add_customer(u, w, n) IF n == |u| THEN a++ ELSE b++ ENDIF cuwk - d|u|)に比例する確率: cuwk++ (θ|u|+d|u|tu.)Pπ(u)(w)に比例する確率: cuwk new=1, tuw++ add_customer(π(u), w, n)  remove_customer(u, w, n) IF n == |u| THEN a-- ELSE b-- ENDIF remove_order(u, w, n) cuwkに比例する確率: cuwk-- IF cuwk = 0 THEN tuw-- remove_customer(π(u), w, n) ENDIF
  16. 16. 評価実験 1. 実験データ  毎日新聞コーパス2000年度版(mai2000a.txt)  訓練データ800K文から500K文(ランダムサンプリング)  テストデータ10K文サンプリング  訓練データとは重複なし 2. 評価尺度  テストセットパープレキシティ  学習時のメモリ使用量  ノード数  学習時間 3. 評価設定  HPYLM/VPYLM 共に単語 n-gram で評価
  17. 17. テストセットパープレキシティ  パープキシティ=平均分岐数 (幾何平均) 訓練データで学習した言語モデルを用いてテストセットの生起確率を計算する 確率が高い=本来生成されるべき文章に高い確率が割り振られる テストセットパープレキシティが小さい
  18. 18. 結果 -テストセットパープレキシティ- n HPYLM VPYLM 3 60.46 51.75 5 52.38 41.03
  19. 19. 結果 -Suffix Tree のノード数 n HPYLM VPYLM 3 1,462,246 437,883 5 12,615,924 2,057,413 10 - 5,730,076
  20. 20. 結果 -メモリ使用量- n HPYLM VPYLM 3 3.88GB 3.41GB 5 9.49GB 4.40GB 10 - - n=10の VPYLM のメモリ使用量は測っていないが, ノード数が n=5 の HPYLM と VPYLM の間なので, n = 5 の HPYLM 以下にはなる
  21. 21. 結果 -処理時間(100イテレーション)- n HPYLM VPYLM 3 3h03m53s 3h53m30s 5 10h49m04s 7h12m59s 10 - 17h0850s 1イテレーション毎にPPLの計算を行っているため, その時間も含まれている
  22. 22. パープレキシティのカーブ 20 40 60 80 100 120 140 160 0 10 20 30 40 50 60 70 80 90 100 "hpylm.n3.mai2000a.rst" "hpylm.n5.mai2000a.rst" "vpylm.n3.mai2000a.rst" "vpylm.n5.mai2000a.rst" "vpylm.n10.mai2000a.rst" iteration perplexity

×