今天,我想生成壹個單詞雲的勵誌歌曲。百度文庫裏有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。
然後使用jieba分詞對歌曲進行切分,提取高頻詞。
123456進口揭牌。analyseresult = jieba。analyse result(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,ImageColorGeneratorimage = Image . open(。/Tim . jpg’)graph = NP . array(image)WC = word cloud(font _ path =‘。/fonts/sim hei . TTF‘,background _ color =‘White‘,Max _ words = 50,mask = graph)WC . generate _ from _ frequency(keywords)image _ color = imagecolor generator(graph)PLT . im show(WC)PLT . im show(WC . re color(color _ func = image _ color))PLT . axis。
1wc . to _ file(‘dream . png’)完整代碼:
123456789101112131415161718192021223242526272828/勵誌歌詞。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/sim hei . TTF‘,background _ color =‘White‘,max_words=50,mask = graph)WC . generate _ from _ frequency(keywords)image _ color = imagecolor generator(graph)PLT . im show(WC)PLT . im show(WC . re color(color _ func = image _ color))Plt。軸(“關閉”)PLT。show()WC。to _ file(‘dream。png’)以上python單詞雲的實現方法(推薦)為邊肖分享的全部內容。希望能給大家壹個參考,多多支持劇本屋。