做的第一個文本分析練習,主要是建構詞雲,文本以朱自清老師的“背影”為例。
分詞
文本分析第一步就是分詞,使用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()
結果展示:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPR10MRRVTyUEROBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLwETNyMDOxcTM5IDMxkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)