精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

10行Python代碼的詞云

開發(fā) 開發(fā)工具
但是作為一個老碼農(nóng),還是喜歡自己用代碼生成自己的詞云,復雜么?需要很長時間么? 很多文字都介紹過各種的方法,但實際上只需要10行python代碼即可。

什么是詞云呢?

詞云又叫文字云,是對文本數(shù)據(jù)中出現(xiàn)頻率較高的“關鍵詞”在視覺上的突出呈現(xiàn),形成關鍵詞的渲染形成類似云一樣的彩色圖片,從而一眼就可以領略文本數(shù)據(jù)的主要表達意思。

現(xiàn)在,可以從網(wǎng)絡上找到各種各樣的詞云,下面一圖來自沈浩老師的微博:

詞云

從百度圖片中還可以可以看到更多制作好的詞云,部分截圖如下:

百度圖片中還可以可以看到更多制作好的詞云

詞云制作有很多工具.....

從技術上來看,詞云是一種有趣的數(shù)據(jù)可視化方法,互聯(lián)網(wǎng)上有很多現(xiàn)成的工具:

  1. Wordle是一個用于從文本生成詞云圖而提供的游戲工具
  2. Tagxedo 可以在線制作個性化詞云
  3. Tagul 是一個 Web 服務,同樣可以創(chuàng)建華麗的詞云
  4. Tagcrowd 還可以輸入web的url,直接生成某個網(wǎng)頁的詞云
  5. ......

十行代碼

但是作為一個老碼農(nóng),還是喜歡自己用代碼生成自己的詞云,復雜么?需要很長時間么? 很多文字都介紹過各種的方法,但實際上只需要10行python代碼即可。

  1. import matplotlib.pyplot as plt 
  2. from wordcloud import WordCloud 
  3. import jieba 
  4.  
  5. text_from_file_with_apath = open('/Users/hecom/23tips.txt').read() 
  6.  
  7. wordlist_after_jieba = jieba.cut(text_from_file_with_apath, cut_all = True
  8. wl_space_split = " ".join(wordlist_after_jieba) 
  9.  
  10. my_wordcloud = WordCloud().generate(wl_space_split) 
  11.  
  12. plt.imshow(my_wordcloud) 
  13. plt.axis("off") 
  14. plt.show() 

如此而已,生成的一個詞云是這樣的:

詞云

讀一下這10行代碼:

  • 1~3 行,分別導入了畫圖的庫matplotlib,詞云生成庫wordcloud 和 jieba的分詞庫;
  • 4 行,是讀取本地的文件,代碼中使用的文本是本公眾號中的《老曹眼中研發(fā)管理二三事》。
  • 5~6 行,使用jieba進行分詞,并對分詞的結(jié)果以空格隔開;
  • 7行,對分詞后的文本生成詞云;
  • 8~10行,用pyplot展示詞云圖。

這是我喜歡python的一個原因吧,簡潔明快。

執(zhí)行環(huán)境

如果這十行代碼沒有運行起來,需要檢查自己的執(zhí)行環(huán)境了。對于完整的開發(fā)學習環(huán)境,可以參考本公眾號《老曹眼中的開發(fā)學習環(huán)境》。 對于面向python 的數(shù)據(jù)分析而言,個人喜歡Anaconda,可以去https://www.continuum.io/downloads/ 下載安裝,安裝成功后的運行界面如下:

anaconda 是python 數(shù)據(jù)愛好者的福音吧。

安裝wordcloud 和 jieba 兩個庫同樣非常簡單:

  1. pip install wordcloud 
  2. pip install jieba 

遇到的一個小坑,剛開始運行這十行代碼的時候,只顯式了若干彩色的小矩形框,中文詞語顯式不出來,以為是萬惡的UTF8問題,debug一下,發(fā)現(xiàn)print 結(jié)巴分詞的結(jié)果是可以顯示中文的,那就是wordcloud 生成詞語的字體庫問題了。開源的好處來了,直接進入wordcloud.py 的源碼,找字體庫相關的代碼

  1. FONT_PATH = os.environ.get("FONT_PATH", os.path.join(os.path.dirname(__file__), "DroidSansMono.ttf")) 

wordcloud 默認使用了DroidSansMono.ttf 字體庫,改一下?lián)Q成一個支持中文的ttf 字庫, 重新運行一下這十行代碼,就可以了。當然,解讀代碼后有更優(yōu)雅的方法。

看一下源碼

既然進入了源碼,就會忍不住好奇心,瀏覽一下wordcloud 的實現(xiàn)過程和方式吧。

wordcloud.py總共不過600多行,其間有著大量的注釋,讀起來很方便。其中用到了較多的庫,常見的random,os,sys,re(正則)和可愛的numpy,還采用了PIL繪圖,估計一些人又會遇到安裝PIL的那些坑。

生成詞云的原理其實并不復雜,大體分成5步:

  1. 對文本數(shù)據(jù)進行分詞,也是眾多NLP文本處理的第一步,對于wordcloud中的process_text()方法,主要是停詞的處理
  2. 計算每個詞在文本中出現(xiàn)的頻率,生成一個哈希表。詞頻計算相當于各種分布式計算平臺的第一案例wordcount, 和各種語言的hello world 程序具有相同的地位了,呵呵。
  3. 根據(jù)詞頻的數(shù)值按比例生成一個圖片的布局,類IntegralOccupancyMap 是該詞云的算法所在,是詞云的數(shù)據(jù)可視化方式的核心。
  4. 將詞按對應的詞頻在詞云布局圖上生成圖片,核心方法是generate_from_frequencies,不論是generate()還是generate_from_text()都最終到generate_from_frequencies
  5. 完成詞云上各詞的著色,默認是隨機著色

詞語的各種增強功能大都可以通過wordcloud的構造函數(shù)實現(xiàn),里面提供了22個參數(shù),還可以自行擴展。

更多的小例子

看看一個準文言文的詞云,文本文字來自本公眾號去年的舊文——《妻》,其中在構造函數(shù)中傳入了關于屏幕和字體大小的幾個參數(shù):

  1. width=800,height=400,max_font_size=84,min_font_size=16 

得到了這樣的詞云圖:

詞云圖

自慚形穢,根本看不出文言文的色彩和對妻子的感情流露,不是好文字呀!或許是詞云的局限吧!

矩形的詞云的確太簡陋了,直接在圖片上用詞云來填充就有意思多了,wordcloud中可以采用mask的方式來實現(xiàn)。換上一張自己的照片,用《再談<全棧架構師>一文》中的文字,詞云出來的效果是這樣的 :

詞云出來的效果

還是很難看出肖像的輪廓,還好,可以遮丑。其中增加了3行代碼

  1. from PIL import Image 
  2. import numpy as np 
  3. abel_mask = np.array(Image.open("/Users/hecom/chw.png")) 

在構造函數(shù)的時候,將mask傳遞進去即可:

  1. background_color="black"mask=abel_mask 

自己做的這些詞云圖片還是太陋,這就是原型簡單,好的產(chǎn)品困難呀!做好一個漂亮詞云的圖片,還是要在諸多細節(jié)上下功夫的。

例如:

  • 分詞的處理,“就是”這樣沒有意義的詞不應該出現(xiàn)在詞云里呀?
  • 所展示關鍵詞的目的性選擇?
  • 如何選擇一個合適的字庫?
  • 如何更好地自主著色?
  • 圖片的預處理,如何讓圖片和詞云表達原圖片的主要特征?
  • ......

詞云的背后

詞云的背后實際上是數(shù)據(jù)集成處理的典型過程,我們所熟知的6C,如下圖:

  • Connect: 目標是從各種各樣數(shù)據(jù)源選擇數(shù)據(jù),數(shù)據(jù)源會提供APIs,輸入格式,數(shù)據(jù)采集的速率,和提供者的限制.
  • Correct: 聚焦于數(shù)據(jù)轉(zhuǎn)移以便于進一步處理,同時保證維護數(shù)據(jù)的質(zhì)量和一致性
  • Collect: 數(shù)據(jù)存儲在哪,用什么格式,方便后面階段的組裝和消費
  • Compose: 集中關注如何對已采集的各種數(shù)據(jù)集的混搭, 豐富這些信息能夠構建一個引入入勝的數(shù)據(jù)驅(qū)動產(chǎn)品。
  • Consume: 關注數(shù)據(jù)的使用、渲染以及如何使正確的數(shù)據(jù)在正確的時間達到正確的效果。
  • Control: 這是隨著數(shù)據(jù)、組織、參與者的增長,需要的第六個附加步驟,它保證了數(shù)據(jù)的管控。


這十行代碼構建的詞云,沒有通過API從公眾號(wireless_com)直接獲取,簡化和抽象是工程化的典型方式,這里至今復制粘貼,甚至省略了correct的過程,直接將數(shù)據(jù)存儲在純文本文件中,通過jieba分詞進行處理即compose,使用詞云生成可視化圖片用于消費consume,把一個個自己生成的詞云組織到不同的文件目錄便于檢索算是初步的管控control吧。

【本文來自51CTO專欄作者“老曹”的原創(chuàng)文章,作者微信公眾號:喔家ArchiSelf,id:wrieless-com】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2020-08-12 14:54:00

Python代碼開發(fā)

2020-05-26 08:32:56

Python代碼開發(fā)

2017-09-05 08:35:09

Python可視化地圖

2018-04-24 10:45:00

Python人工智能圖像識別

2017-09-01 19:49:50

Python工具地圖

2022-10-28 10:18:53

代碼績效Java

2020-03-26 12:38:15

代碼節(jié)點數(shù)據(jù)

2020-02-28 15:33:12

代碼人工智能檢測

2017-04-10 09:59:08

python代碼愛心線

2016-12-02 08:53:18

Python一行代碼

2019-04-03 10:24:28

詞云圖工具詞云

2020-08-03 09:05:48

代碼程序員案例

2020-07-22 08:30:02

代碼開發(fā)工具

2021-11-02 16:25:41

Python代碼技巧

2019-04-23 09:58:22

Windows 10語言代碼

2019-09-25 09:20:41

谷歌代碼開發(fā)者

2025-05-26 09:15:00

PythonWordcloud詞云

2018-03-15 14:18:32

潤乾漏斗轉(zhuǎn)換集算示例

2015-07-15 10:19:16

Java代碼使用緩存

2014-02-24 13:40:14

阿里云云服務
點贊
收藏

51CTO技術棧公眾號

久久精品国产精品青草色艺| 欧美成人黑人xx视频免费观看| 精品99在线视频| 国产午夜在线观看| 激情国产一区二区| 久久久人成影片一区二区三区| 五月婷婷综合在线观看| 九七电影院97理论片久久tvb| 一区二区三区高清在线| 欧美黄色直播| 国产丝袜视频在线观看| 亚洲巨乳在线| 色爱精品视频一区| 女同性αv亚洲女同志| 欧美人与性动交xxⅹxx| 一区二区三区在线观看视频| 日本高清不卡一区二区三| www久久久com| 蜜桃在线一区二区三区| 欧美激情一区二区三区高清视频| 国产探花视频在线播放| 久久九九热re6这里有精品| 91成人国产精品| 99热亚洲精品| 黄色网址在线免费| 2020日本不卡一区二区视频| av资源一区二区| 国产午夜麻豆影院在线观看| 激情成人综合| 久久五月情影视| 日本理论中文字幕| 一道在线中文一区二区三区| 欧美不卡在线视频| 亚洲午夜激情影院| jizzjizz少妇亚洲水多| 欧美午夜激情在线| 又粗又黑又大的吊av| 污污视频在线| 亚洲日本在线视频观看| 五月天久久综合网| 精品视频三区| 久久久亚洲午夜电影| 国产亚洲欧美另类一区二区三区| 一区二区三区免费在线视频| 日韩电影一区二区三区四区| 青青草成人在线| 国产这里有精品| 婷婷精品进入| 久久精品2019中文字幕| 国产精品久久久久久成人| 国产探花一区二区| 亚洲欧美变态国产另类| 三级视频网站在线观看| 大香伊人久久精品一区二区| 欧美成人精品1314www| 黑人巨大猛交丰满少妇| 中文字幕av一区二区三区四区| 在线成人av影院| 午夜激情视频网| 国产一区二区视频在线看| 欧美一级午夜免费电影| 人妻精品久久久久中文字幕69| 欧美成人一级| 精品99999| 你懂的在线观看网站| 久久免费视频66| 日韩电影中文字幕在线| 国产精品一级黄片| 久久97视频| 中文字幕av一区中文字幕天堂 | 国产最新免费视频| 多野结衣av一区| 狠狠做深爱婷婷久久综合一区| 免费无码av片在线观看| www.26天天久久天堂| 欧美三级日韩三级国产三级| www.久久久久久久久久久| 精品久久免费| 亚洲国内精品视频| 人妻一区二区视频| 婷婷亚洲图片| 久久久久久久成人| 四虎成人在线观看| 久久www免费人成看片高清| 91久久精品一区二区别| 色一情一乱一区二区三区| 国产日韩欧美一区二区三区乱码| 亚洲精品一区国产精品| 人人澡人人添人人爽一区二区| 精品成人乱色一区二区| av网站在线不卡| 亚洲超碰在线观看| 亚洲欧洲在线视频| 国产女片a归国片aa| 亚洲综合三区| 成人h视频在线观看播放| 日韩一区二区三区不卡| 欧美国产精品劲爆| www成人免费| 欧美国产日韩电影| 精品国产一区二区三区不卡 | 成人午夜免费福利| 久久精品欧美日韩精品| 丰满人妻一区二区三区53号| 一区一区三区| 日韩欧美卡一卡二| 欧美 日韩 成人| 欧美日韩成人| 国产成人久久久精品一区| 国产喷水吹潮视频www| 久久嫩草精品久久久精品一| 日韩最新中文字幕| 成人免费网站视频| 精品欧美一区二区在线观看| 性の欲びの女javhd| 精久久久久久| 91理论片午午论夜理片久久| 青青青草原在线| 一区二区在线电影| 国产九九在线观看| 秋霞在线一区| 欧美激情一区二区三区高清视频| 最近国语视频在线观看免费播放| 99麻豆久久久国产精品免费| 亚洲制服欧美久久| 亚洲www免费| 日韩电影第一页| 九九视频在线观看| 精品一区二区精品| 亚洲午夜精品久久| 日韩免费福利视频| 日韩av在线一区| 久久久久人妻一区精品色欧美| 美女视频黄免费的久久 | 成人免费在线视频网| 精品福利樱桃av导航| 久久久久久国产精品日本| 日韩中文字幕高清在线观看| 国产不卡av在线免费观看| 涩涩视频免费看| 亚洲电影一级黄| 香蕉视频在线观看黄| 婷婷亚洲五月| 91九色国产社区在线观看| 成人免费黄色网页| 欧美亚洲综合色| 国产免费无遮挡吸奶头视频| 亚洲一区久久| 蜜桃日韩视频| 欧美舌奴丨vk视频| 亚洲日韩欧美视频| 日韩人妻精品中文字幕| 久久综合色一综合色88| 日本三级免费观看| 精品在线99| 国产精品成人av性教育| 黄视频在线播放| 91久久国产最好的精华液| 国产aⅴ激情无码久久久无码| 欧美专区18| 日韩理论片在线观看| 国产第一精品| 久久久精品久久| www.国产麻豆| 午夜精品福利一区二区三区蜜桃| 国产激情视频网站| 久久久久.com| 午夜免费电影一区在线观看| 四虎永久精品在线| 欧美美最猛性xxxxxx| 黄色a在线观看| 日韩欧美国产高清91| 精品夜夜澡人妻无码av| 久久伊人亚洲| 青青草原国产免费| 91蜜桃臀久久一区二区| 97精品视频在线| 韩日视频在线| 91精品国产91热久久久做人人| 动漫精品一区一码二码三码四码| 99re亚洲国产精品| 99视频在线视频| 亚洲色图插插| 久久99精品久久久久久久青青日本| 亚洲高清黄色| 欧美伦理91i| 毛片网站在线观看| 91精品国产91综合久久蜜臀| www欧美在线| 一色屋精品亚洲香蕉网站| 在线精品视频播放| 奇米色一区二区三区四区| 一区二区三区四区免费观看| 任你弄精品视频免费观看| 国产精品一久久香蕉国产线看观看| 浮生影视网在线观看免费| 欧美一区二区网站| 永久免费无码av网站在线观看| 综合欧美一区二区三区| 日本xxx在线播放| 久久99久久99精品免视看婷婷| av免费观看大全| 忘忧草精品久久久久久久高清| 久久精品日韩| 一区二区三区四区视频免费观看| 日本老师69xxx| 暖暖在线中文免费日本| 永久免费精品影视网站| 色婷婷中文字幕| 日韩限制级电影在线观看| 波多野结衣电影在线播放| 一区二区久久久久| 国产福利在线导航| 久久综合久久鬼色中文字| 久久久久无码精品| 美女免费视频一区| 999香蕉视频| 亚洲国产mv| 日韩国产小视频| 国产精品99一区二区三| 日本午夜一区二区三区| 久久黄色影视| 风间由美久久久| 成人在线视频区| 国产精品久久久久秋霞鲁丝| 一区二区精品伦理...| 久久久天堂国产精品女人| 成人日韩欧美| www.久久撸.com| av资源种子在线观看| 亚洲欧美日韩直播| 性xxxfllreexxx少妇| 亚洲成人国产精品| 精品女同一区二区三区| 欧美丰满少妇xxxbbb| 一本色道久久综合精品婷婷| 日本道精品一区二区三区| 亚洲精品视频在线观看免费视频| 一区二区三区国产精品| 欧美日韩黄色网| 亚洲人成亚洲人成在线观看图片| 鲁丝一区二区三区| 国产日韩欧美高清| 在哪里可以看毛片| 久久精品在线免费观看| 最新中文字幕视频| 91蜜桃传媒精品久久久一区二区| 91传媒理伦片在线观看| 成人蜜臀av电影| 日本69式三人交| 96av麻豆蜜桃一区二区| 久久久久久久久免费看无码| 91蜜桃传媒精品久久久一区二区| aaaaa级少妇高潮大片免费看| 久久蜜桃香蕉精品一区二区三区| 国产一二三四五区| 国产女同互慰高潮91漫画| 欧美巨胸大乳hitomi| 国产精品第一页第二页第三页| 超碰人人干人人| 亚洲欧美日韩国产中文在线| 男女羞羞免费视频| 婷婷激情综合网| 色老头在线视频| 欧美精品三级在线观看| 国产99999| 亚洲成人久久网| 蜜桃免费在线| 日韩中文字幕不卡视频| 在线中文字幕第一页| 久久久综合av| 精品无人乱码一区二区三区| 国产精品尤物福利片在线观看| av在线精品| 国产精品免费区二区三区观看| 欧美理伦片在线播放| 日韩妆和欧美的一区二区| 91一区二区三区四区| 福利视频一区二区三区四区| 午夜在线精品偷拍| 中文字幕色网站| av一二三不卡影片| 国产jizz18女人高潮| 亚洲国产裸拍裸体视频在线观看乱了| 探花视频在线观看| 欧美精品久久久久久久久老牛影院 | 思思99re6国产在线播放| 欧美大胆在线视频| 国模套图日韩精品一区二区| 成人性生交大片免费看小说| 黄色欧美网站| 亚洲欧美精品| 亚洲精选91| 一本色道久久亚洲综合精品蜜桃 | 国产成人看片| 国产精品一区2区3区| 女同性恋一区二区| 免费永久网站黄欧美| 91精产国品一二三产区别沈先生| 成人高清av在线| 日本激情视频一区二区三区| 欧美日韩亚洲天堂| 国产女人高潮的av毛片| 亚洲欧美日韩精品久久| 日本天码aⅴ片在线电影网站| 国产不卡在线观看| 国产福利资源一区| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 亚洲裸体俱乐部裸体舞表演av| 国产一伦一伦一伦| 99国产精品国产精品久久| 69av.com| 777欧美精品| 国产在线一在线二| 91精品国产高清久久久久久| 麻豆久久一区| 中文字幕剧情在线观看一区| 久久久久一区| 精品国产av色一区二区深夜久久| 中文字幕一区二区视频| 在线免费观看av网址| 日韩成人在线视频网站| 国产在线xxx| 96国产粉嫩美女| 欧美国产一级| 91色国产在线| 2024国产精品| 亚洲男人第一av| 亚洲第一精品夜夜躁人人躁| 国产一二区在线| 成人av.网址在线网站| 日韩成人精品一区二区| 免费大片在线观看| av影院午夜一区| 日韩黄色一级大片| 亚洲精品成人av| 欧美aa在线| 久久久久久a亚洲欧洲aⅴ| 亚洲经典在线| 欧产日产国产精品98| 性做久久久久久免费观看| 风流少妇一区二区三区91| 欧美高清一级大片| 亚洲专区**| 加勒比成人在线| 91片黄在线观看| 久久久久在线视频| 国产亚洲xxx| 91九色综合| 亚洲一区二区在| 狠狠狠色丁香婷婷综合激情| 日韩精品一区二区亚洲av性色 | 久久精品久久久| 久久精品国产99久久99久久久| 亚洲女同一区二区| 超碰在线人人干| 68精品国产免费久久久久久婷婷| 免费成人蒂法| 免费日韩中文字幕| 欧美国产综合色视频| 一级做a爱片久久毛片| 久久久av亚洲男天堂| 亚洲精品影片| 国产资源在线视频| 国产日韩在线不卡| 国产精品爽爽久久久久久| 久久久精品一区二区| 91精品啪在线观看国产爱臀| 国产96在线 | 亚洲| 国产亚洲一区二区在线观看| 91成人国产综合久久精品| 欧美成人性生活| 欧美电影完整版在线观看| 97成人在线观看视频| 国产精品网站在线播放| 精品国产av 无码一区二区三区| 欧美精品videos| 久久av影视| 精品国产午夜福利在线观看| 图片区小说区国产精品视频 | 欧美xxxx18国产| 久久97久久97精品免视看秋霞| 国产日韩一区二区在线观看| 国产精品久久久久久妇女6080| 成人h动漫精品一区二区无码 | jizz国产精品| 亚洲人成色77777| 亚洲色图视频网| 香蕉久久一区二区三区| 国产日本欧美在线观看| 亚洲看片一区| 污污视频网站在线免费观看| 亚洲高清福利视频| 欧美男男gaygay1069| 欧美乱大交xxxxx潮喷l头像| 国产精品欧美综合在线| 亚洲 欧美 自拍偷拍| 91中文字幕一区| 丝袜美腿亚洲一区| 精品无码久久久久|