2014-11-14 42 views
0

我正在嘗試使用Java API進行主題建模。這個包提供了一個方便的例子。但是,考慮到我的數據的規模要大得多,我認爲從一個文件導入它是不切實際的。MALLET Java API導入數據

我查看了鏈接到另一個MALLET問題的PowerPoint演示文稿,發現了一個名爲FileIterator的東西,我相信我應該可以使用它們代替示例Java代碼中使用的CsvIterator。但是,我不確定我是否正確使用它。我試着用它運行我的代碼,並且它在創建FileIterator的線上花費了大量的時間。我還沒有深入研究MALLET代碼,但尚未解決此問題;我想其他人可能已經知道更多。我可以傳遞一個包含多個目錄的文件夾嗎?

然後還有一個機會,我一次只給它太多的數據。

所以我總的問題是真的在2個部分:

1)如何大的比例可以在木槌功能?我有大約50萬行6行文件,我想給出主題。首先,這對於MALLET來說是否可行?

2)如果上面的答案是可行的,那麼用MALLET導入這些數據的最好方法是什麼?如果對於MALLET來說不可行,那我還有什麼可以使用的建議?


編輯:我確實能夠使用FileIterator,但它的使用並不像我懷疑的那樣。做我想做的最簡單的方法是將包含一個實例的所有單個文件放在一個目錄中。然後,我可以將此目錄提供給FileIterator,並且它將像CsvIterator一樣工作。關於可伸縮性,我能夠在合理的時間內運行大約10,000個短文檔,但由於LDA同時考慮所有文檔,我認爲不可能對所有的文檔都做到這一點。文件一次。但是,MALLET中的TopicInferencer類將允許我採用儘可能多的文檔,因爲我可以合理地將其放入模型中,然後推斷其他文檔的主題。這足夠滿足我的需求。

回答

0

我薩米爾Wadkar的http://www.slideshare.net/wadkarsameer/large-scale-topic-modeling的作者。我能夠用我修改過的LDA木槌版本對它進行擴展,使其達到250萬個文檔。我這裏有

https://github.com/sameeraxiomine/largelda

它的清潔版本給我發送一封電子郵件,如果你想使用它。我打算在某個時間點列出用戶指令列表,但我還沒有得到它

+0

我認爲我現在沒問題,但如果我真的需要大數據解決方案,我會發郵件。謝謝! – pjshap 2015-01-29 15:52:27