有时候,我们想要从一篇文章中提取我们所需要的关键词。这时我们可以使用词云的方式创建词云图来快速提取文章中的重点词语。
链接: https://pan.baidu.com/s/1SH6GISJK0vt1Nyny-g5t7g提取码: a8g3
import wordcloud
import matplotlib.pyplot as plt
import jieba
import imageio
#可以从上面的百度云的连接中打开19thCPC.txt的文件,把我们的文件放到python工程的同级目录下
with open('19thCPC.txt') as f:
mytext=f.read()
#将我们打开的文档关闭
f.close()
#我们需要对我们的文档进行进行数据清洗,将我们文本中的全部标签符号和的,了,等字全部替换掉,以免影响我们之后jieba对文章的切割
mytext = mytext.replace(',', '').replace('。', '').replace(';', '').replace(':', '').replace('?', '').replace('、','').replace('(','').replace(')','').replace('!','').replace('“','').replace('”','').replace('——','').replace('的','').replace('和','').replace('是','').replace('在','')
#将jieba切割后的字段存储到我们的cut_text中
cut_text=jieba.cut(mytext)
#cut_text所生成的是一个迭代器,我们需要用join来将我们的cut_text中的词添加到result中,并且用空格进行分隔
result=' '.join(cut_text)
#我们需要挑选一张png的图片(可以从上面的网盘连接中获取),注意我们需要的是一张白底的png图,不是透明底的扣好的png图,否则将不会生成图形形状的词云图
mask = imageio.imread('20200722005617212.png')
#为我们的词云设置具体的参数,font_path是指系统中安装的字体,此处我测试的环境为mac中的安装的字体,读者需要用自己电脑中的字体进行替换。
wc=wordcloud.WordCloud(font_path='SourceHanSansTC-Medium.otf',
background_color='white',#设置词云图的底色
width=10,#设置词云图的宽度
height=60,#设置词云图的高度
mask=mask,#将我们图片背景传入
max_font_size=200,#设置词云图最大字体的大小
min_font_size=10,#设置词云图最小字体的大小
max_words=500,)#
#创建我们的词云
wc.generate(result)
#输出文件图像到同级目录下名为w1.png的文件中
wc.to_file('w1.png')
#创建画布
fig=plt.figure()
#在我们的画布上展示我们的词云
plt.imshow(wc)
#将我们画布的坐标轴关闭
plt.axis('off')
plt.show()