潜在的ディリクレ配分法

**潜在的ディリクレ配分法**（せんざいてきディリクレはいぶんほう、英: *Latent Dirichlet Allocation*、略称：**LDA**）は、自然言語処理において使用されるベイジアンネットワークの一種で、生成モデルに分類される確率的手法である。これはトピックモデルの一つであり、文書集合内の「トピック」を自動的に抽出することを目的とする。各文書は複数のトピックから構成され、単語の出現は特定のトピックに基づいていると仮定される。

## 歴史
LDAは、もともと集団遺伝学の分野で2000年にらによって提案され、 2003年には、アンドリュー・ン、によって機械学習分野に応用された。

## 概要

### 集団遺伝学
LDAは、もともと集団遺伝学において、個体群内の遺伝的構造を検出するために提案されたモデルである。このモデルでは、観測された個体が持つ対立遺伝子（遺伝子の変異）は、既存あるいは過去に存在した複数の「元集団」から由来していると仮定する。

LDAとその推論アルゴリズムを用いることで、研究者は各元集団におけるアリル頻度を推定し、各個体が持つアリルがどの集団に由来するかを推定できる。得られた元集団の構造は、後からさまざまな進化のシナリオに照らして解釈される。

また、において、集団構造が存在すると交絡因子によって誤った因果関係が導かれる恐れがある。そのため、LDAは構造の存在を事前に検出する重要なツールとみなされている。

### 心理学・社会科学

臨床心理学では、LDAを用いて若者が社会的状況で経験するネガティブな自己イメージの共通パターン（テーマ）を抽出する研究が行われている。たとえば、社会不安を持つ青少年が報告する心象の記述をLDAで解析することで、共通する思考や感情の構造を明らかにできる。

社会科学の分野では、LDAは膨大なソーシャルメディアデータ（例：X/Twitterの投稿）を分析する際にも用いられる。たとえば、処方薬に関する投稿内容から、関心トピックや薬物使用の言及パターンを抽出する研究がある。

さらに、「共変量付き教師ありLDA（SLDAX）」と呼ばれる拡張モデルも提案されている。これは、LDAによって抽出された潜在トピックと、他の観測変数（例：年齢、性別、臨床スコアなど）を統合し、回帰分析によりメンタルヘルスや行動の予測精度を向上させるものである。SLDAXは、従来の2段階手法（トピック推定 → 回帰分析）に比べて、推定のバイアスや標準誤差の過小評価を回避できる利点がある。

LDAは文化的・地域的差異を捉える研究にも活用されている。たとえば、アメリカと中国における処方薬やライフスタイルの議論を比較したり、歴史的な稲作文化が現代の言語使用やSNS投稿に与える影響を分析する例も報告されている。

このように、LDAは構造的パターンが隠された自然言語データや大量のテキストデータを扱う際に非常に有効であり、リアルタイムの世論分析や文化調査にも応用可能である。

### 音楽学
の分野でもLDAは応用されており、楽曲の集合に潜む調性（トーナル）構造を自動的に発見するために用いられている。

### 機械学習
LDAは、自然言語処理におけるトピックモデルの代表的なアルゴリズムであり、文書集合から自動的に「話題（トピック）」を発見するために使われる。

トピックとは、文書中に共起する単語の集合であり、意味的に関連する語（例：「犬」「吠える」「子犬」「ゴールデンレトリバー」）が1つのテーマ（例：犬関連）としてまとまる。一方で、「猫」「ミャオ」「ペルシャ」などは別のテーマ（猫関連）を形成する。

LDAは以下のような前提に基づいている：

# 各文書は、複数のトピックから単語を混合して構成されている。
# 単語は複数のトピックにまたがって現れる（多義性）ことがあり、その単語の意味は周辺の語から解釈される。
# 一つの文書が含むトピックは少数である傾向がある。
# 各トピック内では、出現頻度が高い単語と低い単語が存在する（偏った分布）。

これらの前提に従って、LDAはベイズ推定とEMアルゴリズムを用いて、各文書におけるトピック分布と各トピックにおける単語分布を学習する。

### pLSAとの比較
LDAは、確率的潜在意味解析（pLSA）の拡張とみなすことができる。pLSAは、LDAの前提のうち1と2のみを満たすが、ベイズ的な事前分布を持たないため過学習に陥りやすいという欠点がある。

LDAの利点として以下が挙げられる：

* 単語の意味の曖昧性をより適切に区別できる。

* トピック構造を用いて、新たな「合成文書」を生成できる（生成モデル）。

* pLSAよりも大規模データへのスケーリングがしやすい（例：MapReduceを用いた分散処理が可能）。

このように、LDAは自然言語処理やデータマイニングにおける標準的なトピックモデルであり、文書の自動分類、感情分析、意味理解などに広く活用されている。

## モデル

LDAモデルは、確率的グラフィカルモデルにおいてよく用いられる「」を使って記述される。プレート（箱）は反復される要素を表し、外側のプレートは文書を、内側のプレートは文書内の単語位置を示す。各単語位置は、あるトピックの選択と、そのトピックにおける単語の選択に対応する。

変数は以下のように定義される：

: *M*：文書の総数    
: *N*：1つの文書に含まれる単語数（文書 *i* の長さは N_i）    
: *α*：各文書におけるトピック分布に対するディリクレ分布のパラメータ    *β*：各トピックにおける単語分布に対するディリクレ分布のパラメータ  
: \theta_i：文書 *i* のトピック分布  
: \varphi_k：トピック *k* の単語分布  
: z_{ij}：文書 *i* の *j* 番目の単語が割り当てられたトピック  
: w_{ij}：文書 *i* の *j* 番目の単語（観測変数）

*W* は観測変数（実際の単語データ）である一方、それ以外の変数（\theta, \varphi, z）はすべて潜在変数である。

元の論文では、トピックにおける単語分布（\varphi）をスパースなディリクレ分布でモデル化することが提案されている。これは、トピック内で少数の単語だけが高頻度で出現するという直感に基づいており、現在最も広く使われているLDAのバリアントである。

プレート記法における K はトピックの数を表す。また \varphi_1, \dots, \varphi_K は語彙のサイズ V を持つベクトルであり、各トピックにおける単語分布をパラメータ化している。

### 生成過程
LDAでは、各文書が複数の潜在的なトピックからなる混合分布で構成されると仮定する。各トピックは語彙全体にわたる単語の確率分布によって表される。

文書集合 D に含まれる M 件の文書それぞれ（長さ N_i）に対し、以下の確率的生成過程が仮定される：

1. 文書ごとのトピック分布 \theta_i を、ディリクレ分布 \mathrm{Dir}(\alpha) からサンプリングする。

2. 各トピックの単語分布 \varphi_k を、ディリクレ分布 \mathrm{Dir}(\beta) からサンプリングする（全トピックに対して一度）。

3. 各文書の各単語位置 j に対して：

: (a)トピック z_{ij} を、カテゴリカル分布 \mathrm{Multinomial}(\theta_i) からサンプリングする。
: (b) 単語 w_{ij} を、選ばれたトピックの単語分布\operatorname{Multinomial}( \varphi_{z_{i,j}}) からサンプリングする。

ただし、ここでの「多項分布」は1回の試行で1つのカテゴリを選ぶを指す。単語数 N_i は他の変数とは独立に決定される。

### 変数定義
以下はLDAモデル内の変数と意味の一覧である：

これらの確率変数は以下のように分布づけられる：

: 

\begin{align}

\varphi_k &\sim \mathrm{Dirichlet}_V(\boldsymbol\beta) \\

\theta_d &\sim \mathrm{Dirichlet}_K(\boldsymbol\alpha) \\

z_{d,n} &\sim \mathrm{Categorical}_K(\theta_d) \\

w_{d,n} &\sim \mathrm{Categorical}_V(\varphi_{z_{d,n}})

\end{align}



この生成モデルを逆にたどることで、観測された単語データから潜在的なトピック構造を推定することがLDAの本質である。

## 推論
文書集合におけるトピック分布（各文書のトピック混合率）、トピックごとの単語分布、各単語のトピック割り当てといったパラメータを求めることは、統計的推論の問題である。

### モンテカルロ法による近似
最初に提案されたLDA（プリチャードらによる）では、事後分布をモンテカルロ法で近似する手法が用いられた。特にマルコフ連鎖モンテカルロ法（MCMC）の一種であるギブスサンプリングがよく使用される。

ギブスサンプリングでは、観測された単語に対する潜在変数（トピック割り当て）を反復的にサンプリングすることで、トピック分布と単語分布の事後分布を近似する。

### 変分ベイズ法
2003年のBleiらの論文では、が使用された。これは解析的に計算が難しい事後分布を、より単純な分布族（たとえば独立したディリクレ分布など）で近似することで、近似推論を効率的に行う方法である。

変分法は反復最適化アルゴリズムであり、計算コストが安定していて収束が早く、大規模データに適している。

### 尤度最大化
対数尤度を直接最大化するブロック緩和法（block relaxation）もLDAの推論に使用される。これはMCMCより高速であり、特に大規模データセットにおいて有効である。

### トピック数の推定（未知の場合）
実際には、トピック数（K）は未知であることが多い。この場合、モデル選択の一環として、などを用いたベイズ推論により、トピック数の最適な推定が可能である。

### その他の推論手法
LDAの推論には他にもさまざまな手法が提案されており、その一つがである。

また、効率的なギブスサンプリングの実装においては、文書と単語のスパース性（それぞれ少数のトピックしか含まないこと）を利用して、計算時間を短縮する高速アルゴリズムも開発されている。

これにより、大規模なテキストコーパスに対するリアルタイム推論も実現可能となった。

## 関連技術

* pLSA：LDAの前身にあたるモデル。LDAはそのベイズ的拡張。
* hLDA：階層的なトピック構造を学習するLDAの拡張。
* 空間LDA：画像解析などに応用。
* 非負値行列因子分解、潜在意味解析なども類似の技術。

## 関連項目

* 
* トピックモデル
* 自然言語処理
* Gensim
* tf-idf

## 参考文献

## 外部リンク

* LDAの講義（デイビッド・ブライ）
* Gensim（Python実装）
* R言語パッケージ topicmodels