文本主题建模:LSI与LDA模型实现
在自然语言处理领域,主题建模是一项重要的任务,它能够帮助我们从大量文本数据中提取出潜在的主题信息。本文将详细介绍如何从零开始实现LSI(Latent Semantic Indexing)主题模型,以及使用LDA(Latent Dirichlet Allocation)和MALLET构建主题模型,并对模型进行评估。
1. 从零实现LSI主题模型
LSI模型的核心在于奇异值分解(Singular Value Decomposition,SVD)。以下是实现LSI主题模型的具体步骤:
1.1 获取源矩阵
SVD的第一步是获取源矩阵,通常是词 - 文档矩阵。我们可以使用Gensim将稀疏的词袋表示转换为密集矩阵:
td_matrix = gensim.matutils.corpus2dense(corpus=bow_corpus,
num_terms=len(dictionary))
print(td_matrix.shape)
td_matrix
1.2 验证词汇表
为确保数据的正确性,我们可以使用以下代码验证词汇表:
vocabulary = np.array(list(dictionary.values()))
print('Total vocabulary size:', len(vocabulary))
voc
超级会员免费看
订阅专栏 解锁全文
9

被折叠的 条评论
为什么被折叠?



