完整的使用jieba分詞后生成詞云

導(dǎo)入需要的模塊

import jieba

jieba.setLogLevel(jieba.logging.INFO) # 設(shè)置日志等級,使底層日志不要打印出來

import jieba.analyse

from wordcloud import WordCloud

from wordcloud import ImageColorGenerator

import matplotlib.pyplot as plt

使用jieba生成字符串:浮點數(shù)的鍵值對來表示的關(guān)鍵詞及頻率,這個地方可以根據(jù)需要自定義很多參數(shù),具體參考jieba文檔

frequencies = {}

for word,m in jieba.analyse.textrank(text_file,topK=100,withWeight=True,allowPOS=('ns','n','vn','v','nr','nt','nw','nz','PER','LOC','ORG')):

? ? frequencies[word] = m

生成詞云

backgroud_Image = plt.imread(pic_file)

wc= WordCloud(

? ? font_path = font_path, # 字體文件的路徑,字符串

? ? width = 1000, # 繪圖區(qū)寬度,默認(rèn)400,整型

? ? height = 700, # 繪圖區(qū)高度,默認(rèn)200,整型

? ? mask = backgroud_Image,

? ? scale = 2, # 計算過程和實際繪圖的比例,浮點型,默認(rèn)1,數(shù)值越大圖片越清晰

? ? max_words = 200, # 繪圖使用的最大單詞數(shù),整型,默認(rèn)200

? ? background_color = None, # 背景顏色,顏色值,默認(rèn)為'black'

? ? mode = 'RGBA', # 模式,默認(rèn)為'RGB',當(dāng)為'RGBA'時,倘若背景顏色為None,則會得到透明的背景

? ? relative_scaling = 0.5, # 單詞出現(xiàn)頻率對其字體大小的權(quán)重,值為0時,只考慮單詞排名對字體大小的影響,值為1時,具有2倍出現(xiàn)頻率的單詞具有2倍的字體大小,一般值設(shè)置為0.5最棒,浮點型

).generate_from_frequencies( frequencies )

image_colors = ImageColorGenerator(backgroud_Image)

wc.recolor(color_func=image_colors) # 重新上色

plt.imshow(wc) # 生成圖片

plt.axis('off') # 關(guān)閉坐標(biāo)軸

plt.show() # 顯示圖片

wc.to_file(ciyun_file)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容