ValueError: cannot compute LDA over an empty collection (no terms)

ValueError: cannot compute LDA over an empty collection (no terms)

尝试为较小规模的语料库计算 lda 时在 python 中出现此错误,但在其他情况下工作正常。

语料库的大小是 15,我尝试将主题数设置为 5,然后将其减少到 2,但它仍然给出相同的错误:ValueError: cannot compute LDA over an empty collection (no项)

在这一行出现错误: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 模型现在运行良好。虽然我会更改 filter extreme 中的参数值并在以后使用它。