#首先导入需要用到的库 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