首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Gensim LDA :错误:无法在空集合(无术语)上计算LDA

Gensim LDA :错误:无法在空集合(无术语)上计算LDA
EN

Stack Overflow用户
提问于 2021-04-23 19:44:03
回答 2查看 233关注 0票数 0

我遇到了与这个线程相同的错误:ValueError: cannot compute LDA over an empty collection (no terms),但所需的解决方案并不相同。

我正在和Sklearn一起开发一个笔记本,我已经完成了LDA和NMF。

我现在正在尝试使用Gensim做同样的事情:https://radimrehurek.com/gensim/auto_examples/tutorials/run_lda.htm

下面是我笔记本中的一段代码(用Python编写),描述了我想要做的事情:

代码语言:javascript
运行
复制
dic = gensim.corpora.Dictionary(texts_lem)
dic.filter_extremes(no_below=10, no_above=0.8)
corpus = [dic.doc2bow(doc) for doc in texts_lem]

model = gensim.models.LdaModel(
    corpus=corpus,
    id2word=dic.id2token,
    num_topics=10,
)

我正在使用笔记本另一部分中的现有texts_lem列表来执行Gensim LDA。我遵循这个指南:创建字典、过滤极端值、创建语料库并将其发送到LdaModel()。

不幸的是,它不起作用,并且注释filter_extremes的行也没有帮助(这是另一个出现相同错误的线程的答案)。

texts_lem是单词列表,如下所示:

代码语言:javascript
运行
复制
[
 ['word', 'word', 'word', 'word'],
 ['word', 'word', 'word', 'word'],
 ['word', 'word', 'word', 'word'],
]

我的错误是:

代码语言:javascript
运行
复制
ValueError: cannot compute LDA over an empty collection (no terms)

非常感谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-28 21:30:06

只要不使用id2token即可。

你的模型应该是:

代码语言:javascript
运行
复制
model = gensim.models.LdaModel(
corpus=corpus,
id2word=dic.id2token,
num_topics=10,
)

工作正常。谁知道这是怎么回事?

票数 0
EN

Stack Overflow用户

发布于 2021-04-30 19:30:58

gensim LDA tutorial所示,在将dictionary.id2token传递给LdaModel之前,您需要“加载”字典。使用您的示例,代码应该是

代码语言:javascript
运行
复制
dic = gensim.corpora.Dictionary(texts_lem)
dic.filter_extremes(no_below=10, no_above=0.8)
corpus = [dic.doc2bow(doc) for doc in texts_lem]   

# Make a index to word dictionary.
temp = dic[0]  # This is only to "load" the dictionary.
id2word = dic.id2token

model = gensim.models.LdaModel(
    corpus=corpus,
    id2word=id2word,
    num_topics=10,
)

这是因为id2token是以惰性方式初始化的,以节省内存(直到需要时才创建)。您可以参考文档here

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67229373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档