Mallet 2.0.7 で LDA トピック モデリングを実行しようとしています。トレーニング セッションの出力から判断すると、LDA モデルをトレーニングして良い結果を得ることができます。また、そのプロセスに組み込まれている推論を使用して、トレーニング ファイルを再処理するときに同様の結果を得ることができます。ただし、より大きなトレーニング セットから個々のファイルを取得し、それを推論器で処理すると、非常に異なる結果が得られます。これは良くありません。
私の理解では、推論者は固定モデルを使用し、そのドキュメントにローカルな機能のみを使用する必要があるため、トレーニング セットから 1 ファイルまたは 1k を処理しているときに異なる結果が得られる理由がわかりません。私は、この種の効果を持つグローバルな操作のように見える周波数カットオフを行っていません。以下のコマンドで使用している他のパラメーターを確認できますが、ほとんどがデフォルトです。反復回数を 0 または 100 に変更しても効果はありませんでした。
データのインポート:
bin/mallet import-dir \
--input trainingDataDir \
--output train.data \
--remove-stopwords TRUE \
--keep-sequence TRUE \
--gram-sizes 1,2 \
--keep-sequence-bigrams TRUE
訓練:
time ../bin/mallet train-topics
--input ../train.data \
--inferencer-filename lda-inferencer-model.mallet \
--num-top-words 50 \
--num-topics 100 \
--num-threads 3 \
--num-iterations 100 \
--doc-topics-threshold 0.1 \
--output-topic-keys topic-keys.txt \
--output-doc-topics doc-topics.txt
トレーニング中に特定の 1 つのファイルに割り当てられたトピック、#14 は正しいワインに関するものです。
998 file:/.../29708933509685249 14 0.31684981684981683
> grep "^14\t" topic-keys.txt
14 0.5 wine spray cooking car climate top wines place live honey sticking ice prevent collection market hole climate_change winery tasting california moldova vegas horses converted paper key weather farmers_market farmers displayed wd freezing winter trouble mexico morning spring earth round mici torrey_pines barbara kinda nonstick grass slide tree exciting lots
トレーニング バッチ全体で推論を実行します。
../bin/mallet infer-topics \
--input ../train.data \
--inferencer lda-inferencer-model.mallet \
--output-doc-topics inf-train.1 \
--num-iterations 100
電車での推論スコア -- 非常によく似ています:
998 /.../29708933509685249 14 0.37505087505087503
その 1 つの txt ファイルのみで構成される別のトレーニング データ ファイルで推論を実行します。
../bin/mallet infer-topics \
--input ../one.data \
--inferencer lda-inferencer-model.mallet \
--output-doc-topics inf-one.2 \
--num-iterations 100
1 つのドキュメントを推論すると、トピック 80 と 36 が生成されますが、これらは大きく異なります (14 はほぼ 0 のスコアが与えられます)。
0 /.../29708933509685249 80 0.3184778184778185 36 0.19067969067969068
> grep "^80\t" topic-keys.txt
80 0.5 tips dog care pet safety items read policy safe offer pay avoid stay important privacy services ebay selling terms person meeting warning poster message agree sellers animals public agree_terms follow pets payment fraud made privacy_policy send description puppy emailed clicking safety_tips read_safety safe_read stay_safe services_stay payment_services transaction_payment offer_transaction classifieds_offer