問題タブ [mallet]
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.
lda - mallet で既存のトピック モデルに新しいドキュメントを追加する方法、またはドキュメント数が多い場合にモデルをバッチ処理する方法
トピック モデリングを使用したいのですが、MALLET が自分に適していることがわかりました。
約 10 万のドキュメントを使用して最初のデモを正常に作成しました。現在、私の要件に従って、それ以上処理できない 1,000 万のドキュメントを処理する必要があります。新しいドキュメントを既存のトピック モデルに追加することは可能ですか?モデルをマージして単一のモデルにマージし、すべてのモデルをマージして出力を取得します。これは、モデルをバッチ処理してすべてのドキュメントをマージして出力を取得することを考えているため、マレットはそのような大きなドキュメントを一度に処理できないためです
。 10 万のドキュメントの 100 バッチを作成し、各バッチで mallet を実行し、最後に 100 バッチすべてをマージして結果を取得します。
ありがとう
r - jcall:java.lang.NoSuchMethodException の R mallet エラー: 指定されたパラメータに適したメソッドがありません
Rでマレットを使用していますが、devtoolsをインストールするまでは問題なく動作していました。その後、私が得たことのない次のエラーが発生し始めます。
エラーがスローされます:
検索したところ、誰かが正確な質問に答えていることがわかりましたが、その質問で与えられた答えは実際には機能しませんでした。受け入れられた回答ではないため、回答が正しいかどうかはわかりません。
nlp - Mallet トピック モデリングで数字を維持する
トピック モデリングに Mallet を使用しています。入力テキスト内の大量の単語には、文字と数字の両方が含まれています。例: A54、D892。Mallet が自動的に数字を削除し、単語の文字だけを保持していることに気付きました。テキスト ファイルをインポートするときは、 --remove-stopwords オプションも使用しません。この問題を解決する方法を知っている人はいますか。
mallet - MALLET トピック モデリングの入力引数が間違っていますか?
コマンドラインから以下を使用して、MALLET トピック モデリングを実行しようとしました。
次のエラーが発生しました。
第10引数のカンマの後に「2」をMALLETが認識したようです。私の入力が間違っているかどうか、およびこれを修正する方法を誰かに教えてもらえますか?
ありがとう!
topic-modeling - Mallet トピック モデル - シリアル化されたファイルとの一貫性のない結果
Mallet を使用してトピック モデルをトレーニングし、後で使用するためにシリアル化したいと考えています。2 つのテスト ドキュメントで実行した後、デシリアライズし、読み込まれたモデルを同じドキュメントで実行しましたが、結果はまったく異なりました。
ドキュメントを保存/ロードする方法に問題はありますか (コードが添付されています)?
ありがとう!
の定義printProbabilities()
:
java - MALLET Java API データのインポート
Java API を使用してトピック モデリングを実行しようとしています。パッケージに便利なサンプルが付属しています。ただし、データのサイズがはるかに大きいことを考えると、1 つのファイルからすべてをインポートするのは現実的ではないと思います。
別の MALLET の質問にリンクされているパワーポイントのプレゼンテーションを見て、Java コードの例で使用されている CsvIterator の代わりに使用できると思われる FileIterator と呼ばれるものを見つけました。ただし、正しく使用できているかどうかはわかりません。私はそれを使ってコードを実行しようとしましたが、FileIterator を作成している行で非現実的なほど多くの時間がかかってスタックしました。この問題を分析するために、まだ MALLET コードを掘り下げていません。他の誰かがすでにそれについてもっと知っているかもしれないと思いました。ドキュメント自体が保存されている複数のディレクトリを含むディレクトリを渡すことはできますか?
また、一度に大量のデータを与えている可能性もあります。
したがって、私の全体的な質問は、実際には 2 つの部分に分かれています。
1) MALLET はどのくらいの規模で機能しますか? トピックを追加したい 6 行のドキュメントが 500,000 件ほどあります。そもそもこれはMALLETで実現可能ですか?
2) 上記の答えが実行可能である場合、MALLET でこのデータをインポートする最良の方法は何ですか? MALLET では実行できない場合、他に何が使用できるかについての提案はありますか?
編集:確かに FileIterator を使用できましたが、その使用法は思ったほどではありませんでした。私がやろうとしていたことを行う最も簡単な方法は、1 つのインスタンスを含むすべての個別のファイルを 1 つのディレクトリに配置することです。次に、このディレクトリを FileIterator にフィードすると、CsvIterator と同じように機能します。
スケーラビリティに関しては、妥当な時間内に約 10,000 の短いドキュメントを実行できましたが、LDA はすべてのドキュメントを同時に検討するため、すべてのドキュメントを一度に実行することは現実的ではないと思います。ただし、MALLET の TopicInferencer クラスを使用すると、モデルに合理的に収まる限り多くのドキュメントを取得し、残りのドキュメントのトピックを推測できます。これは私のニーズには十分でした。
java - MALLET Java API で、Input2CharSequence パイプが CharSequenceLowercase() パイプにフィードできないのはなぜですか?
これらのパイプを連続して使用しようとすると、次のエラーが発生します。
スレッド「メイン」での例外 java.lang.IllegalArgumentException: CharSequenceLowercase は文字列を予期していますが、クラス java.lang.StringBuffer が見つかりました
これを修正するために MALLET で使用できるパイプはありません。しかし、CharSequenceLowercase() は CharSequence を取り込めるように思えます...