泛读文章的时候,有时想想快速知道一些主旨主题,便可通过关键词渲染的方式,将关键词可视化,从而快速得到我们想知道的主题。即可通过生成词云的方式将关键词可视化,出现频率越多的词,在词云中将显示的越大。但是同样woedcolud库默认是不识别中文的,所以生成过程中会出现方框显示。如下图所示:
需要设置为电脑中所下载的中文字体,才能正常显示。
import jieba
import wordcloud
filename ='文件路径'
text =open(filename,'r',encoding='utf-8').read()
ls = jieba.lcut(text)
txt =' '.join(ls)
w = wordcloud.WordCloud(font_path='Songti.ttc',width=800,height=400,background_color='white')
w.generate(txt)
w.to_file('report.png')
通过font_path='Songti.ttc'将字体设置为宋体后,即可正常显示。
进一步优化方法:对于初步生成的词云,可能之间又一些并不是重点的词汇,比如“万亿元”、“强化”,“提高”这类无关紧要的词语因为出现频率过高而被列入词云中。可通过stopwords=‘词语’的方式将其剔除。最后,为了美观,还可导入图片生成个性化的词云。
import jieba
import wordcloud
from imageioimport imread
mask = imread('图片路径')
filename ='文本路径'
text =open(filename,'r',encoding='utf-8').read()
ls = jieba.lcut(text)
txt =' '.join(ls)
words = ['提高','增长','我们','增加','加强','推进']
w = wordcloud.WordCloud(font_path='Songti.ttc',width=800,height=400,mask=mask,background_color='white',stopwords=words)
w.generate(txt)
w.to_file('report.png')
环境(Macbook,python3.7,wordcolud1.6.0)