2017-03-02 42 views
3

我試圖以某種方式比較一個單獨的文檔的主題分佈(使用LDA),其他文件及其在先前創建的主題模型中的主題分佈,使用MALLET。如何獲取新文檔的主題矢量並與Mallet中的預定義主題模型進行比較?

我知道這可以通過終端中的MALLET命令來完成,但我在找到一種方法來實現這個在Java中的問題。

爲了給什麼我的程序的功能是一個要點:

已經建立的主題模型用大量語料文本的創造。我想用它來比較主題分佈與包含特定主題標籤的推文,然後從文集中提取最類似於推文的文件。

我仔細閱讀了Mallet的Java API文檔,但它們看起來很混亂,而且沒有真正的解釋。

如果任何人都可以給我一些提示,我會感激

回答

2

首先,來看看這些:

現在,這些例子顯示基本功能,但如果您需要將培訓與測試分開,它們不會顯示如何保存和加載模型。基本上你需要的是在訓練後保存模型和實例(因爲你需要使用相同的管道進行訓練和測試),並在測試之前加載它們。

保存模型和管道訓練後:

model.write(new File("model.dat")); 
instances.save(new File("pipeline.dat")); 

負荷模型和管道檢測前:

ParallelTopicModel model = ParallelTopicModel.read(new File("model.dat")); 
InstanceList instances = InstanceList.load(new File("pipeline.dat")); 

希望這有助於。

相關問題