1. 程式人生 > >Python 生成中文詞雲

Python 生成中文詞雲

images nag 塑造 中國國情 基礎 如果 jieba 和諧 進入

豆子無意中發現Python有個現成的模塊 word cloud可以根據文本文件生成詞雲,很好很強大,簡單地玩了一把。

寫代碼之前,首先需要安裝3個依賴的Python模塊,分別是matplotlib, jieba和wordcloud。這三個模塊分別是用來作圖,中文分詞和生成詞雲的。安裝方式可以直接通過 pip install實現。如果在線安裝出現報錯(很有可能的事情),那麽可以去https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下載對應版本和位數的whl文件,然後依然可以通過pip install 來指定下載的文件安裝。

下面來看個簡單的實例:

首先給我的詞雲下載一個背景圖,到時候生成的圖案甚至顏色就是和這個一樣的,我隨便下載了個小熊的圖片

技術分享圖片

然後隨便從新浪網上下載了一條新聞,保存為txt文件

×××:深刻認識建設現代化經濟體系重要性
  新華社北京1月31日電中共中央政治局1月30日下午就建設現代化經濟體系進行第三次集體學習。中共中央總書記×××在主持學習時強調,建設現代化經濟體系是一篇大文章,既是一個重大理論命題,更是一個重大實踐課題,需要從理論和實踐的結合上進行深入探討。建設現代化經濟體系是我國發展的戰略目標,也是轉變經濟發展方式、優化經濟結構、轉換經濟增長動力的迫切要求。全黨一定要深刻認識建設現代化經濟體系的重要性和艱巨性,科學把握建設現代化經濟體系的目標和重點,推動我國經濟發展煥發新活力、邁上新臺階。

  這次中央政治局集體學習,由中央政治局同誌自學並交流體會,劉鶴、孫春蘭、李希、李強、李鴻忠、陳全國、陳敏爾、×××、蔡奇就這個問題作了重點發言,中央政治局各位同誌聽取了他們的發言,並就有關問題進行了討論。

  ×××在主持學習時發表了講話。他指出,建設現代化經濟體系,這是黨中央從黨和國家事業全局出發,著眼於實現“兩個一百年”奮鬥目標、順應中國特色社會主義進入新時代的新要求作出的重大決策部署。國家強,經濟體系必須強。只有形成現代化經濟體系,才能更好順應現代化發展潮流和贏得國際競爭主動,也才能為其他領域現代化提供有力支撐。我們要按照建設社會主義現代化強國的要求,加快建設現代化經濟體系,確保社會主義現代化強國目標如期實現。

  ×××強調,現代化經濟體系,是由社會經濟活動各個環節、各個層面、各個領域的相互關系和內在聯系構成的一個有機整體。要建設創新引領、協同發展的產業體系,實現實體經濟、科技創新、現代金融、人力資源協同發展,使科技創新在實體經濟發展中的貢獻份額不斷提高,現代金融服務實體經濟的能力不斷增強,人力資源支撐實體經濟發展的作用不斷優化。要建設統一開放、競爭有序的市場體系,實現市場準入暢通、市場開放有序、市場競爭充分、市場秩序規範,加快形成企業自主經營公平競爭、消費者自由選擇自主消費、商品和要素自由流動平等交換的現代市場體系。要建設體現效率、促進公平的收入分配體系,實現收入分配合理、社會公平正義、全體人民共同富裕,推進基本公共服務均等化,逐步縮小收入分配差距。要建設彰顯優勢、協調聯動的城鄉區域發展體系,實現區域良性互動、城鄉融合發展、陸海統籌整體優化,培育和發揮區域比較優勢,加強區域優勢互補,塑造區域協調發展新格局。要建設資源節約、環境友好的綠色發展體系,實現綠色循環低碳發展、人與自然和諧共生,牢固樹立和踐行綠水青山就是金山銀山理念,形成人與自然和諧發展現代化建設新格局。要建設多元平衡、安全高效的全面開放體系,發展更高層次開放型經濟,推動開放朝著優化結構、拓展深度、提高效益方向轉變。要建設充分發揮市場作用、更好發揮政府作用的經濟體制,實現市場機制有效、微觀主體有活力、宏觀調控有度。以上幾個體系是統一整體,要一體建設、一體推進。我們建設的現代化經濟體系,要借鑒發達國家有益做法,更要符合中國國情、具有中國特色。

  ×××指出,建設現代化經濟體系,需要紮實管用的政策舉措和行動。要突出抓好以下幾方面工作。一是要大力發展實體經濟,築牢現代化經濟體系的堅實基礎。實體經濟是一國經濟的立身之本,是財富創造的根本源泉,是國家強盛的重要支柱。要深化供給側結構性改革,加快發展先進制造業,推動互聯網、大數據、人工智能同實體經濟深度融合,推動資源要素向實體經濟集聚、政策措施向實體經濟傾斜、工作力量向實體經濟加強,營造腳踏實地、勤勞創業、實業致富的發展環境和社會氛圍。二是要加快實施創新驅動發展戰略,強化現代化經濟體系的戰略支撐,加強國家創新體系建設,強化戰略科技力量,推動科技創新和經濟社會發展深度融合,塑造更多依靠創新驅動、更多發揮先發優勢的引領型發展。三是要積極推動城鄉區域協調發展,優化現代化經濟體系的空間布局,實施好區域協調發展戰略,推動京津冀協同發展和長江經濟帶發展,同時協調推進粵港澳大灣區發展。鄉村振興是一盤大棋,要把這盤大棋走好。四是要著力發展開放型經濟,提高現代化經濟體系的國際競爭力,更好利用全球資源和市場,繼續積極推進“一帶一路”框架下的國際交流合作。五是要深化經濟體制改革,完善現代化經濟體系的制度保障,加快完善社會主義市場經濟體制,堅決破除各方面體制機制弊端,激發全社會創新創業活力。(完)

責任編輯:張建利

Python 代碼

from os import path
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator

d = path.dirname(__file__)

# Read the whole text.
text = open(path.join(d, ‘xidada.txt‘),encoding=‘utf-8‘).read()

import jieba

# 結巴分詞
wordlist = jieba.cut(text, cut_all=True)
wl = " ".join(wordlist)
print(wl)#輸出分詞之後的txt

coloring = np.array(Image.open(path.join(d, "bear.jpg")))

# 設置停用詞
# stopwords = set(STOPWORDS)
# stopwords.add("said")

# 你可以通過 mask 參數 來設置詞雲形狀
wc = WordCloud(background_color="white", max_words=2000, mask=coloring,
                max_font_size=50, random_state=42,font_path=‘fangsong_GB2312.ttf‘)

wc.generate(wl)

# create coloring from image
image_colors = ImageColorGenerator(coloring)

# show
# 在只設置mask的情況下,你將會得到一個擁有圖片形狀的詞雲
plt.imshow(wc, interpolation="bilinear")
plt.axis("off")
plt.figure()
plt.show()

效果圖
技術分享圖片

Python 生成中文詞雲