首页 > 解决方案 > get_document_topics 返回一个空列表。

问题描述

我正在使用 gensim 进行主题建模。在训练 lda 模型后,我在新文档上调用 get_document_topics 以获取主题分布。但是,对于某些文档,返回值是一个空列表。这是我的代码。知道可能出了什么问题吗?

 topic_vector = [ x[1] for x in self.ldamodel.get_document_topics(new_doc_bow , minimum_probability=
0.0, per_word_topics=False)]

标签: pythongensimldatopic-modeling

解决方案


以下是我解决此问题的方法:

首先,确保您的 gensim 版本是 gensim-3.6.0,您可以通过在终端中运行以下命令来检查:

pip freeze | grep gensim

如果没有,您可以卸载您的 gensim 并安装较新版本。然后在文件 gensim/models/ldamodel.py 中,您需要将 epsilon 的值编辑为更大的值。

DTYPE_TO_EPS = {
    np.float16: 1e-5,
    np.float32: 1e-35, # modify the value and set it to 1e-5 
    np.float64: 1e-100,
}

推荐阅读