我遵循此链接("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'
请分享你的想法。
谢谢。
这有两个原因:1. 你的槌子路径上有空间。2. 没有MALLET_HOME环境变量。
在我的例子中,我忘记导入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
- 确保mallet 正确地在命令行中工作。查看你的文件夹"c:usersbrluappdatalocaltemp…"'如果有一些文件,您可以推断出锤子包装器在哪一步失败。请在命令行中尝试此步骤。
我在Windows上使用gensim
+ MALLET
有类似的问题:
- 确保
MALLET_HOME
设置为 -
在Python中设置mallet_path时转义斜杠
mallet_path = 'c:\mallet-2.0.7\bin\mallet' LDA_model = gensim.models.LdaMallet(mallet_path, ...
-
此外,修改
PythonLibsite-packagesgensimmodelsldamallet.py:
中的第142行将--token-regex 'S+'
更改为--token-regex "S+"
也可能有用
希望有所帮助
试试下面的
- 进口tempfile
- <我>我>
- <我> tempfile.tempdir ="some_other_non_system_temp_directory" 我>