#首先導入需要用到的庫 import jieba import jieba.analyse import jieba.posseg as pseg #一、中文分詞 str="阿強勤學苦練求真務實,考上家裏蹲大學。畢業後在希望小學環衛部深造。" #全模式,快速分析,但是會有歧義,標點符號略去 seg_list =jieba.cut(str,cut_all=True) print("/".join(seg_list)) #結果如下: #阿/強/勤學/勤學苦練/苦練/求真/求真務實/務實///考上/上家/家裏/蹲/大學///畢業/後/在/希望/小學/環衛/部/深造// #精確模式 seg_list =jieba.cut(str) print("/".join(seg_list)) #結果如下 #阿強/勤學苦練/求真務實/,/考上/家裏/蹲/大學/。/畢業/後/在/希望/小學/環衛/部/深造/。 #搜索引擎模式,切分長詞,提高召回率 seg_list =jieba.cut_for_search(str) print("/".join(seg_list)) #結果如下 #阿強/勤學/苦練/勤學苦練/求真/務實/求真務實/,/考上/家裏/蹲/大學/。/畢業/後/在/希望/小學/環衛/部/深造/。
#二、關鍵詞提取 #unicode編碼字符串 content=u"社會主義核心價值觀是社會主義核心價值體系的內核,體現社會主義核心價值" \ u"體系的根本性質和基本特徵,反映社會主義核心價值體系的豐富內涵和實踐要" \ u"求,是社會主義核心價值體系的高度凝練和集中表達。黨的十八大以來,中央" \ u"高度重視培育和踐行社會主義核心價值觀。習近平總書記多次作出重要論述、" \ u"提出明確要求。中央政治局圍繞培育和弘揚社會主義核心價值觀、弘揚中華傳" \ u"統美德進行集體學習。" # 四個參數作用: # 1、文本; # 2、返回關鍵詞數量,重要性排序由高到低; # 3、是否返回關鍵詞權重; # 4、詞性過濾 keywords=jieba.analyse.extract_tags(content,topK=20,withWeight=True,allowPOS=()) for item in keywords: print(item[0],item[1]) #結果如下,顯示詞語和權重比 社會主義 0.7561048415211864 價值體系 0.7053674637627118 核心 0.6943677941045763 價值觀 0.44780987039847464 弘揚 0.31249309914745765 培育 0.24348721887966102 傳統美德 0.20523590140169493 凝練 0.17912666342033898 踐行 0.17912666342033898 內核 0.17108500274915253 習近平 0.16799480687135596 明確要求 0.1597176413135593 基本特徵 0.15196955455677966 中央政治局 0.14084221477050848 內涵 0.13832008033559323 總書記 0.13799620132372883 十八 0.13523897003949154 高度重視 0.13435369559508473 論述 0.12496135142966103 中華 0.12224276166152542
#提取地名,名詞,動名詞,動詞 print("\n提取地名,名詞,動名詞,動詞") keywords=jieba.analyse.textrank(content,topK=20,withWeight=True,allowPOS=("ns","n","vn","v")) for item in keywords: print(item[0],item[1]) #結果如下, 提取地名,名詞,動名詞,動詞 核心 1.0 社會主義 0.935334527314147 價值體系 0.534015623644732 價值觀 0.3488405529644827 集體 0.26741565882478036 進行 0.2662004893070279 學習 0.26484756413060556 培育 0.2641305557172337 高度 0.2436500308404024 凝練 0.21280096389606976 總書記 0.2005219912073602 內核 0.1952619493922677 踐行 0.19423045615897752 論述 0.19179740467979425 提出 0.19154817976814179 作出 0.19051006248286287 反映 0.18053209518237479 體現 0.1680888845758403 要求 0.16344873530501267 內涵 0.16253391714422566
#三、詞性標註 print("\n詞性標註") words=pseg.cut(str) for word,flag in words: print("%s\t%s"%(word,flag)) #結果 詞性標註 阿強 nr 勤學苦練 i 求真務實 i , x 考上 v 家裏 s 蹲 v 大學 n 。 x 畢業 n 後在 t 希望 v 小學 n 環衛 j 部 n 深造 v 。 x