Python Маллет LDA Errno 2 Нет такого файла или каталога - PullRequest
0 голосов
/ 09 марта 2020

Я сохранил модель LDAWallet:

Сначала я сделал поезд:

 mallet_path = 'mallet-2.0.8/bin/mallet'
 ldamallet = gensim.models.wrappers.LdaMallet(mallet_path, corpus=corpus, id2word=id2word, 
 num_topics=14)

И затем я сохранил модель, используя метод сохранения:

ldamallet.save('lda_v0.model')

Я забыл установить префикс для определенного файла при обучении режима, в результате чего я потерял все временные файлы, созданные gensim при обучении (doctopics et c ...). И я думаю, что из-за этого, когда я загружаю модель и хочу предсказать темы:

model_lda = gensim.models.ldamodel.LdaModel.load('lda_v0.model')
###stuff
###stuff
###stuff
model_lda[input]

я получаю ошибку:

[Errno 2] Нет такого файла или directory: '/var/folders/_f/ttl3hvqn75g4rb5cdg02qg1c0000gn/T/2e13a7_doctopics.txt.infer'

Я безуспешно пытался воспроизвести ту же модель с данными (и задал префикс, чтобы я не потерять временные файлы). Мне интересно, если можно использовать метод print_topics (я забыл сказать, что загрузка модели работает, и я могу получить все темы и их слова) и для каждой темы, получить вес слов, связанных с темами и вычислить вероятность, но я не знаю, как модель lda предсказывает topi c для каждого документа, поэтому я не уверен, может ли моя идея работать.

У вас есть идеи, как исправить Эта проблема ? Я только хочу предсказать для документа вероятность каждого топи c.

Спасибо

1 Ответ

0 голосов
/ 01 апреля 2020

Исправлена ​​ошибка. Я превращаю малолетную модель в ldamodel; и благодаря этому я смог сделать предсказания.

model_lda = gensim.models.ldamodel.LdaModel.load(path_of the model)
ldamodel = gensim.models.wrappers.ldamallet.malletmodel2ldamodel(model_lda)

спасибо.

...