试图计算较小尺寸的LDA时在Python中获取此错误,但在其他情况下可以正常工作。
语料库的大小为15,我尝试将主题数设置为5,然后将其缩小为2,但仍会给出相同的错误: valueError:无法在空集(无术语)上计算LDA
在此行中获取错误:lda = models.LdaModel(corpus, num_topics=topic_number, id2word=dictionary, passes=passes)
corpus = [dictionary.doc2bow(text) for a, id, text, s_date, e_date, qd, qd_perc in texts]
为什么不提供任何条款?
最终发现了它。小文档的问题是,如果您尝试过滤字典中的极端,则可能会在语料库中获得空列表。corpus = [dictionary.doc2bow(text)]
。
因此,在corpus = [dictionary.doc2bow(text)]
dictionary.filter_extremes(no_below=2, no_above=0.1)
中的参数值我刚刚删除了过滤器极端,LDA模型现在运行良好。尽管我将更改过滤器中的参数值并稍后使用。