0

次のコマンドを使用して、いくつかのドキュメントからトピック モデルを生成しました。

bin/mallet train-topics --input topic-input.mallet --num-topics 100 --output-state topic-state.gz

ただし、--output-modelシリアル化されたトピック トレーナー オブジェクトを生成するオプションは使用していません。状態ファイルを使用して、新しいドキュメントのトピックを推測する方法はありますか? トレーニングは遅く、シリアル化されたモデルをゼロから作成する必要がある場合、再トレーニングに数日かかります。

4

3 に答える 3

1

マレットに付属のコマンドラインツールは使用しませんでした。マレットAPIを使用して、新しいドキュメントを推論するためのシリアル化されたモデルを作成しました。2つのポイントには特別な注意が必要です。

  • トレーニング終了直後に使用したパイプをシリアル化する必要があります(私の場合はSerialPipesです)
  • そのため、トレーニングの終了後にモデルもシリアル化する必要があります(私の場合はParallelTopicModelです)

javadocで確認してください。

于 2013-02-25T09:33:38.153 に答える
0

リリースノートによると、状態ファイルからモデルを復元することは、mallet2.0.7の新機能のようです。

gzipで圧縮された「状態」ファイルからモデルを復元する機能。新しいTopicTrainerから、-input-state[filename]引数を使用します。このファイルは手動で編集できることに注意してください。トピックが-1に設定されているトークンは、ロード時にすぐにリサンプリングされます。

于 2011-09-30T17:33:16.397 に答える
0

新しいドキュメントが以前にトレーニングされたトピック モデルにどのように適合するかを確認したい場合、それを正しく行うために使用できる簡単なコマンドはありません。mallet 2.0.7 のソース コードのクラス cc.mallet.topics.LDA は、このようなユーティリティを提供します。それを理解し、プログラムで使用してください。PS、私の記憶が正しければ、そのクラスの関数の実装に問題があります。

public void addDocuments(InstanceList additionalDocuments, 
                         int numIterations, int showTopicsInterval,
                         int outputModelInterval, String outputModelFilename,
                         Randoms r)

書き直さなければなりません。

于 2013-08-02T14:51:09.080 に答える