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.

LDA等のトピックモデル

10,619 views

Published on

Published in: Art & Photos
  • Be the first to comment

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

×