这是我第一次使用槌LDA。基本上,我下载了mallet-2.0.8 zip文件和JDK。我安装了JDK,将mallet-2.0.8提取到目标文件夹。我设置了MALLET_HOME。 这是我的代码
mallet_path='C:/Users/abc/mallet-2.0.8/bin/mallet'
ldamallet=gensim.models.wrappers.LdaMallet(mallet_path,corpus=corpus,num_topics=20,id2word=id2word)
然而,它给出了错误:
FILENOTFOUNDERROR [ERROR2]
我试过
mallet_path='C:\\Users\\abc\\mallet-2.0.8\\bin\\mallet'
和
mallet_path=r'C:\Users\abc\mallet-2.0.8\bin\mallet'
我收到了同样的错误消息。
答案 0 :(得分:1)
我遇到了同样的问题,这是因为我忘记设置环境变量%MALLET_HOME%
import os
from gensim.models.wrappers import LdaMallet
os.environ['MALLET_HOME'] = 'C:/.../mallet-2.0.8/'
答案 1 :(得分:0)
我面临着同样的问题。我得到的错误如下:
Cursor
每次尝试运行代码时,下划线之前的前缀都会更改,但错误名称始终以“〜Some Alphanumeric String〜_state.mallet.gz”的形式结尾。
我试图了解控制台中的堆栈跟踪输出。该错误行之前的行如下:
IOError: [Errno 2] No such file or directory c:\\users\\...\\appdata\\local\\temp \\d36348_state.mallet.gz.
我用Google搜索它,发现了这个特殊的link。这是一个github链接,一个人提出了一个不同的错误,但是他的错误日志的结尾部分与我的相同。解决他错误的方法是升级fileobj = self.myfileobj = __builtin__.open(filename, mode or 'rb')
所依赖的smart_open
模块,因为该升级已解决了该问题。因此,我检查了gensim
模块的版本,它是smart_open
,最近一次更新是在一年半之前,因此我将其升级到版本1.4.x
,LdaMallet代码可以正常工作。
请检查您的问题是否是由相同原因引起的。
希望有帮助!
P.S。我还将1.5.7
模块和gensim
一起更新到了版本3.4。
答案 2 :(得分:0)
这就是答案
import os
from gensim.models.wrappers import LdaMallet
os.environ['MALLET_HOME'] = 'C:\\Users\\DELL\\Desktop\\Research_lak\\mallet-2.0.8'
mallet_path = 'C:\\Users\\DELL\\Desktop\\Research_lak\\mallet-2.0.8\\bin\\mallet'
ldamallet = gensim.models.wrappers.LdaMallet(mallet_path, corpus=corpus, num_topics=10, id2word=id2word)