尝试使用Gensim运行Mallet时出现subprocess.CalledProcessError

时间:2019-05-09 12:54:43

标签: python-3.x subprocess lda topic-modeling mallet

我正在尝试使用Gensim和Mallet(link)进行主题建模。 当我找到mallet_path并尝试将其分配给gensim时,出现错误     subprocess.CalledProcessError:返回非零退出状态1

然后系统提示我更新Java。

关于如何解决的任何提示?

mallet_path = '/Users/username/mallet-2.0.8/bin/mallet'

ldamallet = gensim.models.wrappers.LdaMallet(mallet_path, corpus=corpus, num_topics=20, id2word=id2word)
Traceback (most recent call last):
  File "<pyshell#85>", line 1, in <module>
    ldamallet = gensim.models.wrappers.LdaMallet(mallet_path, corpus=corpus, num_topics=20, id2word=id2word)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/gensim/models/wrappers/ldamallet.py", line 132, in __init__
    self.train(corpus)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/gensim/models/wrappers/ldamallet.py", line 273, in train
    self.convert_input(corpus, infer=False)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/gensim/models/wrappers/ldamallet.py", line 262, in convert_input
    check_output(args=cmd, shell=True)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/gensim/utils.py", line 1918, in check_output
    raise error
subprocess.CalledProcessError: Command '/Users/username/mallet-2.0.8/bin/mallet import-file --preserve-case --keep-sequence --remove-stopwords --token-regex "\S+" --input /var/folders/76/hdlh6w8d3nbb4m424wx3010w0000gn/T/adc98e_corpus.txt --output /var/folders/76/hdlh6w8d3nbb4m424wx3010w0000gn/T/adc98e_corpus.mallet' returned non-zero exit status 1.

1 个答案:

答案 0 :(得分:0)

在bin目录中,使用文本编辑器打开槌文件,然后增加MEMORY限制。它对我有用。