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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章