python:2019新年贺词的词云制作以及基于TF-IDF的关键词提取

本文选取的文本是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()

python:2019新年贺词的词云制作以及基于TF-IDF的关键词提取_第1张图片
值得注意的是:

  1. 与英文的词云制作不同之处在于,中文需要先进行分词处理
  2. 制作中文的词云图,在输出的时候,需要指定一个字体,字体下载戳我,只需要使用绝对路径引入即可。
  3. 词云图是完全按照词汇出现的频率来制作的,从图中我们可以看出,高频词汇包括“我们”,“中国”,“同志”,“发展”,“脱贫”等等

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的帮助!

你可能感兴趣的:(机器学习,编程,python,词云图,TF-IDF,python,jieba,Wordcloud)