用Python做簡易的中文詞雲__Python

來源:互聯網
上載者:User

前言

在上一篇文章中,我們講解了在Ubuntu環境下安裝Anaconda,並且做出了英文的簡易詞雲。可能會有的同學嘗試把文章換成中文的,做出中文詞雲。我想大家得到的結果肯定是這樣的

中文與英文在編碼上是存在很多區別的,而且我們做英文詞雲的時候,在一篇文章中,單詞之間是通過空格分開的,但是中文並沒有使用空格。所有就有了上面的圖片。那麼中文如何分詞呢。我們需要用到一款工具,jieba(結巴)

準備工作

1.文本資料,作為分析的對象。這是必須的,這次我選用的是上一次相關的文本資料  我有一個夢想的中文版本。做成Dream.txt檔案,儲存在和代碼相同的目錄下。2.Anaconda工具套裝,上一篇文章已經講過如何安裝和使用,這裡不在囉嗦。3.worldcloud ,作詞雲用的Python擴充工具包。4.jieba      中文分詞用的擴充包。5.simsum.tty  中文字型包,用於顯示中文。

第一步

開啟終端輸入以下命令,安裝jieba擴充包

pip install jieba   //安裝很簡單,沒什麼可說的

繼續在終端輸入

jupyter notebook     //開啟代碼編輯器,並切換到存放Dream.txt的目錄下

如果你做了上次那個因為詞雲,那就用上次那個目錄就可以了,在代碼編輯器輸入以下代碼

file = open('Dream.txt')text = file.read()text

出現這樣的字樣,說明文本資料沒有問題,可以正常開啟。

分詞

在第二和第三行之間,插入以下代碼,進行分詞操作

import jieba                   //匯入jieba分詞包text = ' '.join(jieba.cut(text))        //對中文進行分詞

你將會看到以下的畫面,說明分詞成功了

詞雲產生

注釋掉代碼最後的text,以防幹擾。繼續在編輯器裡輸入

from wordcloud import WordCloudwordcloud = WordCloud().generate(text)

此時如果沒有報錯,也沒有任何輸出,那是不是詞雲就已經分析完成了呢。
並不是,但這次和上次的英文不一樣,因為我們要輸出中文的詞雲,所以我們
準備了simsum.tty的字型包,把它放在代碼相同的目錄下,然後在代碼編輯器輸入以下代碼:

from wordcloud import WordCloudwordcloud = WordCloud(font_path="simsun.ttf").generate(mytext)

依然沒有輸出,但這次離成功不遠了。

詞雲輸出

在代碼編輯器裡面輸入以下代碼:

%pylab inlineimport matplotlib.pyplot as pltplt.imshow(wordcloud, interpolation='bilinear')plt.axis("off")

你將看到以下結果,請無視警告

        一張簡易的中文詞雲就做好啦。。。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.