LDA等のトピックモデル

9,248 views
8,870 views

Published on

Published in: Art & Photos
0 Comments
30 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,248
On SlideShare
0
From Embeds
0
Number of Embeds
119
Actions
Shares
0
Downloads
110
Comments
0
Likes
30
Embeds 0
No embeds

No notes for slide

LDA等のトピックモデル

  1. 1. トピックモデル 難しい話考え方、アウトプットイメージ、履歴、ツール、事例 超難しい話ベイズ統計、生成モデル、サンプリング 超難しい話Dirichlet分布 1
  2. 2. トピックモデルのアウトプット 言葉 トピック 言葉文書 (または顧客) トピックの定義 ぞれぞれのトピックに対してどうい う言葉が大事 トピック 文書 (または顧客) トピックの割合 それぞれのユーザに ついて、どういうトピッ クが大事 2
  3. 3. 履歴の概要●LSA (1988)フレームワーク:線型代数学 (マトリクス対角化) 文書 出典: http://en.wikipedia.org/wiki/Latent_semantic_analysis 言葉 ・問題: アウトプットは使いにくい 3
  4. 4. 履歴の概要●PLSA (1999)確率理論のフレームワーク 文書 トピック 言葉出典: http://en.wikipedia.org/wiki/PLSA 言葉数 文書数 ・モデル学習: EMアルゴリズム ・問題: 過剰適合が多い (特に文書群が小さい場合) 4
  5. 5. 履歴の概要 ●LDA(2003) 最初の本物のトピックモデル ベイズ統計フレームワーク ある言葉 文書に トピックに のトピック 言葉 トピックの分布 言葉の分布 ハイパー ハイパー パラメーター パラメーター出典: http://en.wikipedia.org/wiki/Latent_Dirichlet_allocation 言葉数 文書数 トピック数 5
  6. 6. LDAの展開LDAに基づくモデル:●パチンコモデル: トピックの間の関連を考慮例えば、トピック「データ分析」があるなら、トピック「コンピューター」もある可能性が高いけど、トピック「ファッション」の確率が低い●作者・トピックモデル: 作者によりトピックの確率が変わる●関連トピックモデル: モデルの関連を考慮例えば:html資料のハイパーリンク、論文の引用LDAは言葉だけでなく、運用範囲は今研究中例えば:画像処理 6
  7. 7. LDAツール: MALLETMALLETとは、「MAchine Learning for Language Toolkit」http://mallet.cs.umass.edu/index.php Andrew McCallum, of the University of Massachusetts Amherst無料、オープンソース、Javaベース 7
  8. 8.  難しい話考え方、履歴、アウトプットイメージ、ツール、事例 超難しい話ベイズ統計、生成モデル、サンプリング 超難しい話Dirichlet分布 8
  9. 9. ベイズ統計の基本原則考え方:データの構造について強気で仮説を立つE → H の代わりに、H → E をモデル化する H EE: データ、観測出来る情報 例えば: 文書群H: 隠れてる情報 例えば:トピックの定義、文書ごとのトピック割合 :生成モデル、全ての情報の構造 (仮説に基づく)計算したいこと: P( H | E)データから、トピックを計算でも、そのままで計算しにくい 𝑷(𝑯)ベイズルール: P(H | E) = * P(E | H) ∝ P(H) * P(E | H) 𝑷(𝑬) 事後確率 事前確率 尤度 仮説する 生成モデルから 簡単で計算する 9
  10. 10. LDAの生成モデル仮説: あるロボットが文書群を作りました。そのロボットは生成モデルを使って文書ずつ、言葉ずつ、文書群を書きましたFor (1:K) : トピックを生成 βFor each文書 : 文書のトピック分布を生成 θ For each 言葉 : トピックをランダムで選択 Z 言葉をランダムで選択 W 10 出典: http://en.wikipedia.org/wiki/Latent_Dirichlet_allocation
  11. 11. LDA生成モデル(例)For (1:トピック数) : トピックを生成 トピックID キャンペーン 限定 日焼け 肌 風呂 。。。 1 12% 8% 0.6% 0.2% 1.2% 2 1.3% 0.6% 9% 14% 2% 3 0.3% 0.8% 0.6% 2% 16% 各トピック= 全ての有り得る言葉に対しての確率分布 11
  12. 12. LDA生成モデル(例)For (1:トピック数) : トピックを生成 トピックID キャンペーン 限定 日焼け 肌 風呂 。。。 1 12% 8% 0.6% 0.2% 1.2% 2 1.3% 0.6% 9% 14% 2% 3 0.3% 0.8% 0.6% 2% 16%For each文書 : 文書のトピック分布を生成 文書 トピック1 トピック1 トピック3 1 56% 24% 20% 12
  13. 13. LDA生成モデル(例)For (1:トピック数) : トピックを生成 トピックID キャンペーン 限定 日焼け 肌 風呂 。。。 1 12% 8% 0.6% 0.2% 1.2% 2 1.3% 0.6% 9% 14% 2% 3 0.3% 0.8% 0.6% 2% 16%For each文書 : 文書のトピック分布を生成 文書 トピック1 トピック2 トピック3 1 56% 24% 20% この分布によりランダム抽出 For each 言葉 : トピックをランダムで選択: トピック1 13
  14. 14. LDA生成モデル(例)For (1:トピック数) : トピックを生成 トピックID キャンペーン 限定 日焼け 肌 風呂 。。。 1 12% 8% 0.6% 0.2% 1.2% 2 1.3% 0.6% 9% 14% 2% 3 0.3% 0.8% 0.6% 2% 16%For each文書 : この分布によりランダム抽出 文書のトピック分布を生成 文書 トピック1 トピック2 トピック3 1 56% 24% 20% For each 言葉 : トピックをランダムで選択: トピック1 言葉をランダムで選択: “限定” 14
  15. 15. モンテカルロの基本原則P(β 、 θ 、 Z | W) を計算したい。それは多次元と連続値の確率密度なので正しく計算出来ない→ サンプリングを使って確率密度を近似するFor each サンプル: 生成モデルを使って{β 、 θ 、 Z}を生成 生成モデルを元に生成された{β、 θ、 Z}の事前確率を計算 → P (β、 θ、 Z ) 生成モデルと{β 、 θ 、 Z}により W の尤度を計算 → P (W | β、 θ、 Z ) 事前確率と尤度からサンプルの事後確率を計算 P(β 、 θ 、 Z | W) ∝ P (β、θ、Z) * P (W | β、θ、Z )サンプルが多かったら多いほど事後確率の分布に近づく出典: http://en.wikipedia.org/wiki/Latent_Dirichlet_allocation 15
  16. 16.  難しい話考え方、履歴、アウトプットイメージ、ツール、事例 超難しい話ベイズ統計、生成モデル、サンプリング 超難しい話Dirichlet分布 16
  17. 17. なぜ 「LDA」? For (1:トピック数) : トピックを生成 β Dirichlet 分布 For each文書 : 文書のトピック分布を生成 θ Dirichlet 分布 For each 言葉 : トピックをランダムで選択 Z Categorical 分布 言葉をランダムで選択 W Categorical 分布出典: http://en.wikipedia.org/wiki/Latent_Dirichlet_allocation 17
  18. 18. Categorical分布とは?For (1:トピック数) : トピックを生成 β Dirichlet 分布For each文書 : 文書のトピック分布を生成 θ Dirichlet 分布 For each 言葉 : トピックをランダムで選択 Z Categorical 分布 言葉をランダムで選択 W Categorical 分布トピックID キャンペーン 限定 日焼け 肌 風呂 。。。1 x1 = 12% x2 = 8% x3 = 0.6% x4 = 0.2% x5 = 1.2%K値があり得る。 K=言葉種類の全体数全ての値 i に対して、確率 xi がある。確率分布なので: x1 + x2 + x3 + 。。。 + xk = 1 18
  19. 19. Dirichlet分布とは?For (1:トピック数) : トピックを生成 β Dirichlet 分布For each文書 : 文書のトピック分布を生成 θ Dirichlet 分布 For each 言葉 : トピックをランダムで選択 Z Categorical 分布 言葉をランダムで選択 W Categorical 分布Categorical 分布を生成する為⇒ 確率分布の確率分布 (!) キャンペーン 限定 日焼け 肌 風呂 。。。 x1 = 12% x2 = 8% x3 = 0.6% x4 = 0.2% x5 = 1.2% 0.3% x1 = 1.3% x2 = 0.6% x3 = 9% x4 = 14% x5 = 2% 0.7% x1 = 0.3% x2 = 0.8% x3 = 0.67% x4 = 2% x5 = 16% 0.2% Dirichlet式 有り得る {x1, … xK} のスペース 確率密度 19
  20. 20. Dirichlet分布とは? Dirichlet式有り得る {x1, … xK}のスペース 20
  21. 21. まとめ●LDAとは、文書群からトピックを統計的に抽出する手法です●パワフール、使いやすいなので、活用と研究は広がっている状態●ベイズ統計、確率計算に基づくので、ベイジアンネットワークとの連携がしやすい 言葉 トピック 言葉 文書(または顧客) LDA トピック 文書(または顧客) 21

×