gpt4 book ai didi

Gensim LDA 主题分配

转载 作者:太空狗 更新时间:2023-10-29 21:59:21 27 4
gpt4 key购买 nike

我希望使用 LDA 将每个文档分配给一个主题。现在我意识到你得到的是来自 LDA 的主题分布。然而,正如您从下面的最后一行中看到的那样,我将其分配给了最可能的主题。

我的问题是这样的。我必须第二次运行 lda[corpus] 才能获得这些主题。是否有其他一些内置的 gensim 函数可以直接给我这个主题分配向量?特别是因为 LDA 算法已经遍历了文档,它可能已经保存了这些主题分配?

    # Get the Dictionary and BoW of the corpus after some stemming/ cleansing
texts = [[stem(word) for word in document.split() if word not in STOPWORDS] for document in cleanDF.text.values]
dictionary = corpora.Dictionary(texts)
dictionary.filter_extremes(no_below=5, no_above=0.9)
corpus = [dictionary.doc2bow(text) for text in texts]

# The actual LDA component
lda = models.LdaMulticore(corpus=corpus, id2word=dictionary, num_topics=30, chunksize=10000, passes=10,workers=4)

# Assign each document to most prevalent topic
lda_topic_assignment = [max(p,key=lambda item: item[1]) for p in lda[corpus]]

最佳答案

没有其他内置的 Gensim 函数可以直接给出主题分配向量。

您的问题是有效的,LDA 算法已通过文档,但 LDA 的实现正在通过更新 block 中的模型(基于 chunksize 参数的值)工作,因此它不会保留整个内存中的语料库。

因此你必须使用 lda[corpus] 或使用方法 lda.get_document_topics()

关于Gensim LDA 主题分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39969919/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com