今天就跟大家聊聊有關(guān)Python+wordcloud怎樣生成詞云,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

什么是詞云
詞云又叫文字云,是對(duì)文本數(shù)據(jù)中出現(xiàn)頻率較高的“關(guān)鍵詞”在視覺(jué)上的突出呈現(xiàn),形成關(guān)鍵詞的渲染形成類似云一樣的彩色圖片,從而一眼就可以領(lǐng)略文本數(shù)據(jù)的主要表達(dá)意思。
準(zhǔn)備工作:
python開(kāi)發(fā)環(huán)境、wordcloud、jieba、matplotlib、numpy 、PIL 等庫(kù)文件安裝好。
pip 安裝方法:
wordcloud生成詞云的原理簡(jiǎn)介
wordcloud生成詞云的原理其實(shí)并不復(fù)雜,大體分成5步(具體可自行查看源碼):
1.wordcloud制作詞云時(shí),首先要對(duì)對(duì)文本數(shù)據(jù)進(jìn)行分詞,使用process_text()方法,這一步的主要任務(wù)是去除停用詞
2.第二步是計(jì)算每個(gè)詞在文本中出現(xiàn)的頻率,生成一個(gè)哈希表。詞頻用于確定一個(gè)詞的重要性
3.根據(jù)詞頻的數(shù)值按比例生成一個(gè)圖片的布局,類IntegralOccupancyMap 是該詞云的算法所在,是詞云的數(shù)據(jù)可視化方式的核心。生成詞的顏色、位置、方向等
4.最后將詞按對(duì)應(yīng)的詞頻在詞云布局圖上生成圖片,核心方法是generate_from_frequencies,不論是generate()還是generate_from_text()都最終用到generate_from_frequencies
完成詞云上各詞的著色,默認(rèn)是隨機(jī)著色
5.詞語(yǔ)的各種增強(qiáng)功能大都可以通過(guò)wordcloud的構(gòu)造函數(shù)實(shí)現(xiàn),里面提供了22個(gè)參數(shù),還可以自行擴(kuò)展。
pip install xxx
使用idea 直接安裝
#coding:utf-8 import matplotlib.pyplot as plt from wordcloud import WordCloud,ImageColorGenerator,STOPWORDS
import jieba
import numpy as np from PIL import Image #讀入背景圖片 abel_mask = np.array(Image.open("filepath")) #讀取要生成詞云的文件 text_from_file_with_apath = open('filepath').read() #通過(guò)jieba分詞進(jìn)行分詞并通過(guò)空格分隔 wordlist_after_jieba = jieba.cut(text_from_file_with_apath, cut_all = True)
wl_space_split = " ".join(wordlist_after_jieba) #my_wordcloud = WordCloud().generate(wl_space_split) 默認(rèn)構(gòu)造函數(shù) my_wordcloud = WordCloud(
background_color='white', # 設(shè)置背景顏色 mask = abel_mask, # 設(shè)置背景圖片 max_words = 200, # 設(shè)置大現(xiàn)實(shí)的字?jǐn)?shù) stopwords = STOPWORDS, # 設(shè)置停用詞 font_path = C:/Users/Windows/fonts/simkai.ttf',# 設(shè)置字體格式,如不設(shè)置顯示不了中文 max_font_size = 50, # 設(shè)置字體大值 random_state = 30, # 設(shè)置有多少種隨機(jī)生成狀態(tài),即有多少種配色方案 scale=.5 ).generate(wl_space_split) # 根據(jù)圖片生成詞云顏色 image_colors = ImageColorGenerator(abel_mask) #my_wordcloud.recolor(color_func=image_colors) # 以下代碼顯示圖片 plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()實(shí)例
生成李克強(qiáng)總理2017年政府工作報(bào)告詞云
1.采用默認(rèn)構(gòu)造函數(shù)WordCloud().generate()生成
2.WordCloud()中設(shè)置一些參數(shù)設(shè)置mask 參數(shù)添加如下背景圖案:
根據(jù)上面的背景圖案,最終生成的詞云時(shí)這樣的:
看完上述內(nèi)容,你們對(duì)Python+wordcloud怎樣生成詞云有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝大家的支持。
網(wǎng)站題目:Python+wordcloud怎樣生成詞云-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)源:http://www.chinadenli.net/article40/dgssho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、營(yíng)銷型網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、電子商務(wù)、網(wǎng)站制作、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容