今天我要生成壹個勵誌歌曲的詞雲。百度文庫裏大概有20首歌,比如大家都很熟悉的《倔強》。
將使用的Python庫包括jieba(壹個中文分詞庫)、wordcould、matplotlib、PIL和numpy。
我們要做的第壹件事是讀歌詞。我把勵誌歌曲正文裏的歌詞保存在了文件目錄裏。
現在讀給他聽。
12345 # encoding = gbk lyric = ' ' f = open('。/勵誌的歌詞。txt ',' r') for ii in f: lyric+= f.read()增加# encoding = gbk的目的是為了防止後面操作中出現語法錯誤:非utf-8。
然後用街霸分詞對歌曲進行切分,提取高頻詞。
123456進口潔霸。analyseresult = jieba。analyseresult (lyric,topk = 50,weight = true)keywords = dict()for I in result:keywords[I[0]]= I[1]print(。
然後我們可以通過wrodcloud等庫生成詞雲。
首先自己找壹張圖作為圖形生成字雲的形狀。
12345678910111213從PIL導入圖片,ImageSequenceimport numpy as NP import matplotlib . py plot as PLT from wordcloud導入word cloud,imagecolorgeneratoimage = Image . open('。/Tim . jpg ')graph = NP . array(image)WC = word cloud(font _ path = '。/fonts/simhei.ttf ',background_color='White ',Max _ words = 50,mask = graph)WC . generate _ from _ frequency(關鍵字)image _ color = imagecolorgenerator(graph)PLT . im show(WC)PLT . im show(WC . re color(color _ func = image _ color))PLT . axis
1wc.to_file('dream.png ')完整代碼:
123456789101121314151617181920212223242526272828/勵誌的歌詞。txt ',' r ')for I in f:lyric+= f . read()result = jieba . analyst . text rank(lyric,topk = 50,with weight = True)keywords = dict()for I in result:keywords[I[0]]= I[1]print(keywords)image = image . open('。/Tim . jpg ')graph = NP . array(image)WC = word cloud(font _ path = '。/fonts/simhei.ttf ',background_color='White ',max_words=50,mask = graph)WC . generate _ from _ frequency(keywords)image _ color = ImageColorGenerator(graph)PLT . im show(WC)PLT . im show(WC . re color(color _ func = image _ color))Plt。軸(“關閉”)PLT。show () wc。to _ file('夢想。png’)以上python詞雲的實現方法(推薦)是邊肖分享的全部內容。希望能給大家壹個參考,多多支持劇本之家。