Python第三方庫jieba(中文分詞)
一、概述
jieba是優秀的中文分詞第三方庫
- 中文文本需要通過分詞獲得單個的詞語
- jieba是優秀的中文分詞第三方庫,需要額外安裝
- jieba庫提供三種分詞模式,最簡單只需掌握一個函數
二、安裝說明
全自動安裝:(cmd命令行) pip install jieba
安裝成功顯示
三、特點 —— jieba分詞
1. 原理:jieba分詞依靠中文詞庫
- 利用一個中文詞庫,確定中文字符之間的關聯概率
- 中文字符間概率大的組成詞組,形成分詞結果
- 除了分詞,用戶還可以添加自定義的詞組
2. 三種分詞模式:
- 精確模式:試圖將句子最精確地切開,不存在冗余單詞,適合文本分析;
- 全模式:把句子中所有的可以成詞的詞語都掃描出來, 速度非常快,有冗余,不能解決歧義;
- 搜索引擎模式:在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜索引擎分詞。
四、jieba庫常用函數
1. jieba.lcut(s) #精確模式,返回一個列表類型的分詞結果
代碼示例
jieba.lcut("中國是一個偉大的國家")
結果輸出: ['中國', '是', '一個', '偉大', '的', '國家']
2. jieba.lcut(s, cut_all=True) #全模式,返回一個列表類型的分詞結果,存在冗余
代碼示例
jieba.lcut("中國是一個偉大的國家",cut_all=True)
結果輸出: ['中國', '國是', '一個', '偉大', '的', '國家']
3. jieba.lcut_for_sear ch(s) #搜索引擎模式,返回一個列表類型的分詞結果,存在冗余
代碼示例
jieba.lcut_for_search(“中華人民共和國是偉大的")
結果輸出: ['中華', '華人', '人民', '共和', '共和國', '中華人民共 和國', '是', '偉大', '的']
4. jieba.add_word(w) #向分詞詞典增加新詞w
代碼示例
jieba.add_word("蟒蛇語言")
運用jieba庫進行詞頻統計
實例 —— 對西游記第一回進行詞頻統計
代碼
import jieba path_txt = 'C:\\Users\86136\Desktop\西游記.txt' #文檔在電腦上所在位置 txt = open(path_txt,"r").read() excludes = {",",":","“","。","”","、",";"," ","!","?"," ","\n"} words = jieba.lcut(txt) counts = {} for word in words: counts[word] = counts.get(word,0)+1 for word in excludes: del counts[word] items = list(counts.items()) items.sort(key=lambda x:x[1],reverse = True) for i in range(15): word, count = items[i] print("{0:<10}{1:>5}".format(word,count))
結果