使用Gensim的Mallet:文件未找到

时间:2018-06-07 09:33:46

标签: gensim lda mallet

我尝试在gensim中使用LDAMallet,但是得到以下错误

' C:\ ... \应用程序数据\本地\ TEMP \ eb09f5_state.mallet.gz'找不到

代码

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

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

感谢,

1 个答案:

答案 0 :(得分:0)

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

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

我用Google搜索它,发现了这个特殊的link。这是一个github链接,一个人提出了一个不同的错误,但是他的错误日志的结尾部分与我的相同。解决他错误的方法是升级smart_open所依赖的gensim模块,因为该升级已解决了该问题。因此,我检查了smart_open模块的版本,它是1.4.x,最近一次更新是在一年半之前,因此我将其升级到版本1.5.7,LdaMallet代码可以正常工作。

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

希望有帮助!

P.S。我还将gensim模块和smart_open一起更新到了版本3.4。