张少涵教程:Python词云制作——以HOH言论为例

查看 51|回复 2
作者:张少涵   

词云是对文本内容进行可视化呈现的一种方式,它会对文本中出现频率较高的词进行视觉上的突出, 词语出现的频率越高,字体就会越大,颜色也会越醒目。通过查看词云图,我们能快速获取文本中的主要内容。(摘抄自 https://cloud.tencent.com/developer/article/2160340)
1. 首先需要HOH的历史发言,使用爬虫可以得到。放入附件中了,需要的人可以自行下载。
2. 安装所需的pip包
[ol]pip install wordcloud # 主包,会自动安装多个绘图所需的包
pip install jieba # 汉字分词[/ol]复制代码
3. 下载中文字体包
GitHub上已经有人提供了,https://raw.githubusercontent.com/StellarCN/scp_zh/master/fonts/SimHei.ttf,可以直接下载
可以使用wget等下载,如
[ol]wget https://raw.githubusercontent.com/StellarCN/scp_zh/master/fonts/SimHei.ttf[/ol]复制代码
4. 主程序
要注意文件的路径,HOH的废话太多了,有很多无意义的内容,所以使用了屏蔽词功能。
[ol]import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud, STOPWORDS
path = r'./hoh.txt'
# 读取文本文件
with open(path, 'r', encoding='utf-8') as f:
    text = f.read()
# 使用jieba进行分词
wordlist = jieba.cut(text, cut_all=False)
wl = " ".join(wordlist)
# 增加屏蔽词
STOPWORDS.update(['吧', '是', '我', '了', '有', '都', '不', '就', '还', '没', '的', '你', '在', '也', '这'])
# 创建WordCloud对象,使用SimHei.ttf中文字体
wc = WordCloud(font_path='./SimHei.ttf', background_color='white',
               stopwords=STOPWORDS, max_font_size=200,
               max_words=500, width=1920, height=1080)
# 生成词云
myword = wc.generate(wl)
# 显示词云
plt.imshow(myword)
plt.axis("off")
# plt.show()
wc.to_file(r'./wordcloud.png')[/ol]复制代码

分词, 所需, 代码

mjj小号   
前排支持  zsbd
蓝瘦香菇   
这是要做h2o评论生成器吗
您需要登录后才可以回帖 登录 | 立即注册

返回顶部