内容简介:在之前我们学习过lda话题模型,相关的文章我放在这里,大家有兴趣可以看一看。
在之前我们学习过lda话题模型,相关的文章我放在这里,大家有兴趣可以看一看。
对文本分析感兴趣的可以关注下我的直播间内的课程 python文本分析:从入门到精通
pyLDAvis是话题模型交互式可视化库,最初是在R语言社区的Carson Sievert和Kenny Shirley开发的。他们俩的努力使得话题可视化成为可能,现在pyLDAvis可以通过 python 特别是jupyter notebook来分析并可视化话题模型。如果你对pyLDAvis的运行原理感兴趣,建议你阅读这篇论文。
LDAvis: A method for visualizing and interpreting topics https://nlp.stanford.edu/events/illvi2014/papers/sievert-illvi2014.pdf
pyLDAvis安装
一、pyLDAvis使用方法
导入模型语法
pyLDA需要先导入模型,支持的模型的来源有三种:
-
sklearn的lda模型
-
gensim的lda模型
-
graphlab的lda模型
导入的语法
参数解读:
-
sklearn lda/gensim lda: 计算好的话题模型
-
sklearn dtm/gensim dtm: 文档词频矩阵
-
vectorizer/dictionary: 词语空间
-
topic_model: graphlab生成的话题模型
-
docs: 语料集
graphlab我们没有学习,之后的课程可能会讲到。gensim和sklearn我们都接触过,而且昨天我们分享的教程是gensim方式生成话题模型,今天我们主要是看看sklearn方式生成的话题模型的可视化。其实不管哪一种模型生成方式,使用方法基本类似。
可视化语法
二、实战
我们做pyLDAvis话题模型可视化,步骤分为:
-
数据读取
-
预处理
-
生成文档词频矩阵
-
生成LDA模型
-
pyLDAvis可视化
数据读取
昨天我分享的内容作为话题分析实际上略微有些牵强,因为对褚时健先生讨论其实主要是他的不认输精神,本质上话题之间界限很模糊。今天我专门从知乎上采集了 大学生创业、学术圈
两种数据源。
运行
我们假设现在数据在采集或者保存过程中,丢失了话题类别的标注。但是我们知道数据大概有四类,按照话题数等于2去做话题分析,理论上应该能区分开。整个 df['content']
作为我们研究的语料库,语料库中的每一行数据是一个文档。
运行
预处理
数据预处理是文本分析的开始,也是最重要最费功夫的地方。上面的数据我们看到有很多html标签,在这部分我们将剔除非中文字符,只保留中文。而且要保证进入语料库中的文本是长文本(比如在这里我们只要长度大于20的文本保留到语料库中)。
将非汉字替换为""
运行
语料库中可能因为剔除非中文后,内容已经非常简短,为防止短文本进入语料库,我这里设置长度大于10的才能进入语料库中。我比较喜欢dataframe.agg方法来做一些数据操作,不熟悉的童鞋可以看 使用Pandas更好的做数据科学 ,里面有详细的介绍。
生成文档词频矩阵
做文本分析,尤其是涉及到sklearn机器学习。我们需要将中文文本数据整理成sklearn能懂的形式,因为sklearn最初只是为西方语言设计的,而西方文本中的单词是以空格间隔,而中文是所有的字词没有空格间隔。所以我们需要设计一个文本清洗函数:
-
先分词
-
剔除无意义词语和长度小于2的词语
-
之后用空格间隔词语
运行
创建LDA话题模型
在这里我们使用sklearn生成LDA话题模型,一般做LDA时我们都有对研究数据有大致的了解。像我知道数据包含两类(大学生创业、学术圈),所以这里我们将话题数设置为n_components=2
运行
pyLDAvis可视化
最后,我们使用 pyLDAvis库
进行话题的可视化。该库可以交互式的显示不同话题,及每个话题的相关词语。
导入模型方法
可视化方法
执行下方可视化代码
pyLDAvis可以进行参数微调,在上面的动态图我调整了lambda参数,词语的权重就发生了变化。综合图中的特征词分布来看,话题1是学术圈话题,话题2是大学生创业。
往期文章
【工具篇】如何用Google Colab高效的学习Python
使用Pandas、Jinja和WeasyPrint制作pdf报告
在微信后台回复 lda可视化 ,即可获得本项目代码
你看到这里,你懂得
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- [译] 上车!带你一文了解 GPT-2 模型(transformer 语言模型可视化)
- 最强NLP模型BERT可视化学习
- visreg:带你玩遍模型可视化
- PyTorch模型训练特征图可视化(TensorboardX)
- 机器学习模型的数据预处理和可视化
- 掌握可视化卷积神经网络模型,带你畅游图像识别技术领域
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java Servlet&JSP经典实例
(美)佩里 / 朱涛江、邹红霞、林琪 / 中国电力出版社 / 2005-7 / 86.00元
本书将用于帮助指导Java web开发人员的日常任务,提供典型的web相关问题的快速解决方案。本书集中介绍了如何用Java初始化某些与web相关的任务,而不是教会读者如何使用Java语言,或者事无巨细地解释servlet和JSP API。书中包含了大量关于复杂的日常开发任务的技巧,这些技巧涵盖了许多与Servlet 2.4和JSP 2.0规范相关联的新特性,包括ServletRequestList......一起来看看 《Java Servlet&JSP经典实例》 这本书的介绍吧!