天天看点

【Python】文本分析——词云

做的第一个文本分析练习,主要是构建词云,文本以朱自清老师的“背影”为例。

分词

文本分析第一步就是分词,使用jieba库进行分词,因为要做词云,所以同时引入wordcloud和matplotlib库。

import jieba
from wordcloud import WordCloud,STOPWORDS
import matplotlib.pyplot as plt
           

读入背影文本文件

content = open(r'G:\Py_code\项目\文本分析\beiying.txt', encoding = 'utf-8')
           

对content进行分词处理

mylist = list(content)
word_list = [" ".join(jieba.cut(sentence)) for sentence in mylist]
new_text = " ".join(word_list)
           

分词后的结果(部分):

背影

作者 : 朱自清

我 与 父亲 不 相见 已 二年 余 了 , 我 最 不能 忘记 的 是 他 的 背影 。 那年 冬天 , 祖母 死 了 , 父亲 的 差使 也 交卸 了 , 正是 祸不单行 的 日子 , 我 从 北京 到 徐州 , 打算 跟着 父亲 奔丧 回家 。 到 徐州 见 着 父亲 , 看见 满院 狼藉 的 东西 , 又 想起 祖母 , 不禁 簌簌 地 流下 眼泪 。 父亲 说 , “ 事已如此 , 不必 难过 , 好 在 天无绝人之路 ! ”

构建词云

字体设置为雅黑,为了美观,把坐标轴去掉,设置画布为800*400(默认为400 *200),wordcloud中还有一个有意思的参数mask,读取画布,在非全白的地方填充词云,但是要注意此时背景一定要是白色。

wordc = WordCloud(font_path='simhei.ttf', background_color= "white", width=800, height= 400,
                  max_words=2000).generate(new_text)
plt.imshow(wordc)
plt.axis('off')
plt.show()
           

结果展示:

【Python】文本分析——词云