gensim Генерация модели LSI вызывает "Python перестал работать"
Поэтому я пытаюсь использовать gensim для создания модели LSI вместе с corpus_lsi, следуя этому руководству.
Я начинаю с корпуса и словаря, который я создал сам. Список документов слишком мал (9 строк = 9 документов), что является образцом списка, приведенным в руководствах gensim
Однако pythos просто падает, когда достигает строки для генерации LSI_model. Вы можете увидеть ниже мой код вместе с сгенерированным выводом
Код
#!/usr/bin/env python
import os
from gensim import corpora, models, similarities
import logging
#logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
if __name__ == '__main__':
if (os.path.exists("tmp\dictionary.dict")):
dictionary = corpora.Dictionary.load('tmp\dictionary.dict')
corpus = corpora.MmCorpus('tmp\corpus.mm')
print("Used files generated Dataset Generator")
else:
print("Please run dataset generator")
print ("generating tf-idf model ...")
tfidf = models.TfidfModel(corpus) # Generate tfidf matrix (tf-idf model)
print ("generating corpus_tf-idf model ...")
corpus_tfidf = tfidf[corpus] #use the model to transform vectors
print ("generating LSI model ...")
lsi = models.LsiModel(corpus_tfidf, id2word=dictionary, num_topics=2) # initialize an LSI transformation
print ("generating corpus_lsi model ...")
corpus_lsi = lsi[corpus_tfidf] # create a double wrapper over the original corpus: bow->tfidf->fold-in-lsi
lsi.print_topics(2)
Выход
Used files generated Dataset Generator
generating tf-idf model ...
generating corpus_tf-idf model ...
generating LSI model ...
После печати "генерирования модели LSI" происходит сбой
Какие-либо предложения?
Другие вещи, которые я пробовал
- Изменение версии Python на Python 2.6
- Удаление gensim и его установка снова из github (вместо conda)
1 ответ
Решение
Кажется, что проблема заключалась в функции, используемой в учебнике (может быть понижен или что-то)
поэтому я изменил линию
lsi = models.LsiModel(corpus_tfidf, id2word=dictionary, num_topics=2) # initialize an LSI transformation
к
lsi = LsiModel(corpus_tfidf,num_topics=2)
И это на самом деле работало нормально