深度實(shí)踐_01_詞云

參考自網(wǎng)易云課堂-深度有趣
感謝宏倫工作室的視頻錄制 供予學(xué)習(xí)參考

詞云 就像視頻里說的高端又一般 有種華而不實(shí)的趕腳 外行人看來是件很酷的東西
其一:若干詞案按照特定的圖案組成 這究竟是如何做到的
其二:若詞越大 則此詞若越重要
等真正去實(shí)踐生成詞云 好像并沒有想象中的那么困難 基本框架就三步

  • 導(dǎo)入文本數(shù)據(jù)
  • 使用wordcloud
  • 導(dǎo)出圖片

就好了 非常簡(jiǎn)單 其中一些小細(xì)節(jié)都在是這三步基本框架中補(bǔ)充 認(rèn)真想想 其實(shí)是我們站在了巨人的肩膀上 wordcloud已經(jīng)把最核心最重要封裝好了 如:究竟是如何做到按特定的圖案排列 我們只需要拿來主義即可 在此感謝開發(fā)者們

下面是視頻的簡(jiǎn)單總結(jié)及補(bǔ)充 具體內(nèi)容還是去看視頻吧 不能辜負(fù)每一位原作者的汗水和心血

使用到的第三方包:
  • wordcloud
  • matplotlib
  • PIL
  • numpy
  • jieba

1.英文詞云 直接采用默認(rèn)配置即可

wc = WordCloud().generate(text)
wc.to_file('wordcloud.png')

畢竟是歪果仁開發(fā)的語言 果然還是對(duì)英文特別友好
2.中文詞云 需額外添加中文字體包

wc = WordCloud(font_path='Hiragino.ttf',width = 800,height= 600,
    mode = 'RGBA',background_color =None).generate(text)

3.中文詞云 除了配置字體包 還需分詞
英文天然空格分詞屬性 中文可就不好說了

text = ' '.join(jieba.cut(text))
wc = WordCloud(font_path = 'Hiragino.ttf',
                mode = 'RGBA',background_color = None).generate(text)

4.詞云添加蒙版 (最酷炫的圖案來了)
black_mask.png 為蒙版底片

mask = np.array(Image.open('black_mask.png'))
wc = WordCloud(mask = mask,font_path = 'Hiragino.ttf',
                mode = 'RGBA',background_color = None).generate(text)

5.詞云使用蒙版的顏色

image_colors = ImageColorGenerator(mask)
wc.recolor(color_func = image_colors)

6.詞云自定義文字顏色
這里使用HSL來自定義顏色 詳情見文檔
參考文檔

def random_color(word,font_size,position,orientation,font_path,random_state):
    s = 'hsl(120 ,%d%%,%d%%)' % (random.randint(0, 100),random.randint(0, 100))
    return s 
mask = np.array(Image.open('black_mask.png'))
wc = WordCloud(mask = mask ,color_func = random_color,
                font_path = 'Hiragino.ttf',mode = 'RGBA',
                background_color = None).generate(text)

7.詞云自定義關(guān)鍵詞及權(quán)重

#可自定義freq字典
freq ={}
mask = np.array(Image.open('timg.jpg'))
wc = WordCloud(font_path = 'Hiragino.ttf',mask = mask,
                mode = 'RGBA',background_color= None).generate_from_frequencies(freq)

generate() = process_text() + generate_from_frequencies()
之前用到的generate()其實(shí)就是process_text() 統(tǒng)計(jì)文本詞頻 和jieba的統(tǒng)計(jì)關(guān)鍵詞 兩者差不多 結(jié)果很相似generate_from_frequencies()根據(jù)詞頻做圖的結(jié)合體
8.詞云使用停用詞
有些沒有實(shí)際含義 卻普遍出現(xiàn) 如:你、我漾唉、他唱凯、如果等等
可根據(jù)實(shí)際效果 適當(dāng)摘出 復(fù)制到txt中 用于停用詞

# 獲取名詞
# jieba.enable_parallel(100) #開啟并行模式 win下不支持 很氣
text = ' '.join(x.word for x in psg.cut(text) if x.flag.startswith('n'))
# jieba.disable_parallel() #關(guān)閉并行模式

# 導(dǎo)入停用詞
stopwords = open('stopwords.txt').read().split('\n')

# 導(dǎo)入蒙版
mask = np.array(Image.open('1.jpg'))
wc = WordCloud(mask=mask, font_path='Hiragino.ttf',
               mode='RGBA', background_color=None,
               stopwords=stopwords).generate(text)

最后話不多說 Github

代碼實(shí)例

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末棺弊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子偎行,更是在濱河造成了極大的恐慌猖败,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,110評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件懂扼,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡右蒲,警方通過查閱死者的電腦和手機(jī)阀湿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瑰妄,“玉大人陷嘴,你說我怎么就攤上這事〖渥” “怎么了灾挨?”我有些...
    開封第一講書人閱讀 165,474評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)竹宋。 經(jīng)常有香客問我劳澄,道長(zhǎng),這世上最難降的妖魔是什么蜈七? 我笑而不...
    開封第一講書人閱讀 58,881評(píng)論 1 295
  • 正文 為了忘掉前任秒拔,我火速辦了婚禮,結(jié)果婚禮上飒硅,老公的妹妹穿的比我還像新娘砂缩。我一直安慰自己,他們只是感情好狡相,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評(píng)論 6 392
  • 文/花漫 我一把揭開白布梯轻。 她就那樣靜靜地躺著食磕,像睡著了一般尽棕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上彬伦,一...
    開封第一講書人閱讀 51,698評(píng)論 1 305
  • 那天滔悉,我揣著相機(jī)與錄音伊诵,去河邊找鬼。 笑死回官,一個(gè)胖子當(dāng)著我的面吹牛曹宴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播歉提,決...
    沈念sama閱讀 40,418評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼笛坦,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了苔巨?” 一聲冷哼從身側(cè)響起版扩,我...
    開封第一講書人閱讀 39,332評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎侄泽,沒想到半個(gè)月后礁芦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,796評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡悼尾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評(píng)論 3 337
  • 正文 我和宋清朗相戀三年柿扣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闺魏。...
    茶點(diǎn)故事閱讀 40,110評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡未状,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出析桥,到底是詐尸還是另有隱情娩践,我是刑警寧澤,帶...
    沈念sama閱讀 35,792評(píng)論 5 346
  • 正文 年R本政府宣布烹骨,位于F島的核電站翻伺,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏沮焕。R本人自食惡果不足惜吨岭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望峦树。 院中可真熱鬧辣辫,春花似錦、人聲如沸魁巩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谷遂。三九已至葬馋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背畴嘶。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工蛋逾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人窗悯。 一個(gè)月前我還...
    沈念sama閱讀 48,348評(píng)論 3 373
  • 正文 我出身青樓区匣,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蒋院。 傳聞我的和親對(duì)象是個(gè)殘疾皇子亏钩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • [Python word_cloud 樣例 標(biāo)簽云系列(三)]轉(zhuǎn)載地址:https://zhuanlan.zhih...
    聽風(fēng)閣閱讀 688評(píng)論 0 0
  • 在前兩章,介紹了文本材料的準(zhǔn)備 以及 WordArt 可視化欺旧。這里我介紹如何自己動(dòng)手DIY屬于自己的詞云铸屉。 材料:...
    MrAndyW閱讀 815評(píng)論 1 1
  • 看拆掉思維的墻里面關(guān)于受害者的分享,才發(fā)現(xiàn)之前自己的狀態(tài)太多是受害者的態(tài)度切端,特別是生活中彻坛,認(rèn)為老公應(yīng)該怎么樣,必須...
    秋秋小Q閱讀 255評(píng)論 0 0
  • 大路寬寬怎堵車踏枣,無數(shù)烏龜慢慢挪昌屉。 有只伸出頭大喊,怎么不見兔子哥茵瀑。
    老槐樹閱讀 212評(píng)論 1 2
  • 49天辟谷的第二周開始了间驮。我還在堅(jiān)持,感覺身心愉悅马昨,舒爽竞帽。 本周以調(diào)理脾胃為主,少思少怨鸿捧,少觀看綠色屹篓,多觀看黃色和...
    木蘭禪舞閱讀 762評(píng)論 3 3