999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

巧用Python自制“詞云”圖

2021-06-25 07:46:54牟曉東
電腦報 2021年2期
關鍵詞:內容

牟曉東

所謂的“詞云”圖,指的是通過“關鍵詞(KeyWord)渲染”的方式對高頻關鍵詞進行視覺凸顯強調的圖片,將絕大多數的低頻文本信息進行了過濾,瀏覽者可以在短短幾秒的時間內獲得文章的最關鍵信息——“一圖勝千文”。目前在互聯網上有網站提供在線詞云圖的生成服務,用戶只需將自己的文本內容粘貼上傳,服務器很快就會生成并返回一張詞云圖(有的還提供有各種個性化形狀)。其實,我們在本地通過Python編程也能夠比較方便地制作出詞云圖。

1.jieba和wordcloud等庫模塊的安裝準備工作

Python之所以功能強大,是與其豐富的標準庫和第三方庫的支持分不開的。想要進行詞云圖的制作,除了常規的numpy科學計算和PIL圖像庫之外,還需要在編寫程序前進行jieba和wordcloud庫模塊的安裝,操作方法是在命令行模式中分別輸入命令“pip install jieba”和“pip install wordcloud”。如果無法安裝成功(默認的國外更新源經常會因速度不穩而導致安裝失敗),建議更換安裝源為國內的清華或是阿里云等鏡像。

jieba模塊是一個專門用于中文(也支持英文)分詞的Python庫模塊,即將文本內容以單個詞為單元進行“斷句”,可以使用其中的jieba.lcut()進行分詞并將結果保存于列表中。比如:“words = jieba.lcut(‘我們都有一個家)”和“print(words)”兩行語句,執行后就會將“我們都有一個家”分解成“我們”、“都”、“有”、“一個”和“家”共五個詞,保存在words列表中打印輸出(如圖2)。

2.提取高頻詞

我們以分析《三國演義》中著名的“火燒赤壁”片段為例(從第60章“諸葛亮舌戰群儒”到第70章“諸葛亮智算華容”),將文本內容從網絡上復制粘貼到本地,保存為文本文件“火燒赤壁.txt”。

首先使用“import jieba”命令將jieba庫模塊導入,接著使用“with open(‘火燒赤壁.txt,‘r) as file:”將準備好的文本文件以只讀形式打開,并且作為file文件對象;“text = file.read()”:建立text變量,賦值為file文件對象讀取“火燒赤壁.txt”文件的所有內容;“words = jieba.lcut(text)”:使用jieba.lcut()將“斷句”后生成的各分詞內容保存至words變量中;“counter = dict()”:使用dict()建立一個名為counter的空字典,準備存放各分詞內容及對應的出現次數;然后使用for循環在words中進行遍歷:如果分詞的長度大于1(if len(i)>1:),則進行“計數”(counter[i] = counter.get(i,0) +1),這樣可以將“的”、“和”、“了”等出現頻率極高的單個分詞進行“過濾”;最后使用“print(counter)”將counter字典中的鍵(Keys)和值(Values)進行輸出,運行程序——“諸葛亮”:19、“孔明”:98、“曹操”:137等等(如圖3)。此時,我們已經得到了“火燒赤壁”中除了單個字之外的所有分詞內容及出現次數,準備再借助wordcloud庫模塊進行詞云圖的生成。

3.渲染生成常規的詞云圖

在程序開始部分補充“from wordcloud import WordCloud”,意思是從wordcloud中導入WordCloud;建立WCs變量,使用WordCloud為其賦值:“WCs = WordCloud(font_path=‘C:\\Windows\\Fonts\\simhei.ttf,? width=1080,height =720,max_words=50, background_color? ? ? =‘white)”,其中的“font_path”部分是指定詞云圖生成時各分詞的字體設置,width和height是指定生成詞云圖的大小為寬1080、高720,max_words是指定從counter字典中取出現頻率最高的前50個分詞,background_color是指定詞云圖的背景是白色;“WCs.generate_from_frequencies(counter)”和“WCs.to_file(‘WordCloud1.jpg)”負責將counter字典中前50個出現頻率最高的分詞取出并渲染生成為WordCloud1.jpg詞云圖片文件。

運行程序,在同級目錄中很快就生成了WordCloud1.jpg詞云圖,出現頻率越高的分詞,字就越大,比如“曹操”、“周瑜”、“孔明”(如圖4)。

4.改進效果

觀察WordCloud1.jpg詞云圖,不難發現其中像“孔明曰”、“卻說”、“不可”、“次日”和“一人”等分詞雖然出現的頻率較高,但其內容出現在詞云中并不能代表原文的關鍵信息,這就需要像處理單個字那樣將這種分詞進行人工過濾。還有,這種方形的詞云圖在展示時的視覺沖擊度稍顯單薄,是否可以將它做成諸葛亮手中的“羽扇”形狀的詞云圖呢?

改進一:對過濾列表filter_list進行遍歷

建立列表“filter_list”,為其賦值為“[‘孔明曰,‘卻說,‘不可,‘次日,‘一人,‘二人,‘于是,‘之后]”,即將所有待過濾的高頻分詞作為其中的元素;接著使用for循環對counter字典進行遍歷,將字典中保存有filter_list列表各元素的鍵和值均刪除:“del counter[i]”。

改進二:個性化詞云圖輪廓

從網上搜索并下載一張羽扇圖“羽扇.jpg”,要求背景為純白(用PS處理);然后在程序開始添加“import numpy as np”和“from PIL import Image”,將numpy及PIL庫模塊中的Image導入;“image_mask = np.array(Image.open(‘羽扇.jpg))”:建立image_mask變量,賦值為先通過Image.open()打開的“羽扇.jpg”、再經numpy的np.array()矩陣轉換后的值,這個值就是一個羽扇的輪廓;接著仍是在“WCs = WordCloud”中進行參數添加:“mask = image_mask”,指定詞云圖的“蒙版”mask,賦值為image_mask;接著,根據下載的“羽扇.jpg”圖片文件的尺寸大小,將width和height參數分別設置為1024和704(width=1024,height=704);同時,為了保證最終生成的詞云圖各分詞的緊密分布效果,可以在此將關鍵詞的最大顯示數量由之前的50修改為160(max_words=160);最后記得在“WCs.to_file”中將生成的詞云圖文件名設置為“WordCloud2.jpg”,防止將第一次生成的詞云圖覆蓋。

兩處改進修改完成之后,再次運行程序,生成了一張新的詞云圖,不僅之前的“不可”、“次日”和“一人”等高頻無效分詞消失了,而且形狀也由中規中矩的形狀變成了“羽扇”蒙版式(如圖5)。

通過Python編程,我們可以將自己喜歡的整部文學作品(或是某篇專業論文)進行詞云圖的“私人定制”,效果非常不錯,大家不妨一試。

猜你喜歡
內容
內容回顧溫故知新
科學大眾(2022年11期)2022-06-21 09:20:52
內容回顧 溫故知新
科學大眾(2021年21期)2022-01-18 05:53:48
內容回顧溫故知新
科學大眾(2021年17期)2021-10-14 08:34:02
內容回顧溫故知新
科學大眾(2021年19期)2021-10-14 08:33:02
內容回顧 溫故知新
科學大眾(2021年9期)2021-07-16 07:02:52
內容回顧 溫故知新
科學大眾(2020年23期)2021-01-18 03:09:18
內容回顧 溫故知新
科學大眾(2020年17期)2020-10-27 02:49:04
引言的內容
引言的內容
主要內容
臺聲(2016年2期)2016-09-16 01:06:53
主站蜘蛛池模板: 久草性视频| 国产精品妖精视频| 伊人久久大香线蕉成人综合网| 亚洲欧美国产视频| 99热免费在线| 亚洲综合亚洲国产尤物| 免费无码在线观看| 久久亚洲日本不卡一区二区| 一级看片免费视频| 久久久久亚洲AV成人网站软件| 欧美精品成人一区二区视频一| 日本在线视频免费| 尤物特级无码毛片免费| 久久青草精品一区二区三区| 亚洲欧洲天堂色AV| 亚洲午夜18| 五月天丁香婷婷综合久久| 日本一区二区三区精品国产| 91亚洲影院| 国产美女无遮挡免费视频| av在线人妻熟妇| 国产欧美精品一区二区| 亚洲成年人片| 欧美中文字幕在线视频| 伊人久久大香线蕉影院| 拍国产真实乱人偷精品| 日韩精品毛片人妻AV不卡| 国产成人免费手机在线观看视频| 亚洲色婷婷一区二区| 人妻中文字幕无码久久一区| 日韩精品无码免费专网站| 97精品久久久大香线焦| 国产va免费精品观看| 国产精品网址在线观看你懂的| 国产成人精品高清在线| 亚洲国产精品无码AV| 日韩精品高清自在线| 国产91色在线| 国产欧美高清| 人妻精品全国免费视频| 伊人91视频| 国产日韩精品欧美一区灰| 狠狠色成人综合首页| 国产情侣一区| 欧美中文字幕无线码视频| 无码AV日韩一二三区| 国产精品网址你懂的| 色综合综合网| 亚洲人成影院在线观看| 中文字幕资源站| 国产在线观看一区精品| 亚洲中文字幕av无码区| 任我操在线视频| 老熟妇喷水一区二区三区| 97av视频在线观看| 亚洲天堂.com| 色综合天天视频在线观看| 精品久久香蕉国产线看观看gif| 精品免费在线视频| 国产精品漂亮美女在线观看| 在线观看国产精品第一区免费 | 亚洲精品动漫| 日韩AV无码免费一二三区| 久久久久亚洲AV成人人电影软件 | 成AV人片一区二区三区久久| 男女男精品视频| 99久久国产自偷自偷免费一区| 亚洲一区无码在线| 丁香五月激情图片| 亚洲免费人成影院| 婷婷在线网站| 中文无码日韩精品| 亚洲开心婷婷中文字幕| 国产99久久亚洲综合精品西瓜tv| 亚洲精品片911| 中文毛片无遮挡播放免费| 亚洲91在线精品| 白浆免费视频国产精品视频 | 亚洲国产综合精品一区| 国产黄在线免费观看| 日本国产精品| 国产精品无码久久久久AV|