LDA模型,获取所有的文档-主题分布(即得到文档对于每个主题的概率分布)并保存

该代码段展示了如何使用Gensim库的LdaModel来训练主题模型,并存储每个文档的主题分布。通过lda.get_document_topics方法,可以得到每个文档中各个主题的概率分布,即使设置minimum_probability为0,确保不忽略任何主题。最终,这些分布以二维数组的形式保存到' DocumentTopicMatrix.txt '文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:写小论文用到lda主题模型,需要得到所有的文档-主题分布。现有的只是为文档输出前几个概率大的主题
代码

import numpy as np
from gensim.models import LdaModel

#训练lda模型
lda = LdaModel(corpus=corpus, id2word=dictionary, num_topics=size_lda ,minimum_probability=0)

"""start:文档-主题分布矩阵,使用DocumentTopicMatrix[][]存储"""
DocumentTopicMatrix = np.zeros([len(doc), size_lda])#存储文档-主题分布,len(doc)就是文档的总个数

#存储文档-主题分布矩阵
for id in range(len(corpus)):
    doc_top = lda.get_document_topics(corpus[id], per_word_topics=False)
    m = 0
    for x in doc_top:
        DocumentTopicMatrix[id][m] = x[1]
        m += 1

#保存文档-主题分布矩阵
np.savetxt("allData\DocumentTopicMatrix.txt",DocumentTopicMatrix)
print("文档-主题分布矩阵保存成功")
"""end:文档-主题分布矩阵,使用DocumentTopicMatrix[][]存储"""

minimum_probability是概率低于此阈值的主题将被过滤掉。默认是0.01,设置为0则表示不丢弃任何主题。

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值