1

因此,我正在尝试使用 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)
4

1 回答 1

3

似乎问题出在教程中使用的功能(可能降级或其他)

所以我换了行

lsi = models.LsiModel(corpus_tfidf, id2word=dictionary, num_topics=2) # initialize an LSI transformation

lsi = LsiModel(corpus_tfidf,num_topics=2)

它实际上工作得很好

于 2016-11-04T16:05:48.277 回答