我正在尝试使用Java进行主题建模。包中提供了一个方便的示例。但是,考虑到我的数据要大得多,我认为从一个文件导入这些数据是不切实际的。
我查看了另一个MALLET问题中链接到的powerpoint演示文稿,发现了一个叫做FileIterator的东西,我相信我应该能够用它来代替他们示例中使用的CsvIterator代码。但是,我不确定我是否正确地使用了它。我试着用它运行我的代码,它在创建FileIterator的过程中花费了不太实际的大量时间。我还没有深入研究MALLET代码来剖析这个问题,我想其他人可能已经对它了解得更多了。我能给它传递一个目录吗?该目录包含几个存储文档本身的目录?
还有一个机会,我只是一次提供了太多的数据。
所以我的问题主要有两部分:
1)在多大的尺度上,MALLET可以发挥作用?我有50万6行的文件,我想给你主题.对MALLET来说这是可行的吗?
2)如果上述问题的答案是可行的,那么用MALLET导入这些数据的最佳方法是什么?如果对MALLET不可行的话,我还能用什么建议呢?
编辑:我确实能够使用FileIterator,但它的使用并不像我想象的那样。我想要做的最简单的方法是将包含一个实例的所有单独文件放在一个目录中。然后,我可以将这个目录提供给FileIterator,它将像CsvIterator那样工作。
至于可伸缩性,我能够在合理的时间内运行大约10,000个短文档,但由于LDA同时考虑所有文档,我不认为一次对所有文档都这样做是可行的。但是,MALLET中的TopicInferencer类将允许我获取尽可能多的文档,可以合理地适应模型,然后推断出其他文档的主题。这足够满足我的需要了。
发布于 2015-01-15 13:29:16
您是否缩小了语料库的大小,然后运行主题建模来查看它多久完成了处理?
此外,在这里,您可能会发现一些与Mallet主题建模相关的性能数字,有人报告了根据他们的产品进行度量。
http://www.slideshare.net/wadkarsameer/large-scale-topic-modeling
发布于 2015-01-29 00:30:52
我是Sameer,http://www.slideshare.net/wadkarsameer/large-scale-topic-modeling的作者。我能够用我修改过的LDA版本的最大250万份文档来扩展它。我这里有一个更干净的版本
https://github.com/sameeraxiomine/largelda
如果你想用它,给我发一封电子邮件。我计划在某个时候有一个用户指令列表,但我还没来得及了解它。
https://stackoverflow.com/questions/26938243
复制相似问题