【实战案例】LDA模型实现—Python⽂本挖掘
1、简介
在机器学习领域,LDA是两个常⽤模型的简称:Linear Discriminant Analysis和Latent Dirichlet Allocation。本⽂的LDA是指Latent Dirichlet Allocation,它在主题模型中占有⾮常重要的地位,常⽤来⽂本分类。
LDA由Blei, David M.、Ng, Andrew Y.、Jordan于2003年提出,⽤来推测⽂档的主题分布。它可以将⽂档集中每篇⽂档的主题以概率分布的形式给出,从⽽通过分析⼀些⽂档抽取出它们的主题分布后,便可以根据主题分布进⾏主题聚类或⽂本分类。
2、原理
LDA模型它是⼀种典型的词袋模型,即⼀篇⽂档是由⼀组词构成,词与词之间没有先后顺序的关系。此外,⼀篇⽂档可以包含多个主题,⽂档中每⼀个词都由其中的⼀个主题⽣成。
⼈类⽣成⽂档是基于概率选取主题及其对应的词汇的⽅式,即⼀篇⽂章的每个词都是通过“以⼀定概率选择了某个主题,并从这个主题中以⼀定概率选择某个词语”这样⼀个过程得到。
那么LDA要做的就是通过⽂档反推主题。⽂档到主题服从多项式分布,主题到词服从多项式分布。每⼀篇⽂档代表了⼀些主题所构成的⼀个概率分布,⽽每⼀个主题⼜代表了很多单词所构成的⼀个概率分布。
⽤LDA来进⾏主题建模就是要以⽆指导学习的⽅法从⽂本中发现隐含的语义维度-即“Topic”或者“Concept”。隐性语义分析的实质是要利⽤⽂本中词项(term)的共现特征来发现⽂本的Topic结构,这种⽅法不需要任何关于⽂本的背景知识。
3、实现过程
这⼀过程可以通过Python轻松实现。需要的Python 包有:
·
pandas,pandas 是基于NumPy 的⼀种⼯具,该⼯具是为了解决数据分析任务⽽创建的。在 Windows 下使⽤ pip 安装:pip install pandas.·gensim,包含我们要⽤到的 LDA 模型的⼀个主题模型包。在 Windows 下使⽤ pip 安装:pip install gensim.·jieba,是⼀款优秀的 Python 第三⽅中⽂分词库。在 Windows 下使⽤ pip 安装:pip install jieba.
3.1 导⼊包
python中文文档3.2 分词
3.3 词典化
3.4 将⽂档表⽰成词袋向量
3.5 LDA建模
打印主题
完整代码
输出结果
为解决初学者学习上的困难,专门建⽴的Python学习扣QUN:⑧⑤⑤-④零⑧-⑧⑨③从零基础开始到Python各领域的项⽬实战教程、开发⼯具与电⼦书籍。与你分享企业当下对于python⼈才需求及学好python的⾼效技巧,不停更新最新教程!点击加⼊我们的
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论