我正在尝试使用 LDA Mallet 将我的推文分配给主题,当我向它提供多达 500,000 条推文时,它运行良好,但是当我使用我的整个数据集时,它似乎停止工作,大约是 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 使用率下降。此外,代码未产生任何结果。我最终不得不停止代码。 这发生在你身上吗?你有什么解决方案吗? 谢谢!
这听起来像是一个内存问题,但与 gensim 的交互可能会掩盖错误?我对gensim的java交互不够了解,无法提出任何建议。您可以尝试直接从命令行运行,希望错误可以更清楚地传播。