包装器的 Genism 模块属性错误

Tah*_*udi 2 python lda gensim topic-modeling

我将找到 LDA 的最佳主题数。为此,我使用了 GENSIM 如下:

def compute_coherence_values(dictionary, corpus, texts, limit, start=2, step=3):
    coherence_values = []
    model_list = []
    for num_topics in range(start, limit, step):
        model = gensim.models.wrappers.LdaMallet(mallet_path, corpus=corpus, num_topics=num_topics, id2word=id2word)
        model_list.append(model)
        coherencemodel = CoherenceModel(model=model, texts=texts, dictionary=dictionary, coherence='c_v')
        coherence_values.append(coherencemodel.get_coherence())

    return model_list, coherence_values

    
Run Code Online (Sandbox Code Playgroud)

但是我有一个属性错误:我使用了spyder。

AttributeError: module 'gensim.models' has no attribute 'wrappers'
Run Code Online (Sandbox Code Playgroud)

goj*_*omo 6

最新的主要 Gensim 版本 4.0 删除了wrappers其他库算法的 。根据“从 Gensim 3.x 迁移到 4”维基页面

15. 删除了第三方包装器

这些 3rd 方库的包装器需要太多的努力。Gensim 没有志愿者来妥善维护和支持他们。

如果您的工作依赖于以下任何模块,请随意从 Gensim 3.8.3(它们出现的最后一个版本)中复制它,并自己扩展和维护包装器。

删除的子模块是:

- gensim.models.wrappers.dtmmodel
- gensim.models.wrappers.ldamallet
- gensim.models.wrappers.ldavowpalwabbit
- gensim.models.wrappers.varembed
- gensim.models.wrappers.wordrank
- gensim.sklearn_api.atmodel
- gensim.sklearn_api.d2vmodel
- gensim.sklearn_api.ftmodel
- gensim.sklearn_api.hdp
- gensim.sklearn_api.ldamodel
- gensim.sklearn_api.ldaseqmodel
- gensim.sklearn_api.lsimodel
- gensim.sklearn_api.phrases
- gensim.sklearn_api.rpmodel
- gensim.sklearn_api.text2bow
- gensim.sklearn_api.tfidf
- gensim.sklearn_api.w2vmodel
- gensim.viz
Run Code Online (Sandbox Code Playgroud)

如果您迫切需要旧的支持,您也可以考虑安装和使用旧的 Gensim。(例如,通过pip, pip install gensim==3.8.3.)但一般来说,最新版本将得到最好的支持。