4

我按照此链接(“ http://radimrehurek.com/2014/03/tutorial-on-mallet-in-python/ ”)上的说明进行操作,但是在尝试训练模型时遇到了错误:

    model = models.LdaMallet(mallet_path, corpus, num_topics =10, id2word = corpus.dictionary)
    IOError: [Errno 2] No such file or directory: 'c:\\users\\brlu\\appdata\\local\\temp\\c6a13a_state.mallet.gz'

请分享您可能有的任何想法。

谢谢。

4

5 回答 5

3

发生这种情况的原因有两个: 1. 您的木槌路径中有空间。2. 没有 MALLET_HOME 环境变量。

于 2015-02-22T01:10:33.937 回答
1

就我而言,我忘记导入 gensim 的槌状包装器。以下代码解决了该错误。

import os
from gensim.models.wrappers import LdaMallet

os.environ['MALLET_HOME'] = 'C:/.../mallet-2.0.8/'

更详细的解释可以在这里找到: https ://github.com/RaRe-Technologies/gensim/issues/2137

于 2018-10-13T01:33:20.863 回答
0
  1. 确保 mallet从命令行正常工作。
  2. 如果有一些文件,请查看您的文件夹 'c:\users\brlu\appdata\local\temp\...',您可以推断出 mallet-wrapper 失败的步骤。在命令行尝试此步骤。
于 2018-02-23T12:24:00.920 回答
-1

我在 Windows 上使用gensim+时遇到了类似的问题:MALLET

  1. 确保MALLET_HOME已设置
  2. 在 Python 中设置 mallet_path 时转义斜线

    mallet_path = 'c:\\mallet-2.0.7\\bin\\mallet'
    LDA_model = gensim.models.LdaMallet(mallet_path, ...
    
  3. 此外,将第 142 行Python\Lib\site-packages\gensim\models\ldamallet.py:更改--token-regex '\S+'--token-regex \"\S+\"

希望能帮助到你

于 2015-03-26T08:58:15.003 回答
-2

尝试以下

  1. 导入临时文件
  2. tempfile.tempdir='some_other_non_system_temp_directory'
于 2014-08-21T01:07:09.827 回答