【发布时间】:2020-06-21 06:35:27
【问题描述】:
我保存了一个 LDAWallet 模型:
首先我做了火车:
mallet_path = 'mallet-2.0.8/bin/mallet'
ldamallet = gensim.models.wrappers.LdaMallet(mallet_path, corpus=corpus, id2word=id2word,
num_topics=14)
然后我使用 save 方法保存了模型:
ldamallet.save('lda_v0.model')
我在训练模式时忘记为某个文件设置前缀,因此我丢失了训练时由 gensim 创建的所有临时文件(doctopics 等...)。 我认为正因为如此,当我加载模型并想要预测主题时:
model_lda = gensim.models.ldamodel.LdaModel.load('lda_v0.model')
###stuff
###stuff
###stuff
model_lda[input]
我收到一个错误:
[Errno 2] 没有这样的文件或目录:'/var/folders/_f/ttl3hvqn75g4rb5cdg02qg1c0000gn/T/2e13a7_doctopics.txt.infer'
我尝试用数据复制相同的模型(并设置前缀以免丢失临时文件),但没有成功。 我想知道是否可以使用 print_topics 方法(我忘了说加载模型正在工作,我可以获得所有主题及其单词)并且对于每个主题,检索与主题相关的单词的权重并计算概率,但我不知道 lda 模型如何预测每个文档的主题,所以我不确定我的想法是否可行。
您知道如何解决此问题吗? 我只想为文档预测每个主题的概率。
谢谢
【问题讨论】:
-
显示的是完整的错误输出吗?哪一行代码会触发错误?
-
你好@gojomo,触发错误的确切代码行是model_lda[input],这是我尝试做出预测的时候。
-
显示的是完整的错误输出吗?