我正在尝试使用Java API进行主题建模。包装提供了一个方便的例子。但是,鉴于我的数据量大得多,我认为从一个文件中导入所有数据是不切实际的。
我查看了另一个MALLET问题中链接的powerpoint演示文稿,并发现了一个名为FileIterator的东西,我相信我应该可以使用它代替他们的示例Java代码中使用的CsvIterator。但是,我不确定我是否正确使用它。我尝试使用它来运行我的代码,而且它只是在创建FileIterator的线路上花费了不切实际的大量时间。我还没有深入研究MALLET代码,尚未剖析这个问题;我想其他人可能已经知道了更多。我可以只传递一个目录,其中包含存储文档本身的几个目录吗?
然后我也有机会立刻给它太多的数据。
所以我的整体问题实际上分为两部分:
1)MALLET的功能有多大?我有~500,000个六行文件我想给主题。这首先是MALLET可行的吗?
2)如果上述答案是可行的,那么用MALLET导入这些数据的最佳方法是什么?如果使用MALLET不可行,建议我还能用什么?
至于可扩展性,我能够在合理的时间内运行大约10,000个短文档,但由于LDA同时考虑所有文档,我认为不可能为所有文档执行文件一下子。但是,MALLET中的TopicInferencer类允许我将尽可能多的文档放入模型中,然后推断出其余文档的主题。这足以满足我的需求。
答案 0 :(得分:0)
您是否减少了语料库大小,然后运行主题建模以查看完成处理的时间有多快?
另外,在这里,您可能会发现一些与Mallet主题建模相关的性能数据,据报告有人根据其产品对其进行测量。
http://www.slideshare.net/wadkarsameer/large-scale-topic-modeling
答案 1 :(得分:0)
我是http://www.slideshare.net/wadkarsameer/large-scale-topic-modeling的作者Sameer Wadkar。我能够使用我的LDA修改后的mallet版本扩展到250万个文档。我在这里有一个更清洁的版本
https://github.com/sameeraxiomine/largelda
如果您想使用它,请给我发送电子邮件。我计划在某个时候有一份用户说明列表,但我还没有找到它