版权声明:未经允许,禁止转载 https://blog.csdn.net/weixin_43216017/article/details/86741573
本文选取的文本是2019年国家发布的新年贺词,我们将以此制作一个词云图,并使用TF-IDF方法提取其关键词。
2019新年贺词下载
python词云制作
本文所使用的python包为jieba/WordCloud/matplotlib
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
#读取数据
f = open('C:/.../2019新年贺词.txt').read()
#使用jieba对其进行分词
f_c = " ".join(jieba.cut(f))
#创建词云图
wordclod = WordCloud(font_path='C:/.../simsun.ttf',#字体的选取
background_color = 'white', #背景颜色
width=1500,height=960, #图片大小
margin=10).generate(f_c)#设置图片边缘
plt.imshow(wordclod)
plt.axis('off')
plt.show()
值得注意的是:
- 与英文的词云制作不同之处在于,中文需要先进行分词处理
- 制作中文的词云图,在输出的时候,需要指定一个字体,字体下载戳我,只需要使用绝对路径引入即可。
- 词云图是完全按照词汇出现的频率来制作的,从图中我们可以看出,高频词汇包括“我们”,“中国”,“同志”,“发展”,“脱贫”等等
TF-IDF关键词提取
我们在对这个文本进行关键词提取,使用的方法为TF-IDF
#TF-IDF提取关键词
import jieba.analyse as analyse
print(analyse.extract_tags(f_c, #使用的文本(需要是分词好了的)
topK=10, #选取的关键词数量
withWeight=False, #是否自己设置权重
allowPOS=()))
'''结果:
['我们', '脱贫', '中国', '2019', '70',
'新年', '一年', '祝福', '隆重庆祝', '同志']
'''
值得注意的是,TF-IDF方法并非完全是看词汇在本文中的出现频率,它还综合考虑了词汇在其他文本中的出现概率。所以说,它所选出来的并不是出现频率最高的,而是对本文主旨概括最重要的词汇。
本文的完成感谢Jasmine shi的帮助!