[NLP --- 25] Jieba 分詞及關鍵詞提取

一. 分詞

1. 全模式

import jieba

seg_list = jieba.cut("我來到北京清華大學", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list))  # 全模式

2. 精確模式

import jieba

# seg_list = jieba.cut("我來到北京清華大學")
seg_list = jieba.cut("我來到北京清華大學", cut_all=False)
print("Default Mode: " + "/ ".join(seg_list))  # 精確模式

3. 搜索引擎模式

import jieba

# 搜索引擎模式
seg_list = jieba.cut_for_search("小明碩士畢業於中國科學院計算所,後在日本京都大學深造")  
print(", ".join(seg_list))

 

二. 關鍵詞提取

1. 基於TF-IDF

import jieba
import jieba.analyse

# TF-IDF 提取關鍵詞
sentence = "2018年,在慶祝海南建省辦經濟特區30週年大會上宣佈,決定支持海南全島建設自由貿易試驗區,"\
           "支持海南逐步探索、穩步推進中國特色自由貿易港建設,分步驟、分階段建立自由貿易港政策和制度體系。"

keywords = jieba.analyse.tfidf.extract_tags(sentence, topK=20, withWeight=True, allowPOS=())
for item in keywords:
    print(item[0], item[1])

2. 基於TextRank

import jieba
import jieba.analyse

# 基於TF-IDF 提取關鍵詞
sentence = "2018年,在慶祝海南建省辦經濟特區30週年大會上宣佈,決定支持海南全島建設自由貿易試驗區,"\
           "支持海南逐步探索、穩步推進中國特色自由貿易港建設,分步驟、分階段建立自由貿易港政策和制度體系。"

# 基於TextRank
keywords = jieba.analyse.textrank(sentence, topK=20, withWeight=True, allowPOS=('ns', 'n', 'vn', 'v'))
for item in keywords:
    print(item[0], item[1])

 

三. 詞性標註

1. 默認模式

import jieba
import jieba.posseg as pseg

words = pseg.cut("我愛北京天安門") #jieba默認模式
for word, flag in words:
    print('%s %s' % (word, flag))

2. 使用Paddle

import jieba
import jieba.posseg as pseg

jieba.enable_paddle() #啓動paddle模式。 0.40版之後開始支持,早期版本不支持
words = pseg.cut("我愛北京天安門",use_paddle=True) #paddle模式

for word, flag in words:
    print('%s %s' % (word, flag))

 

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