python词云实现可视化——最简洁易懂教程

      我们开门见山,从6个步骤实现词云 ,包括:1、读取文本 2、分词 3、加载停用词表 4、去停用词 5、提取关键词2 6、词云展示

      本节内容所用到的小文本数据集停词表,我会提供给大家。那么话不多说,开始吧。

     小文本数据集链接:百度网盘 请输入提取码 提取码:9527

      停词表:最全中文停用词表整理(1893个)_Dorisi_H_n_q的博客-CSDN博客_中文停用词 将里面的词全部复制放在txt文档中,取名stopWord_all.txt

     生成词云背景图:bg1.png   大家自行保存。  


python词云实现可视化——最简洁易懂教程_第1张图片

完整代码也在文章末尾给出,不需要看每一步具体的流程的童鞋可以直接在末尾cv代码。

第一步:下载并 导python库包

代码如下:直接复制粘贴即可


import matplotlib.pyplotas plt# 绘制图像的模块

import jieba.analyseas anls# 关键词提取

import re

from collectionsimport Counter

from wordcloudimport WordCloud

import numpyas np

from PILimport Image

import jieba


代码复制后,要装上相应的库 在pycharm中点击 file->setting 找到这里进行安装库,(不再详细介绍,如果有小白不会下载安装库,可以留言)


第二步:读取文本+分词+去停用词+词频统计+词云生成

# 1、读取文本


text =open("nba安东尼百度百科.txt",'r',encoding='utf-8').read()

stopwords = [line.strip()for linein open('stopWord_all.txt',encoding='UTF-8').readlines()]# 加载停用词表,停用词表的路径,按照自己写的设定。


# 2、去停用词 list类型


text_split_no = []

for wordin text_split:

if wordnot in stopwords:

text_split_no.append(word)

# print(text_split_no)

text_split_no_str =' '.join(text_split_no)# list类型分为str


# 3、基于tf-idf提取关键词


print("基于TF-IDF提取关键词结果:")

keywords = []

for x, win anls.extract_tags(text_split_no_str,topK=20,withWeight=True): #topK是设置关键词的个数

keywords.append(x)# 前20关键词组成的list

keywords =' '.join(keywords)# 转为str

print(keywords)


# 4、画词云


mask = np.array(Image.open("bg1.jpg"))#选择词云背景图片

wordcloud = WordCloud(font_path="D:\simfang.ttf",background_color="white",width=1000,height=880,mask=mask,mode="RGBA").generate(keywords)

# 设置字体,不然会出现口字乱码,文字的路径是电脑的字体一般路径,可以换成别的

    # keywords为字符串类型

plt.imshow(wordcloud,interpolation="bilinear")

plt.axis("off")

plt.show()

wordcloud.to_file("bg3.png")#生成的词云图片



运行结果:

关键词提取


python词云实现可视化——最简洁易懂教程_第2张图片
词云效果

好了,到这里,整个小实验已经完成了,我把完整的代码给大家放在下面,直接cv:

注意:文本路径,和topK的值(设置关键词的个数)大家按照自己情况更换。

完整代码如下:


import matplotlib.pyplotas plt# 绘制图像的模块

import jieba.analyseas anls# 关键词提取

import re

from collectionsimport Counter

from wordcloudimport WordCloud

import numpyas np

from PILimport Image

import jieba

'''功能描述:  1、读取文本  2、分词  3、加载停用词表  4、去停用词  5、提取关键词2种方法  6、画词云展示'''

# 1、读取文本

text =open("nba安东尼百度百科.txt",'r',encoding='utf-8').read()

# 加载停用词表

stopwords = [line.strip()for linein open('stopWord_all.txt',encoding='UTF-8').readlines()]# list类型

# 分词未去停用词

text_split = jieba.cut(text)# 未去掉停用词的分词结果  list类型

# 去掉停用词的分词结果  list类型

text_split_no = []

for wordin text_split:

if wordnot in stopwords:

text_split_no.append(word)

# print(text_split_no)

text_split_no_str =' '.join(text_split_no)# list类型分为str

# 基于tf-idf提取关键词

print("基于TF-IDF提取关键词结果:")

keywords = []

for x, win anls.extract_tags(text_split_no_str,topK=20,withWeight=True):

keywords.append(x)# 前20关键词组成的list

keywords =' '.join(keywords)# 转为str

print(keywords)

# 画词云

mask = np.array(Image.open("bg1.jpg"))#选择词云背景图片

wordcloud = WordCloud(font_path="D:\simfang.ttf",background_color="white",width=1000,height=880,mask=mask,mode="RGBA").generate(keywords)

# 设置字体,不然会出现口字乱码,文字的路径是电脑的字体一般路径,可以换成别的

    # keywords为字符串类型

plt.imshow(wordcloud,interpolation="bilinear")

plt.axis("off")

plt.show()

wordcloud.to_file("bg3.png")#生成词云图片


你可能感兴趣的:(python词云实现可视化——最简洁易懂教程)