使用 ldaseqmodel 提取的主题自动标记数据

问题描述 投票:0回答:0

我正在使用 ldaseqmodel 进行动态主题建模。我想标记我用 ldaseqmodel 提取的哪些主题。于是我参考了gensim(https://radimrehurek.com/gensim/models/ldaseqmodel.html)

,使用了ldaseq.doc_topics(doc_number)方法写代码

我要创建的数据框如下

文字 主题 topic_porb
2022 abcd 1 0.021233

我想出的代码是这样的。

from tqdm.notebook import tqdm

df['topic'] = 0
df['topic_prob'] = 0

for i in tqdm(range(len(df))):
    df['topic_prob'].iloc[i] = max(ldaseq.doc_topics(doc_number = i))
    df['topic'].iloc[i] = np.argmax(ldaseq.doc_topics(doc_number = i)) + 1

但是,数据没有标有适当的主题。我想知道问题是什么。 我想将 df['topic'] 的主题编号和 df['topic_prob'] 的主题概率与每个数据放在 DataFrame 中。

  1. 我的代码有错误吗?

  2. 在LDA的情况下,我知道可以通过lda.get_doc_topics()方法提取主题和主题的概率,但是我想知道在ldaseq模型中是否有这样的方法,并且编码使用 ldaseq.doc_topics(doc_number) 是正确的做法。

LDA 主题建模有使用 lda.get_document_topics() 标记主题的经验。但我不确定,因为这是我第一次用 ldaseqmodel 做这件事。如果你能告诉我怎么做,我将不胜感激。

python gensim lda topic-modeling
© www.soinside.com 2019 - 2024. All rights reserved.