pythonlda模型_lda主题模型python实现篇_主题模型TopicModel:通过gensim实现LDA

本文介绍了如何使用Python库gensim实现LDA(潜在狄利克雷分配)主题模型。gensim是一个用于处理文本数据的工具,提供LSA、LDA等多种主题建模算法。文章详细阐述了gensim的特性、核心概念,如语料库、向量和模型,并提供了gensim的安装步骤。此外,还展示了如何将文本转换为向量表示,以及如何使用gensim构建和应用LDA模型来查找文档的主题。
摘要由CSDN通过智能技术生成

使用python gensim轻松实现lda模型。

gensim简介

gemsim是一个免费python库,能够从文档中有效地自动抽取语义主题。gensim中的算法包括:LSA(Latent Semantic Analysis), LDA(Latent Dirichlet Allocation), RP (Random Projections), 通过在一个训练文档语料库中,检查词汇统计联合出现模式, 可以用来发掘文档语义结构,这些算法属于非监督学习,可以处理原始的,非结构化的文本(”plain text”)。

Gensim是一个相当专业的主题模型Python工具包。在文本处理中,比如商品评论挖掘,有时需要了解每个评论分别和商品的描述之间的相似度,以此衡量评论的客观性。评论和商品描述的相似度越高,说明评论的用语比较官方,不带太多感情色彩,比较注重描述商品的属性和特性,角度更客观。

Gensim:实现语言,Python,实现模型,LDA,Dynamic Topic Model,Dynamic Influence Model,HDP,LSI,Random Projections,深度学习的word2vec,paragraph2vec。

gensim 特性

内存独立- 对于训练语料来说,没必要在任何时间将整个语料都驻留在RAM中

有效实现了许多流行的向量空间算法-包括tf-idf,分布式LSA, 分布式LDA 以及 RP;并且很容易添加新算法

对流行的数据格式进行了IO封装和转换

在其语义表达中,可以相似查询

gensim的创建的目的是,由于缺乏简单的(java很复杂)实现主题建模的可扩展软件框架.

gensim 设计原则

简单的接口,学习曲线低。对于原型实现很方便

根据输入的语料的size来说,内存各自独立;基于流的算法操作,一次访问一个文档.

gensim 核心概念

gensim的整个package会涉及三个概念:corpus, vector, model.

语库(corpus)

文档集合,用于自动推出文档结构,以及它们的主题等,也可称作训练语料。

向量(vector)

在向量空间模型(VSM)中,每个文档被表示成一个特征数组。例如,一个单一特征可以被表示成一个问答对(question-answer pair):

[1].在文档中单词”splonge”出现的次数? 0个

[2].文档中包含了多少句子? 2个

[3].文档中使用了多少字体? 5种

这里的问题可以表示成整型id (比如:1,2,3等), 因此,上面的文档可以表示成:(1, 0.0), (2, 2.0), (3, 5.0). 如果我们事先知道所有的问题,我们可以显式地写成这样:(0.0, 2.0, 5.0). 这个answer序列可以认为是一个多维矩阵(3维). 对于实际目的,只有question对应的answer是一个实数.

对于每个文档来说,answer是类似的. 因而,对于两个向量来说(分别表示两个文档),我们希望可以下类似的结论:“如果两个向量中的实数是相似的,那么,原始的文档也可以认为是相似的”。当然,这样的结论依赖于我们如何去选取我们的question。

稀疏矩阵(Sparse vector)

通常,大多数answer的值都是0.0. 为了节省空间,我们需要从文档表示中忽略它们,只需要写:(2, 2.0), (3, 5.0) 即可(注意:这里忽略了(1, 0.0)). 由于所有的问题集事先都知道,那么在稀疏矩阵的文档表示中所有缺失的特性可以认为都是0.0.

gensim的特别之处在于,它没有限定任何特定的语料格式;语料可以是任何格式,当迭代时,通过稀疏矩阵来完成即可。例如,集合 ([(2, 2.0), (3, 5.0)], ([0, -1.0], [3, -1.0])) 是一个包含两个文档的语料,每个都有两个非零的 pair。

模型(model)

对于我们来说,一个模型就是一个变换(transformation),将一种文档表示转换成另一种。初始和目标表示都是向量--它们只在question和answer之间有区别。这个变换可以通过训练的语料进行自动学习,无需人工监督,最终的文档表示将更加紧凑和有用;相似的文档具有相似的表示。[Gensim-

用Python做主题模型 ]

gensim的安装

gensim依赖NumPy和SciPy这两大Python科学计算工具包,要先安装。

再安装gensim: pip install gensim

gensim官网教程

使用gensim快速实现lda

文档的向量表示Corpora and Vector Spaces

将用字符串表示的文档转换为用id表示的文档向量:

documents = ["Human machine interface for lab abc computer applications",

"A survey of use

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值