【问题标题】:Mallet with Gensim: file-not-found带有 Gensim 的槌:找不到文件
【发布时间】:2018-11-17 04:03:32
【问题描述】:

我尝试让 LDAMallet 在 gensim 中工作,但出现以下错误

'C:\...\AppData\Local\Temp\eb09f5_state.mallet.gz' 未找到

代码

ldamallet = gensim.models.\
wrappers.LdaMallet(mallet_path,
                   corpus=corpus,
                   num_topics=5,
                   id2word=dictionary)

(num_topics极小,但测试超过5句;这在常规gensim LdaModel中没有问题)

谢谢,

【问题讨论】:

  • 您确定这个确切的代码 sn-p 会引发错误吗? LdaMallet 在保存模型时创建这些文件。它们不是运行包装器所必需的。
  • 你能告诉我你是怎么解决这个问题的吗?我似乎面临同样的问题。任何帮助将不胜感激。

标签: gensim lda mallet


【解决方案1】:

我也面临同样的问题。我得到的错误如下:

IOError: [Errno 2] No such file or directory c:\\users\\...\\appdata\\local\\temp \\d36348_state.mallet.gz.

每次我尝试运行代码时,下划线之前的前缀都会改变,但错误名称总是以“~Some Alphanumeric String~_state.mallet.gz”的形式结尾。

我试图了解控制台中的堆栈跟踪输出。该错误行之前的行如下:

fileobj = self.myfileobj = __builtin__.open(filename, mode or 'rb')

我用谷歌搜索并找到了这个特别的link。这是一个 github 链接,其中一个人提出了不同的错误,但他的错误日志的结尾部分与我的相同。他的错误的解决方案是升级他的smart_open 模块,gensim 依赖于该模块,因为升级已经解决了这个问题。所以我检查了我的smart_open 模块版本,它是1.4.x,最后一次更新大约是一年半前,所以我将它升级到版本1.5.7,LdaMallet 代码可以正常工作。

请检查您的问题是否是由于相同的原因引起的。

希望对你有帮助!

附:我还将我的gensim 模块与smart_open 一起更新到了3.4 版。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-18
    • 1970-01-01
    • 2019-01-17
    • 2016-06-01
    • 1970-01-01
    • 2015-12-04
    • 2013-12-25
    • 2020-05-30
    相关资源
    最近更新 更多