潜在的ディリクレ配分によるトピックモデリング
1. 概要
このチュートリアルでは、トピックモデリングとそのアプリケーションのいくつかについて学び、潜在的ディリクレ割り当てと呼ばれる特定の手法について深く掘り下げます。
多変量確率分布の基本的な理解は、役立つ背景知識になります。
2. トピックモデリング
2.1. トピックモデリングとは何ですか?
簡単に言えば、テキストのトピックは主題、またはテキストの内容です。
トピックモデリングは、ドキュメントのコーパスを受け取り、トピックを数学的オブジェクトとして生成する教師なし機械学習手法です。
トピックモデルが作成されると、発見されたトピックの組み合わせとしてドキュメントを表現できます。 例を見てみましょう:
この例では、各ドキュメントは異なる重みですべてのトピックに接続されています。 したがって、ドキュメントをベクトルとして表すことができます。その列は、すべてのトピックへの接続度です。
この比率のトピックの組み合わせとして「ジュラシックパーク」をモデル化するとします。
- 「恐竜」:97%
- 「遊園地」:49%
- 「絶滅」:10%
その場合、このドキュメントを表すベクトルは[0.97、0.49、0.1]になります。
私たちが今学んだことは、トピックモデリングを使用して、ドキュメントから埋め込みベクトルを取得できることです。
2.2. アプリケーション
トピックモデリングには、さまざまな興味深いアプリケーションがあります。
- フィールド理解
- 私たちの分野の変化や新しいトレンドを見つける
- テキストをベクトル埋め込みとしてエンコードします
- 検索のパーソナライズ
- 検索に対するユーザーの好みのモデリング
- ドキュメントを比較する
- 特定のテキストの著者を見つける
- 社会活動の予測と解釈
- 感情分析
- 機械翻訳
2.3. 特定のテクニック
これらは、トピックモデリングに最も広く使用されている手法です。
3. 潜在的ディリクレの割り当て
3.1. 序章
潜在的ディリクレ割り当て(LDA)は、ディリクレ分布を使用した統計生成モデルです。
ドキュメントのコーパスから始めて、このコーパスから発見したいトピックの数を選択します。
出力はトピックモデルであり、ドキュメントはトピックの組み合わせとして表現されます。
一言で言えば、アルゴリズムが行うのは、ドキュメントとトピックの間、およびトピックと単語の間の接続の重みを見つけることだけです。
視覚的に見てみましょう。 これがドキュメント全体での単語の分布であると想像してください。
の場合、LDAモデルは次のようになります。
アルゴリズムがトピックを含む中間層を作成し、ドキュメントとトピックの間、およびトピックと単語の間の重みをどのように把握したかを確認します。 ドキュメントは単語ではなくトピックに接続されています。
この例では、わかりやすくするために各トピックに名前が付けられていますが、実際には、トピックが何を表しているのか正確にはわかりません。 トピック1、2、…まで、それだけです。
それぞれのトピックが何であるかを直感的に知りたい場合は、より詳細な分析を行う必要があります。 しかし、恐れることはありません。少し後でそれを行う方法を学びます。
3.2. なぜディリクレ分布なのか?
ディリクレ分布は、ドキュメントがいくつかのトピックに関連しているという直感をエンコードします。
実際には、これにより、単語の曖昧性解消が改善され、トピックへのドキュメントの割り当てがより正確になります。
トピックがあるとしましょう:
ランダム配布では、ドキュメントは4つのトピックに均等に配布されます。
これは、ドキュメントが同時にすべてのトピックよりも1つの特定のトピックについてである確率が同じであることを意味します。
ただし、実際には、次のように、それらがよりまばらに分散されていることがわかります。
ほとんどのドキュメントは1つのトピックに関連付けられていますが、経済学と芸術の中間にあるドキュメントのように、複数のトピックに属する可能性はまだあります。
そして、トピックと単語の間でもそうなります。
ディリクレ分布は、この動作を非常に自然な方法でモデル化します。
3.3. ディリクレ分布とは
ディリクレ分布は、確率質量関数をモデル化する方法であり、離散確率変数の確率を提供します。
混乱している? サイコロを振る例を見てみましょう。
- これは離散確率変数です。結果は予測できず、値は1、2、3、4、5、または6になります。
- 公正なサイコロの場合、PMFは次の確率を与えます:[0.16、0.16、0.16、0.16、0.16、0.16]
- バイアスされたダイの場合、PMFは次の確率を返す可能性があります:[0.25、0.15、0.15、0.15、0.15、0.15]、一方を取得する方が他方よりも高くなります。
ドキュメント、トピック、および単語を含む例では、2つのPMFがあります。
- :トピックkがドキュメントdで発生する確率
- :トピックkで単語wが発生する確率
inは集中度パラメータという名前で、分布の傾向を均一、集中、または疎に支配します。
これは、次のようなディストリビューションになります。
集中度パラメータを使用すると、次のようになります。
ただし、を使用すると、次のようなものが得られます。
それはまさに私たちが望んでいることです。
したがって、集中度パラメータを使用することにより、これらの確率は現実の世界に近くなります。 言い換えれば、それらはディリクレ分布に従います。
ここで、とは各分布を支配し、両方に値があります。
3.4. ディリクレ分布は実際には分布のファミリーです
ここで、非常に重要なポイントです。同じ集中度パラメーターを使用して、トピック全体でさまざまなドキュメントの分布を取得します。
では、なぜ固定濃度パラメーターを使用するのでしょうか。 ドキュメントがいくつかのトピックにリンクされ、トピックがいくつかの単語にリンクされることが保証されるためです。
次に、同じものを使用して取得できるいくつかの異なる分布を見てみましょう。
実際、これらの特定の多項分布の選択は、LDAモデルを良くしたり悪くしたりするものです。
モデルを改善するために、トレーニングプロセス中に調整されます。
3.5. 新しいドキュメントの生成
LDAは生成モデルであるため、新しいドキュメントを作成できます。 ただし、は統計モデルであるため、生成されたドキュメントはほとんどの場合、言語学的観点からは意味がありません。
これがどのように機能するかをよりよく理解するために、例を使って説明しましょう。
次のトピックと単語があるとします。
まず、トピックに関するドキュメントの配布D1から始めます。
そして、単語に対するトピックの分布D2:
まず、確率に従って、ディストリビューションD1からいくつかのトピックをサンプリングします。
さて、ディストリビューションD2の単語で同じことをしましょう。
最後に、各サンプルトピックを調べて、そのトピックのサンプル単語からランダムな単語を選択するだけです。
1. サンプルリストから最初のトピック、つまり「Science」をランダムに選択します。 次に、Scienceのサンプル単語からランダムな単語を選択します。 「レーザー」としましょう。
2. 次に、2番目のランダムなサンプルトピック、つまり「 Economics 」を選択し、Economicsサンプルリストからランダムな単語を取得します。 「不況」としましょう。
3. 最後のサンプルトピックに到達するまでこの方法を進め、単語のリストを取得します。
サンプルドキュメントは次のようになります。
D = "laser recession piano dollar piano piano laser computer soccer piano"
これは人間が読めるテキストとしては意味がありませんが、モデルの確率を尊重します。
3.6. トピックを理解する
トピックが見つかったら、それらが何を表しているのかをどうやって知ることができますか?
LDAは、単語全体にトピックの分布を生成します。 その分布を分析することにより、トピックの最も頻繁な単語を抽出し、それが何であるかを知ることができます。
前の例では、との単語:
分布を取得しました:
Topic 1: [0.0, 0.1, 0.0, 0.55, 0.35, 0.0, 0.0] Topic 2: [0.4, 0.4, 0.0, 0.0 , 0.0 , 0.2, 0.0] Topic 3: [0.0, 0.0, 0.9, 0.0 , 0.0 , 0.1, 0.0] Topic 4: [0.0, 0.0, 0.0, 0.0 , 0.1 , 0.5, 0.4]
一度に1つのトピックに行きましょう:
- トピック1:最も頻繁に使用される単語はレーザーとコンピューターであるため、テクノロジーまたは科学に関するものである可能性があります
- トピック2:最も頻繁に使用される単語はサッカーとボールであるため、スポーツと明確に関連しているようです。
- トピック3:最も頻繁に使用される単語はピアノであるため、トピックはおそらく音楽である可能性があります
- トピック4:最も頻繁に使用される単語はドルと不況であるため、トピックは経済学に関連します。
3.7. ギブスサンプリングを使用したモデルのトレーニング
最後に、ギブスサンプリングを使用したトレーニングプロセスの背後にある直感の概要を説明しましょう。
- 最初のドキュメントの各単語にトピックをランダムに割り当てます
- 各ドキュメントに可能な限り少ないトピックが含まれるように、各単語トピックを再割り当てします
- 各単語のトピックを再割り当てして、各単語に可能な限り少ないトピックが割り当てられるようにします
それについてすべてを学ぶことに興味がある人のために、ここを見てください。
4. 結論
このチュートリアルでは、トピックモデリング、そのアプリケーションのいくつか、およびそれを行うために最も広く使用されている手法について学びました。
また、LDA、ディリクレ分布とは何か、新しいドキュメントを生成する方法、および各トピックが何を表すかを見つける方法についても学びました。