問題タブ [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.
r - R (topicmodels、lda、tm) でトピック モデリングのデータを準備するにはどうすればよいですか?
Rで調査しようとしている長いtxtファイル(ファイルあたり約20.000〜30.000ワード)のコーパス(622ドキュメント)があります.tmパッケージを使用して基本的なテキストマイニングを行い、トピックを掘り下げたいと思います現在モデリング中。ただし、これには非常に慣れていないため、データ準備の基本にすでに苦労しています。私が現在使用しているファイルのサンプルは、http ://s000.tinyupload.com/?file_id=46554569218218543610 で入手できます。
これらの長いドキュメントをトピック モデリング ツールに入力するだけでは意味がないと思います。したがって、それらを段落に分割したいと思います(または、データに冗長な段落区切りとOCRエラーがたくさんあるため、おそらく300〜500語のセット)。これを VCorpus 内で行いますか、それとも実際にソース ファイルを (シェル スクリプトなどで) 分割する必要がありますか? 提案や経験はありますか?
テキストは OCR された雑誌の記事から来ているので、ドキュメントを分割する場合、これらの段落にメタデータ タグを追加して、元の号 (基本的には元のファイル名のみ) を示すメタデータ タグを追加する必要があると考えています。 ? これを簡単に行う方法はありますか?
一般的に言えば、R でのトピック モデリングの実践的な入門書を推奨できる人はいますか? 実際、3 年生のように私を手で連れて行くチュートリアルは素晴らしいでしょう。「topicmodels」と「lda」のドキュメントを使用していますが、初心者にとって学習曲線はかなり急です。 編集:明確にするために、私はトピック モデリングの一般的な入門書の多くを既に読みました (例: Scott Weingart と歴史家のための MALLET チュートリアル)。R のプロセスに固有の何かを考えていました。
これらの質問が完全に冗長でないことを願っています。読んでくれてありがとう!
r - パッケージをインタラクティブに使用できますが、Rscript でエラーが発生します
R で「topicmodels」パッケージを使用しています。すべてが対話的に正常に動作しますがRscript
、を使用してまったく同じコマンドを実行すると、エラーが発生します。
is()
最初のエラー (私が解決したもの) は、R が関数が何であるかを知らなかったことです。"methods"
パッケージをインポートすることでこれを解決しました。どうやら、Rscript
インタラクティブな R はこれを自動的にインポートしませんが、これは is() で問題を引き起こしました。問題が解決しました。
しかし、私は今、私が理解できない別のエラーで立ち往生しています。データ (DTM 形式) と k=10 を使用LDA()
して、パッケージ内の関数を使用しています。"topicmodels"
私はそれを次のように呼びます:
そして、それは私に次のエラーを与えます:
主なことは、これがインタラクティブに機能することですが、Rscript
. データが正しくフォーマットされていることはわかっており、データを印刷すると見栄えがよくなります。私が見逃しているものは他にありますか?Rscript
ロードされない他のモジュールはありますが、R Interactive はロードされますか? ありがとう!
python - gensim を使用した LDA 実装の理解
Python の gensim パッケージが潜在的ディリクレ割り当てを実装する方法を理解しようとしています。私は次のことをしています:
データセットを定義する
ストップワードを削除した後、辞書とコーパスを作成します。
次に、LDA モデルを定義します。
次に、トピックを印刷します。
この結果から多くを理解することはできません。各単語の出現確率を提供していますか? また、トピック #1、トピック #2 などの意味は何ですか? 多かれ少なかれ、最も重要なキーワードのようなものを期待していました。
gensim のチュートリアルは既に確認しましたが、あまり役に立ちませんでした。
ありがとう。
r - R で頻度リストのトピック モデルを作成する
このtopicmodels
パッケージを使用して、R で LDA モデルを作成しています。
しかし、それがドキュメントを受け入れる唯一の方法は、実際の文字通りのドキュメントとしてです。周波数のマップを提供する方法があるかどうか疑問に思っていました
これは明らかにRの「マップ」ではありませんが、単語の頻度からトピックモデルを作成できるデータ構造(データフレーム、テーブル、ベクトルのリスト)表現ですか?
これが必要な理由は、トピック モデルが「ドキュメント」や「単語」自体で作成されているのではなく、画像の類似した機能であり、長い形式の表現にはあまりにも多くのスペースが必要だからです。
r - R トピック モデリング - lda コマンド 'lexicalize' が予期しない結果をもたらす
R の「lda」パッケージを使用して、コーパスのトピック モデル分析を実行しています (「corpusB」と呼びましょう)。最初にコマンド「lexicalize」を使用して、分析用のコーパスを準備しています。このコマンドは、用語とドキュメントのマトリックスを返し、事前に指定されていない場合は、コーパスに現れる一意のトークンを含む語彙を返します。
研究目的で、別のコーパスから推測された語彙 (「corpusA」と呼びましょう) を使用してコーパスを語彙化したいのですが、これは簡単に実行できるはずです。しかし、それは機能していません。コードのサンプルを次に示します。
なぜnullの結果が得られるのか考えていますか? 奇妙なことに、インポートされたコーパスではなく単純な文字ベクトルを使用している場合、コマンドは問題なく機能します。
役に立つかもしれないいくつかの情報:
1) 私が興味を持っているコーパス (corpusB) には 700MB のテキストが含まれており、かなりの量のデータです。
2) 両方のコーパス (B と A) は、'tm' パッケージを使用して R にインポートされます。語彙化の前に、'tm' を使用して句読点、数字、ストップワードを削除し、空白と小文字を取り除きます。
どんな助けでも大歓迎です!
r - R lda パッケージからの lda.collapsed.gibbs.sampler コマンドの出力
lda.collapsed.gibbs.sampler コマンドからの出力のこの部分がわかりません。私が理解できないのは、異なるトピックの同じ単語の数が異なるのはなぜですか? たとえば、「テスト」という単語の場合、トピック 8 が 37 個のトピックを取得するときに、2 番目のトピックに 4 個あるのはなぜですか。異なるトピックの同じ単語の数は、同じ整数または 0 であってはなりませんか?
それとも、何か誤解していて、これらの数字はトピックの単語数を表していませんか?
これが私が実行するコードです。
PS。長い投稿と私の下手な英語で申し訳ありません。