python库jieba 自然语言处理

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

 

 

上一篇:php搜索分词处理(jieba分词)


下一篇:如何解决python中下载好了第三方工具却不能用的问题