槌停止为大型数据集工作?

时间:2019-06-18 16:41:26

标签: python nlp text-mining lda mallet

我正在尝试使用LDA Mallet将我的tweet分配给主题,当我将其最多提供500,000条tweets时,它工作得很好,但是当我使用整个数据集(大约2,500,000)时,它似乎停止工作鸣叫。您对此有任何解决方案吗?

运行代码时,我正在监视CPU和RAM的使用情况,以确保代码实际运行(我使用Jupyter笔记本)。我使用下面的代码将我的推文分配给主题。

import os
from gensim.models.wrappers import LdaMallet

os.environ.update({'MALLET_HOME':r'C:/new_mallet/mallet-2.0.8/'})
mallet_path = 'C:/new_mallet/mallet-2.0.8/bin/mallet'

ldamallet = LdaMallet(mallet_path, corpus=corpus, num_topics=10, id2word=id2word)

当我的数据集包含的推文少于500,000条时,代码似乎可以正常工作:它吐出结果,并且我可以看到python和/或java使用了我的RAM和CPU。但是,当我将代码输入整个数据集时,Java和Python在最初的几秒钟内会临时显示一些CPU和RAM使用率,但是之后CPU使用率下降到1%以下,并且RAM使用率开始逐渐减少。我尝试多次运行该代码,但是在等待6-7个小时的代码后,一段时间后我发现CPU使用率没有增加,而RAM使用率却下降了。此外,该代码未产生任何结果。我终于不得不停止了代码。 这发生在你身上吗?您有什么解决方案吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

这听起来像是内存问题,但是与gensim的交互可能掩盖了错误?我对gensim的java交互了解不足,无法提出任何建议。您可以尝试直接从命令行运行,希望可以更清楚地传播错误。

相关问题