首页 > 解决方案 > 带有 Gensim 的槌:找不到文件

问题描述

我尝试让 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中没有问题)

谢谢,

标签: gensimldamallet

解决方案


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

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')

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

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

希望能帮助到你!

PS 我还更新了我的gensim模块smart_open到版本 3.4。


推荐阅读