我正在使用 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 中。
我的代码有错误吗?
在LDA的情况下,我知道可以通过lda.get_doc_topics()方法提取主题和主题的概率,但是我想知道在ldaseq模型中是否有这样的方法,并且编码使用 ldaseq.doc_topics(doc_number) 是正确的做法。
LDA 主题建模有使用 lda.get_document_topics() 标记主题的经验。但我不确定,因为这是我第一次用 ldaseqmodel 做这件事。如果你能告诉我怎么做,我将不胜感激。