python學習筆記——jieba庫入門
一、查詢官方文件
1.百度
https://pypi.org/project/jieba/
2.完整文件:https://github.com/fxsjy/jieba
二、介紹
1.簡介
jieba(中文意思是“結巴”)中文文字切分:打造成最好的Python中文分詞模組。
2.特點
- 支援四種分詞模式:
- 精確模式,試圖將句子最精確地切開,適合文字分析;
- 全模式,把句子中所有的可以成詞的詞語都掃描出來, 速度非常快,但是不能解決歧義;
- 搜尋引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜尋引擎分詞。
- paddle模式,利用PaddlePaddle深度學習框架,訓練序列標註(雙向GRU)網路模型實現分詞。同時支援詞性標註。paddle模式使用需安裝paddlepaddle-tiny,
pip install paddlepaddle-tiny==1.6.1
。目前paddle模式支援jieba v0.40及以上版本。jieba v0.40以下版本,請升級jieba,pip install jieba --upgrade
。PaddlePaddle官網
- 支援繁體分詞
- 支援自定義詞典
- MIT 授權協議
三、主要功能
1.分詞
1.1前三種分詞模式案例
import jieba
string = '中華人民共和國是一個偉大的國家'
#精確模式
aa = jieba.lcut(string) # 等效於:jieba.lcut(string, cut_all=False)是否分割出所有情況=否
print(aa)
#全模式
aa = jieba.lcut(string, cut_all=True) # 是否分割出所有情況=是
print(aa)
#搜尋引擎模式(在精確模式的基礎上,對長詞再次切分)
aa = jieba.lcut_for_search(string)
print(aa)
結果:
['中華人民共和國', '是', '一個', '偉大', '的', '國家']
['中華', '中華人民', '中華人民共和國', '華人', '人民', '人民共和國', '共和', '共和國', '國是', '一個', '偉大', '的', '國家']
['中華', '華人', '人民', '共和', '共和國', '中華人民共和國', '是', '一個', '偉大', '的', '國家']
1.2相似方法
原理:檢視原始碼可知, lcut()是cut()放進list裡返回的資料
2.新增自定義詞典(提高分詞準確率)
開發者可以指定自己自定義的詞典,以便包含 jieba 詞庫裡沒有的詞。雖然 jieba 有新詞識別能力,但是自行新增新詞可以保證更高的正確率
2.1 一個精確模式案例
import jieba
string = '小明白參加雲端計算專案研究'
aa = jieba.lcut(string)
print(aa)
結果:
['小', '明白', '參加', '雲', '計算', '專案', '研究']
發現:“小明白”這個人名分的不準確,“雲端計算”這個名詞分的也不準確。
2.2 解決方案1:
使用 jieba.add_word(word)新增詞庫沒有的詞
import jieba
string = '小明白參加雲端計算專案研究'
jieba.add_word("雲端計算")
jieba.add_word("小明白")
aa = jieba.lcut(string)
print(aa)
結果:
['小明白', '參加', '雲端計算', '專案', '研究']
2.2 解決方案2(載入詞典檔案):
jieba.load_userdict(file_name) # file_name 為檔案類物件或自定義詞典的路徑
先建一個XX.txt檔案
import jieba
string = '小明白參加雲端計算專案研究'
jieba.load_userdict('dict.txt')
aa = jieba.lcut(string)
print(aa)
結果:
['小明白', '參加', '雲端計算', '專案', '研究']
3.關鍵詞提取
import jieba.analyse
- jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())
- sentence 為待提取的文字
- topK 為返回幾個 TF/IDF 權重最大的關鍵詞,預設值為 20
- withWeight 為是否一併返回關鍵詞權重值,預設值為 False
- allowPOS 僅包括指定詞性的詞,預設值為空,即不篩選
- jieba.analyse.TFIDF(idf_path=None) 新建 TFIDF 例項,idf_path 為 IDF 頻率檔案
import jieba.analyse
string = '小明白參加雲端計算專案研究'
jieba.add_word("雲端計算")
jieba.add_word("小明白")
new_words = jieba.analyse.extract_tags(string, topK=3)
print(new_words)
結果:
['小明白', '雲端計算', '參加']
相關文章
- 《Python入門與資料科學庫》學習筆記Python資料科學筆記
- python學習筆記(一)——入門Python筆記
- jieba分詞學習筆記(三)Jieba分詞筆記
- TS入門學習筆記筆記
- 【PostgreSQL】入門學習筆記SQL筆記
- git入門學習筆記Git筆記
- Docker入門學習筆記Docker筆記
- Unity學習筆記--入門Unity筆記
- ActionScript 學習筆記(入門)筆記
- JavaScript入門學習學習筆記(上)JavaScript筆記
- Go 入門指南學習筆記Go筆記
- React入門指南(學習筆記)React筆記
- pandas 學習筆記 (入門篇)筆記
- HTML入門學習筆記(二)HTML筆記
- MySQL學習筆記---入門使用MySql筆記
- JavaScript入門-學習筆記(一)JavaScript筆記
- Dubbo學習筆記(一) 入門筆記
- golang入門學習筆記(一)Golang筆記
- Kotlin 入門學習筆記Kotlin筆記
- LDA入門級學習筆記LDA筆記
- Python學習筆記——turtle庫Python筆記
- Elasticsearch入門學習重點筆記Elasticsearch筆記
- 【MongoDB學習筆記】MongoDB 快速入門MongoDB筆記
- java學習筆記1(入門級)Java筆記
- JavaScript學習筆記1—快速入門JavaScript筆記
- 安卓學習筆記20:Fragment入門安卓筆記Fragment
- 爬蟲入門學習筆記3爬蟲筆記
- node 學習筆記 基礎入門筆記
- webpack 學習筆記:入門介紹Web筆記
- 【Laravel 入門教程】學習筆記 1Laravel筆記
- 微信小程式入門學習筆記微信小程式筆記
- 學習筆記|AS入門(六) 碎片Fragment筆記Fragment
- angular學習筆記(一)-入門案例Angular筆記
- redis學習筆記1: Redis入門Redis筆記
- CANopen學習筆記(一)CANopen入門筆記
- python學習筆記:資料庫Python筆記資料庫
- Python入門筆記Python筆記
- Python 入門筆記Python筆記