一種用Python生成詞雲

2020-12-14 愛玩耍的Jack

一種用Python生成詞雲

我們在閱讀一篇很長的文章時,總先看看文章的關鍵詞來獲知文章的大概內容。今天我們就來製作一個詞雲程序,將文章中出現次數較多的詞語提取出來,生成一張詞雲圖。

詞雲圖的生成原理:

程序會將這篇文章中的所有詞組識別出來,然後統計每個詞組出現的次數,出現次數越多,詞組的字號越大,最後把所有詞組拼合成一張圖像,也就是我們想要的詞雲圖。我們需要把這篇文章儲存在一個txt文檔裡,把這個文檔和程序放在同一個文件夾下。

首先需要安裝好了python的運行環境,並且以pycharm作為默認工具,安裝所需的第三方庫,它們分別是jieba 和wordcloud.安裝可以參考:

https://www.jb51.net/article/141320.htm

然後開始製作詞雲程序。在pycharm中新建一個python文件。

首先調用jieba 和worldcloud模塊。

import jieba

import worldcloud

接著,我們把儲存在程序目錄下的txt文檔命名為」b站測試題.txt」

在程序中輸入以下代碼來讀取這個文檔。

f=open(「b站測試題.txt」,」r」,encoding=」gbk」)

現在我們要讀取文檔中的文字, 把它儲存在一個新的變量t中

t=f.read()

然後關閉文檔

f.close()

然後提取詞組

Is=jieba.icut(t)

Txt=」 」.join(Is)

現在我們已經將詞組提取出來並用空格分開,提取出來的詞組保存在一個新的變量txt 裡面

下一步我們要新建一個詞雲的對象, 並設定一些參數

W=wordcloud.wordcloud(width=2000,

Height=1400,

Font_path=」msyh.ttc」

)

在上面這段代碼中,我們新建了一個詞雲的對象並將其命名為w。我們設定生成詞雲圖片的寬度為2000像素,高度為1400像素,設定文字的字體為微軟雅黑。

現在我們要把之前生成的詞組變量txt導入詞雲對象w中。

w.generate(txt)

w.to_file(「pic.png」)

然後運行測試

打開程序所在的文件夾, 我們可以看到這裡生成了一個名為pic.png的圖片文件。

還可以進行個性化,譬如換個背景色

只需要加入一行代碼:

W=wordcloud.wordcloud(width=2000,

Height=1400,

Background_color=」Grey」

Font_path=」msyh.ttc」

)

顏色可以查詢下表

也可以用16進位數值模式,以#開頭的6位16進位數表示顏色,你可以在下面這個網站上找到自己想要的顏色的1 6進位顏色數值。

http://tool.oschina.net/commons?type=3

也可以使用colormap改變文字顏色

還以自定義詞雲顯示行狀,譬如奔馬、五角星等

我們需要準備一張白色背景的圖片,將其放到程序所在的文件夾裡,程序會把白色的背景摳除,將文字放在主體部分,再填充上背景顏色。這裡我選了一個五角星的圖片,將它放置在程序所在的目錄下

現在我們需要調用一個新的庫:imageio,imageio是python自帶的一個庫,可以用來讀取圖

像數據。

在程序開頭添加下面的代碼:

import imageio

然後建立一個變量mask來讀取圖像數據

Mask=imageio.imread(「五角星.png」)

然後我們需要在建立詞雲對象的代碼中添加一行代碼

W=wordcloud.wordcloud(width=2000,

Height=1400,

Font_path=」msyh.ttc」

Mask=mask,

)

運行,如下圖:

思路參考:威海市文登區七裡湯中學宋海霞《用python生成詞雲圖》

除了用Pycharm還可以用sublime,可以參考:

https://blog.csdn.net/ydydyd00/article/details/80665028

未來的編程就這樣,很多基礎的功能已經函數或者庫化了,直接調用就可以了。這樣避免了頻繁的製造錘子,但是這些庫大部分都是國外開發的,國內直接「拿來主義」了,未來會有越來越多的國產庫了。

相關焦點

  • 數據統計可視化——python生成詞雲
    詞雲庫WordCloudwordcloud庫,可以說是python非常優秀的詞雲展示第三方庫。詞雲以詞語為基本單位更加直觀和藝術的展示文本而且使用簡單,內容豐富,先看看它生成的詞雲是什麼樣的。生成詞雲該庫主要有以下函數fit_words(frequencies) 該函數根據詞頻生成詞雲
  • 數據可視化 | 用Python生成個性化詞雲
    接下來將介紹如何使用python生成個性化詞雲。最關鍵的使用WordCloud模塊,要使用WordCloud模塊,需要先進行安裝。共有31661073個單詞下面是生成最簡單單詞雲的代碼片段。wordcl = WordCloud().generate(text)plt.imshow(wordcl, interpolation='bilinear')plt.axis('off')plt.show()最基本的詞雲完成了!
  • 使用python生成詞雲
    今天和大家分享一下如何使用python生成詞雲,在製作詞雲之前,我們首先需要一個用於製作詞雲的數據和形狀的模板,本篇文章以長安十二時辰的txt文件和中國地圖為例。具體代碼如下:#打開文件txt=open(".
  • Python如何生成詞雲(詳解)
    圖中有兩種模式,一種是默認的模式,另一種是自己添加圖片作為背景。下面我就帶大家一起來學習怎樣去生成詞雲!時會提示錯誤,如下:我的解決方法是直接訪問下面的網址,根據你的電腦和py版本下載對應的whl文件https://www.lfd.uci.edu/~gohlke/pyth
  • python生成詞雲時,文件名與庫名重出現的錯誤提示
    近日在vs code做一個python詞雲的練習時,編譯時出現:AttributeError: module 'wordcloud' has no attribute 'WordCloud'的提示,python3.8環境下,已經安排wordcloud
  • 用 Python 實現詞雲可視化
    (點擊上方快速關注並設置為星標,一起學Python)作者:沂水寒城    來源:https://blog.csdn.net/Together_CZ/article/details/92764128詞雲是一種非常漂亮的可視化展示方式
  • Python爬取腳本之家生成詞雲
    出品 | 腳本之家(ID:jb51net)在工作生活中,當我們遇到想展示關鍵詞的場合時,用詞雲的方式展示是一個不錯的方法。但是如何去實現詞雲呢?那麼如何快速生成一個詞雲呢?一些在線的詞雲生成平臺可以快速生成詞雲,但是有時候並不能按照喜好去實現。
  • 手把手教你怎麼做一個詞雲
    用簡單的話來說,詞雲就是把一大段文字中的關鍵詞提取出來,做成一張圖,並按照出現的次數多少,決定關鍵詞在結果圖上的大小。接下來,小編就教小夥伴們做出一個自定義形狀的詞雲。利用WordCloud對象的to_file()方法生成詞雲。接下來,按照上面說的三個步驟來生成詞雲。
  • 拿來就用能的Python詞雲圖代碼|wordcloud生成詞雲詳解
    詞雲也叫文字雲,是一種可視化的結果呈現,常用在爬蟲數據分析中,原理就是統計文本中高頻出現的詞,過濾掉某些幹擾詞,將結果生成一張圖片,直觀的獲取數據的重點信息。今天,我們就來學習一下Python生成詞雲的常用庫「wordcloud」。
  • 給閱讀充分的想像空間和娛樂趣味 | python詞雲
    1.python詞雲模塊的安裝製作詞雲的主要模塊為 「wordcloud」,另外,要使用 「jieba」 庫切割中文句子,用 「imageio」 讀入圖片。只要簡單改變上述創建 WordCloud 對象的代碼,即可得到不同背景顏色的詞云:# example2.py# 設置背景顏色為白色wc = WordCloud(background_color='white')python還支持很多顏色,下表列出了一部分,有興趣的讀者可自行嘗試:製作中文詞雲
  • Python模塊Wordcloud,手把手教你生成詞雲圖
    wordcloud是Python擴展庫中一種將詞語用圖片表達出來的一種形式,通過詞雲生成的圖片,我們可以更加直觀的看出某篇文章的故事梗概。結巴分詞的分詞模式分為三種:(1)全模式:把句子中所有的可以成詞的詞語都掃描出來, 速度快,但是不能解決歧義問題(2)精確模式:將句子最精確地切開,適合文本分析(3)搜尋引擎模式:在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜尋引擎分詞下面用一個簡單的例子來看一下三種模式的分詞區別
  • 使用R語言進行分詞並生成詞雲
    分詞是文本分析中的基礎內容,而詞雲則是基於分詞結果的一種文本可視化方式。本文將介紹基於jiebaR包的基本分詞操作,以及基於wordcloud2包的詞雲製作方法。segment(sentence, engine4)2 文本分詞及詞雲預處理在學習了分詞的基本操作後,我們可以通過對文本分詞並進行詞頻統計來繪製詞雲。
  • 用Wordcloud生成指定形狀的詞雲圖
    wordcloud是Python擴展庫中一種將詞語用圖片表達出來的一種形式,通過詞雲生成的圖片,我們可以更加直觀的看出某篇文章的故事梗概
  • 推薦幾個非常好用的詞雲生成工具,再也不用發愁做不出炫酷的文字
    詞雲首先說一下什麼是詞雲,以及詞雲能幹什麼詞雲,就是用詞語組合生成的類似圖片的文字組合,可以在眾多的詞語中快速找到重點關鍵詞,同時還能美化文字美化文字,在一堆文字裡面快速發現重點關鍵字,提取關鍵信息,同時生成非常好看的圖片,讓你的作品與眾不同是詞雲的使用宗旨下面推薦幾個比較好用的詞雲工具美寄支持自定義圖片,字體,形狀等等修改優詞雲
  • 用Python生成詞雲
    以下為簡單的Python生成詞雲代碼
  • 使用Jieba庫分分鐘實現高端大氣的詞雲
    實現思路利用python的jieba庫對文本進行分詞及詞頻統計,然後通過在線製作詞雲工具TAGUL,製作詞雲。下面以《鬥破蒼穹》小說為例,利用Jieba庫實現分詞。三十年河東,三十年河西,莫欺少年窮!這些停用詞都是人工輸入、非自動化生成的,生成後的停用詞會形成一個停用詞表。但是,並沒有一個明確的停用詞表能夠適用於所有的工具。甚至有一些工具是明確地避免使用停用詞來支持短語搜索的。
  • 從零開始教你用 Python 做詞雲
    今天我們要嘗試的,是用通用的程式語言Python來做詞雲。Python是一種時下很流行的程式語言。你不僅可以用它做數據分析和可視化,還能用來做網站、爬取數據、做數學題、寫腳本替你偷懶……知道豆瓣嗎?它一開始就是用Python寫的。在目前的程式語言熱度排序裡,Python屈居第四(當然,很多人不同意,所以程式語言的排行榜有許多,你懂的)。
  • 詞雲--基於Python庫wordcloud生成
    在生成詞雲的時候,Wordcloud默認是按照空格或者標點作為分割符來對目標文本進行分詞處理。若是英文文本可直接調用,若是中文文本,則需要按照前面介紹jieba分詞的那邊文章先對文本進行分詞處理然後用空格拼接,再調用wordcloud庫函數。
  • Python Sphinx 生成簡潔大方的文檔
    Sphinx 是一種工具,是一個有趣 python 的第三方庫,它允許程式設計師以純文本格式編寫文檔,Spninx 可以輕鬆生成各種格式的輸出,比如 html,pfd,等等。Python 也有自己的方案,解決文檔就是 Sphinx ,Python3.x 官方的文檔就是用這個生成的。所以,如果你的也是 Python 項目,那麼可以生成一個和官方文檔同款的文檔項目,非常實用和拉風。Sphinx 怎麼用?
  • 總結Python繪製詞雲的三種方法
    用 jieba 進行文本分詞,加載停用詞到集合,然後一行列表解析式濾除停用詞和單個詞,效率很高。然後利用 collections.Counter(result_list) 統計詞頻,傳入WordCloud 對象,配置參數,生成詞雲,最後保存詞雲圖片和顯示。結果如下: