【问题标题】:Topic modelling using LDA使用 LDA 进行主题建模
【发布时间】:2019-06-17 20:25:21
【问题描述】:

在定义语料库和字典以通过定义主题来构建 LDA 模型时,我们如何使用不同的主题关键字

它在给出明确的主题编号时起作用,但我希望对其进行迭代。

准备字典和语料库

from gensim import corpora

dictionary = corpora.Dictionary(doc_clean)

corpus = [dictionary.doc2bow(doc) for doc in doc_clean]

构建 LDA 模型

lda_model = gensim.models.ldamodel.LdaModel(corpus = corpus , id2word=dictionary , num_topics=10 , random_state=100, update_every=1 , chunksize=100 , passes=10 , alpha='auto' , per_word_topics=True)

打印主题中的关键字

topics = print(lda_model.print_topic(6))

doc_lda = lda_model[corpus]

我想知道我们如何迭代主题而不是每次手动给出主题编号

【问题讨论】:

  • 你可以简单地在num_topics上做一个for loop
  • 感谢您的快速回复拉胡尔。我是主题建模和编码的新手。我已经将 number_topics 定义为 10,所以当我尝试从主题循环时,它会引发错误。
  • 听起来您可能正在寻找print_topics,但还不清楚。你到底想达到什么目的?
  • 嗨 Lomtrur,是的,如果您看到下面我给出的 print_topic(6) 代码,您是对的。我有十个这样的话题。但这里的问题是每次我需要更改 print_topic() 中的主题编号。相反,我想显示所有 10 个主题输出,如下所示。 O/P : 0.030*"细胞" + 0.015*"肥大" + 0.008*"类型" + 0.008*"3" + 0.008*"中间" + 0.008*"人" + 0.008*"整合" + 0.008*"单细胞" + 0.008*"早" + 0.008*"波峰"

标签: python deep-learning nlp


【解决方案1】:

如果我正确理解了您的问题,您只需要:

topics = []
num_topics=10
for i in range((num_topics)):
    topics.append(lda_model.print_topic(i+1))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-03
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 1970-01-01
    • 2016-02-27
    相关资源
    最近更新 更多