問題タブ [topic-modeling]
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.
java - マレット:局所Nグラム
オプションを使用してマレットを実行したいのですが、--use-ngrams true
機能しないようです。以下を使用してデータをインポートしました:
今、私は局所的なngramモデルを訓練したいと思います:
しかし、私はこのエラーを受け取ります:
ご覧のとおり、私はマレットをコマンドラインツールとして実行しており、APIをこじ開けて機能させることはしたくありません。助言がありますか?
text-mining - トピック モデルに適した Mallet クラス
Java のプロジェクトでMalletライブラリを使用しています。
それぞれ 400 個のトークンを持つ 15,000 個のドキュメントがあります。使ってみParallelTopicModel
ました。しかし、単一のトークンとトークンのシーケンスの両方を含む一連のトピックが必要です (たとえば、「Java」と「Java 開発者」)。
LDA-HMMの使用を検討しています。どのクラスのマレットを使用できますか?
次に、すべてのトピックをベイジアン ネットワークのノードに変換し、トークンまたは一連のトークンを証拠として受け取り、推論を行います。そのためにどのJavaライブラリを使用できますか?
前もって感謝します。フランチェスコ
r - Rのドキュメントのコーパスから「空の」文字アイテムを削除しますか?
私はニュース記事のコーパスをトピックモデル化するためにRのtm
andパッケージを使用しています。ただし、トピックを台無しにしているlda
「文字以外の」問題が発生しています。""
これが私のワークフローです:
残念ながら、私がldaモデルをトレーニングすると、最も頻繁に出現する単語が ""であることを除いて、すべてが見栄えがします。以下に示すように語彙から削除し、上記のようにモデルを再推定することで、これを改善しようとしています。
しかし、それはまだそこにあります。
これを削除する方法について何か提案はありますか?ストップワードのリストに追加""
しても役に立ちません。
python - Python でトピック モデルを実装する (numpy)
最近、あるサイトのコードを参考に、numpy を使って Python で LDA トピック モデルの Gibbs サンプリングを実装しました。ギブス サンプリングの反復ごとに、1 つの (現在の) 単語を削除し、LDA モデルから推測された事後条件付き確率分布に従ってその単語の新しいトピックをサンプリングし、次のように単語トピック カウントを更新します。
上記のコードでは、多項式 scipy 関数を使用して新しい (単一の) z をサンプリングします。
ここで、この論文の共同センチメント トピック モデルを実装したいと思います。ここで、必要なカウントを追跡するために次の構造が必要になります。
ここで問題が発生します。この Gibbs サンプラーでは、ドキュメントに表示される単語ごとに、新しいトピックと感情ラベルの両方が条件付き事後分布からサンプリングされます (論文の 4 ページの方程式 5)。Pythonで「これらの2つの値をサンプリングする」にはどうすればよいですか?
前もって感謝します...
lda - 潜在的ディリクレ配分解の例
潜在的ディリクレ配分法 (LDA) について学習しようとしています。私は機械学習と確率論の基本的な知識を持っており、このブログ投稿http://goo.gl/ccPvEに基づいて、LDA の背後にある直感を開発することができました。しかし、そこに含まれるさまざまな計算については、まだ完全には理解できていません。非常に小さなコーパス (たとえば 3 ~ 5 文と 2 ~ 3 トピック) を使用した計算を誰かに見せてもらえないかと思っています。
lda - LDA トピック モデリング - トレーニングとテスト
私は LDA を読み、ドキュメントのコレクションを入力したときにトピックがどのように生成されるかについての数学を理解しています。
参考文献によると、LDA は、ドキュメントのコレクションだけが与えられた場合 (監視は必要ありません)、そのコレクション内のドキュメントによって表現された「トピック」を明らかにすることができるアルゴリズムです。したがって、LDA アルゴリズムと Gibbs Sampler (または Variational Bayes) を使用することで、一連のドキュメントを入力し、出力としてトピックを取得できます。各トピックは、確率が割り当てられた用語のセットです。
私が理解できないのは、上記が当てはまる場合、なぜ多くのトピック モデリング チュートリアルで、データセットをトレーニング セットとテスト セットに分離することについて話しているのですか?
LDA を使用してモデルをトレーニングし、それを別のテスト データセットの分析に使用する方法の手順 (基本的な概念) を誰か説明してもらえますか?
javascript - Javascript - Web ワーカーが終了するのを待ちますか?
プロジェクトの一環として、javascript でトピック モデリングのLDAアルゴリズムを実装しています。ボタンをクリックすると、LDA を実行する関数が呼び出されます。ただし、これは非常に負荷の高いタスクであるため、関数が呼び出されたときにブラウザーが約 15 秒間ハングしていました (処理中にアニメーション GIF の読み込みが機能していませんでした)。
そこで、この機能をweb workerとして実装しました。これにより、ハングアップの問題が解決されますが、ロード アニメーションが数秒以内に消え、その後 12 ~ 14 秒後に結果が表示されます。
処理中にローダーをアニメーション化する方法はありますか? ローディング アニメーションが消える前に、Web ワーカーが計算を完了するのを待ちます。
スクリプトは非同期で呼び出され、ローダーは jQuery の ajax イベントに次のようにアタッチされます。
mahout - Mahout を使用して LDA をトレーニングし、そのトピックを取得する
私は Apache Mahout を試していますが、LDA を使用してトピック モデルを生成する方法については多くの情報がありますが、新しい CVB lda アルゴリズムを使用して同じことを行う方法についてはほとんど情報がありません。私がやりたいのは、元の と同様に、単語からトピックへの確率を生成することですldatopic
。
これを行う方法に関する情報や例をいただければ幸いです。
ありがとう!
アップデート:
わかりました、私はこれをかなり解決しましたが、まだ不完全なので、どんな助けも素晴らしいでしょう!
scala - 推論標識 LDA/pLDA [Topic Modeling Toolbox]
TMTツールボックス(スタンフォードnlpグループ)を使用して、トレーニング済みのラベル付きLDAモデルとpLDAからの推論のためのコードを処理しようとしています。次のリンクで提供されている例を確認しました: http://nlp.stanford.edu/software/tmt/tmt-0.3/ http://nlp.stanford.edu/software/tmt/tmt-0.4/
ラベル付きLDA推論のために試しているコードは次のとおりです
エラー
found : scalanlp.collection.LazyIterable[(String, Array[Double])]
required: Iterable[(String, scalala.collection.sparse.SparseArray[Double])]
EstimateLabeledLDAPerWordTopicDistributions(model, dataset, perDocTopicDistributions);
タイプの不一致エラーであることは理解しています。しかし、これをscalaで解決する方法がわかりません。基本的に、infer コマンドの出力後に 1. ドキュメントごとのトピックの分布 2. ドキュメントごとのラベルの分布を抽出する方法がわかりません。
助けてください。pLDAの場合も同様です。私は推論コマンドに到達し、その後それをどうするかわかりません。