python練習17:用jieba分詞做關鍵詞提取,用matplotlib做可視化

jieba分詞 是一款開源的中文分詞包,同時它還帶有分析模塊,可以用TF-IDF等算法進行關鍵詞分析
jieba
下面的小程序的基本思路是:
通過jieba從 保存好的txt文本中提取關鍵詞,根據關鍵詞的權重等決定關鍵詞的文字大小,用matplotlib將它們呈現出來

#coding:utf-8
import os
import tkFileDialog #文件對話框模塊
import jieba #jieba分詞模塊
import jieba.analyse #jieba分詞分析模塊
import codecs #中文編碼轉換模塊
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['simhei'] # 指定默認字體
mpl.rcParams['axes.unicode_minus'] = False # 解決保存圖像是負號'-'顯示為方塊的問題
default_dir = r"D:/py/" # 設置默認打開目錄
fname = tkFileDialog.askopenfilename(title=u"選擇文件",
initialdir=(os.path.expanduser(default_dir))) #選擇供分析用的文本文件
fig=plt.figure()
fig.suptitle(u'關鍵詞語TF-IDF分析',fontsize=14,fontweight='bold')
ax=fig.add_subplot(111)
ax.set_xlim(0,10)
ax.set_ylim(0,10)
fig.subplots_adjust(top=0.85)
with codecs.open(fname) as fr:
s=fr.read()
s_out=jieba.analyse.extract_tags(s, withWeight=True) #用jieba提取關鍵詞
max_weight=max(list(map(lambda y: y[1],s_out)))
f_scale=int(1/max_weight)
for x, w in s_out:
print('%s %s' %(x,w))
locate=np.random.rand(2)
size=int(f_scale64w)
col=int(8w)+1
ax.text(locate[0]
10,locate[1]*10,x,
fontsize=size,fontdict=None,color='blue') #pad表示與字的邊距
plt.show()

從百度百科上取一段文字做測試:

蒙古族 編輯
蒙古族(蒙古語:???????????????,西里爾字母:Монгол ?ндэстэн),是主要分布于東亞地區的一個傳統游牧民族,是中國的少數民族之一,同時也是蒙古國的主體民族。此外,蒙古族在俄羅斯等亞歐國家也有分布,鄂溫克族和土族也有時被認為是蒙古族的分支。[1]
蒙古族始源于古代望建河(今額爾古納河)東岸一帶。13世紀初,以成吉思汗為首的蒙古部統一了蒙古地區諸部,逐漸形成了一個新的民族共同體。
蒙古族人民世居草原,以畜牧為生計。過著“逐水草而居”的游牧生活,盡管這種生存方式在現代社會被弱化,但仍然被視作蒙古族的標志。
蒙古族在科學文化事業上比較發達,而且音樂、舞蹈也在藝術上居于相對顯赫的地位[2] 。
《蒙古秘史》、《蒙古黃金史》、《蒙古源流》被稱為蒙古族的三大歷史巨著,其中《蒙古秘史》被聯合國教科文組織確定為世界著名文化遺產。英雄史詩《江格爾》是中國的三大史詩之一。[3]
中文名 蒙古族 外文名 Mongols 人 口 約1000萬 人口分布 中國,蒙古國,俄羅斯等 語 言蒙古語 文 字回鶻式蒙古文,西里爾蒙古文 信 仰薩滿教,藏傳佛教,回教 別 稱 蒙古人,草原驕子,馬背上的民族 方 言 內蒙古,衛拉特,巴爾虎布里亞特
目錄
1 名稱
2 歷史
? 原始社會時期
? 民族的統一與對外征伐
? 元朝滅亡后的蒙古諸部
? 蒙古國的獨立與內蒙古自治區的建立
3 人口
4 政治

原文比較長,就不全部貼上了。
關鍵詞分析結果:

蒙古 0.169165636577
蒙古族 0.126360191488
蒙古人 0.055626259173
成吉思汗 0.0423217004291
民族 0.033926093091
四胡 0.0298077928858
....

分析之后的可視化結果:

image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,527評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,687評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,640評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,957評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,682評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,011評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,009評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,183評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,714評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,435評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,665評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,148評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,838評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,251評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,588評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,379評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,627評論 2 380

推薦閱讀更多精彩內容