問題タブ [lda]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sparse-matrix - LingPipe LDA マトリックス表現
ツイートのリストから可能なトピックを抽出しようとしています.LingPipe LDAは理解しやすく、コードサンプルで十分に文書化されているようです.
私の課題は、ツイート データを使用して行列表現を生成することです。例えば、
static String[] WORDS = new String[] { "川", "流れ", "銀行", "お金", "ローン" };
static final int[][] DOC_WORDS = new int[][] {
}
上記の行列の末尾にあるゼロは、コンテンツに WORDS 配列の単語が見つからないことを表すと想定されています。ただし、この表現では、インデックスがゼロであると推定されるか、「川」という単語が見つかります。
ツイートが短いので、単語の「不在」も表示できるように行列を表現する方法がわかりません。
他の方法のアドバイスや提案は大歓迎です。
lda - LDA は 1 つの単語に複数のトピックを割り当てることができますか?
潜在的ディリクレ配分法 LDA について読み始めたばかりで、プロジェクトに適用したいと考えています。
LDA がトピックを複数の単語に割り当てることができるかどうかを教えてください。
たとえば、A 条は「川の銀行」について、B 条は「金融における銀行の役割」について述べています。したがって、LDA では「銀行」という言葉が 2 つの異なるトピックに割り当てられる可能性があるでしょうか?
python - Gensim LDA でのドキュメントのトピック配布
次のように、おもちゃのコーパスを使用して LDA トピック モデルを導出しました。
少数のトピックを使用してモデルを導出すると、Gensim は、テスト ドキュメントのすべての潜在的なトピックに関するトピックの分布の完全なレポートを生成することがわかりました。例えば:
ただし、多数のトピックを使用すると、レポートが完全ではなくなります。
あるしきい値 (より具体的には 0.01 であることがわかりました) よりも確率が低いトピックは、出力から省略されているように思えます。
この動作は、審美的な考慮事項によるものでしょうか? また、他のすべてのトピックに対する確率質量残差の分布を取得するにはどうすればよいですか?
親切な回答ありがとうございます!
python - Gensim: LDA モデルの生成されたトピックを読み取り可能な形式 (csv、txt など) に保存する方法は?
コードの最後の部分:
バッシュ出力:
そのため、生成された結果のトピックを読み取り可能な形式で保存できるのではないかと思っています。メソッドを試しました.save()
が、常に判読できないものを出力します。
python - gensimのLDAトピックの単語の完全な分布を出力するには?
次のコードのlda.show_topics
モジュールは、各トピックの上位 10 単語の分布のみを出力します。コーパス内のすべての単語の完全な分布を出力するにはどうすればよいですか?
machine-learning - Mahout TopicModel の出力に対して新しいドキュメントを推測するにはどうすればよいですか?
Mahout LDA CVB プログラム/オフライン バッチ実行からのトピック モデルが与えられた場合、モデル/オンライン Web サービス呼び出しを使用して新しいドキュメントを推測するのが好きです。
これらのドキュメントは、新規作成や推論にはあまり役に立ちません。* https://builds.apache.org/job/Mahout-Quality/javadoc/org/apache/mahout/clustering/lda/cvb/TopicModel.html * http://svn.apache.org/viewvc/mahout/trunk /core/src/main/java/org/apache/mahout/clustering/lda/cvb/TopicModel.java?view=マークアップ
インターネットやどこかでサンプル コードを見つけることさえできませんでした。
ここで、Javaコードでやりたいと思ったのですが、
TopicModel model = new TopicModel();
Vector documentInTermFrequency = new RandomAccessSparseVector();
documentInTermFrequence.setQuick(termIdX, 10);
documentInTermFrequence.setQuick(termIdY, 20);
Vector docTopic = new DenseVector(new Double[10] { 0.1, 0.1, ..., 0.1 }); // 0.1 probabilities
Vector documentTopicInference = model.infer(documentInTermFrequence, docTopic);
このようなことを試みた人を見たことがありませんか?誰もこのようなことを試したことがありますか?
どんな提案や指針も高く評価されます。
parameters - LDA モデルでは、多項パラメータ (シータ) はディリクレ事前重み (アルファ) からどのように引き出されますか?
私は最近、LDA (Latent Dirichlet Allocation) モデルを勉強している新入生です。しかし、私は問題に直面しました。
シータはアルファからどのように引き出されますか?
theta ~ Dir (アルファ)
私の簡単な理解によると、変数 theta は長さ K のベクトルであり、そのコンポーネントはドキュメント内のトピックの比率を表します。そして、シータはドキュメントごとに異なります。また、コーパス レベルでは、アルファは依然として K ベクトルですが、シータは M(ドキュメント数) × K(トピック数) サイズの行列です。
最初の質問: 上で述べたことは本当ですか?
2 番目の質問: true の場合、ドキュメントについて、同じディリクレ分布から異なるシータ (K ベクトル) をどのように引き出すことができますか?