我一直在使用mallet来推断包含100,000行(大约34 MB的mallet格式)的文本文件的主题。但是现在我需要在包含一百万行(大约180MB)的文件上运行它,并且我得到一个java.lang.outofmemory异常。有没有办法将文件拆分成较小的文件并为所有文件中存在的数据构建模型? 提前谢谢
答案 0 :(得分:6)
在 bin / mallet.bat 中增加此行的值:
set MALLET_MEMORY=1G
答案 1 :(得分:1)
我不确定Mallet对大数据的可扩展性,但是项目http://dragon.ischool.drexel.edu/可以将其数据存储在磁盘支持的持久性中,因此可以扩展到无限的语料库大小(当然性能较低)
答案 2 :(得分:1)
即使从多个文件中读取模型,模型仍然会非常庞大。您是否尝试过增加java vm的堆大小?
答案 3 :(得分:1)
java.lang.outofmemory异常的发生主要是因为堆空间不足。 您可以使用-Xms和-Xmx来设置堆空间,以便它不会再次出现。
答案 4 :(得分:0)
考虑到当前PC的内存大小,应该很容易使用大到2GB的堆。 在考虑使用集群之前,您应该尝试使用单机解决方案。