【发布时间】:2019-01-17 23:56:57
【问题描述】:
我正在尝试加载已保存的 gensim lda mallet:
ldamallet = gensim.models.wrappers.LdaMallet(mallet_path, corpus=corpus, num_topics=n_topics,id2word=id2word)
ldamallet.save('ldamallet')
在测试新查询时(使用原始语料库和字典),第一次加载似乎一切正常。
ques_vec = [dictionary.doc2bow(words) for words in data_words_list]
for i, row in enumerate(lda[ques_vec]):
row = sorted(row, key=lambda x: (x[1]), reverse=True)
在之后执行相同的代码时,弹出的是这个错误:
java.io.FileNotFoundException: /tmp/9f371_corpus.mallet (没有这样的文件 或目录) 在 java.io.FileInputStream.open0(本机方法) 在 java.io.FileInputStream.open(FileInputStream.java:195) 在 java.io.FileInputStream.(FileInputStream.java:138) 在 cc.mallet.types.InstanceList.load(InstanceList.java:787) 在 cc.mallet.classify.tui.Csv2Vectors.main(Csv2Vectors.java:131) 线程“主”java.lang.IllegalArgumentException 中的异常: 无法从文件 /tmp/9f371_corpus.mallet 中读取 InstanceList 在 cc.mallet.types.InstanceList.load(InstanceList.java:794) 在 cc.mallet.classify.tui.Csv2Vectors.main(Csv2Vectors.java:131) Traceback(最近一次调用最后一次):文件“topic_modeling1.py”,行 406,在 topic = get_label(text, id2word, first, ldamallet) 文件“topic_modeling1.py”,第 237 行,在 get_label 对于我,枚举中的行(lda [ques_vec]):文件“/home/user/sjha/anaconda3/envs/conda_env/lib/python3.6/site-packages/gensim/models/wrappers/ldamallet.py”,行308,在 getitem 中 self.convert_input(bow, infer=True) 文件“/home/user/sjha/anaconda3/envs/conda_env/lib/python3.6/site-packages/gensim/models/wrappers/ldamallet.py”,第 256 行,在转换输入 check_output(args=cmd, shell=True) 文件 "/home/user/sjha/anaconda3/envs/conda_env/lib/python3.6/site-packages/gensim/utils.py", 第 1806 行,在 check_output 中 引发错误 subprocess.CalledProcessError: Command '/home/user/sjha/projects/topic_modeling/mallet-2.0.8/bin/mallet 导入文件 --preserve-case --keep-sequence --remove-stopwords --token-regex "\S+" --input /tmp/9f371_corpus.txt --output /tmp/9f371_corpus.mallet.infer --use-pipe-from /tmp/9f371_corpus.mallet' 返回非零退出状态 1。
我的/tmp/ 目录的内容:
/tmp/9f371_corpus.txt /tmp/9f371_doctopics.txt /tmp/9f371_doctopics.txt.infer /tmp/9f371_inferencer.mallet /tmp/9f371_state.mallet.gz /tmp/9f371_topickeys.txt
此外,似乎每次加载模型时文件 /tmp/9f371_doctopics.txt.infer 和 /tmp/9f371_corpus.txt 都会被修改。可能的错误来源是什么?或者它是 gensim 的 mallet 包装器中的某种错误?
【问题讨论】:
-
这个@saurav 有什么进展吗?我也有同样的问题!
-
这个问题的代码解决了我的问题:stackoverflow.com/questions/55091094/…
-
这个问题中的代码为我解决了这个问题。 stackoverflow.com/questions/55091094/…
标签: python gensim lda topic-modeling mallet