標籤:最大的 default 分享圖片 bash 問號 狀態 解決 特點 int
安裝 jieba
pip3 install jieba
jieba 支援三種分詞模式:
精確模式:將句子最精確地切開,適合文本分析
全模式:把句子中所有的可以成詞的詞語都掃描出來, 速度非常快,但是不能解決歧義
搜尋引擎模式:在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜尋引擎分詞
jieba.cut 方法有三個參數,第一個參數為需要分詞的字串,第二個 cut_all 參數用來控制是否採用全模式,第三個 HMM 參數用來控制是否使用 HMM 模型
# -*- coding:utf-8 -*-__author__ = "MuT6 Sch01aR"import jiebaword_list = jieba.cut("福建的地理特點是依山傍海,九成陸地面積為山地丘陵地帶,被稱為八山一水一分田")print("Default Mode: " + "/ ".join(word_list))# cut_all=False 為精簡模式,是預設的選項word_list_1 = jieba.cut("福建的地理特點是依山傍海,九成陸地面積為山地丘陵地帶,被稱為八山一水一分田", cut_all=True)print("Full Mode: " + "/" .join(word_list_1))# cut_all=True 為全模式
運行結果
jieba.cut_for_search 方法有兩個參數,第一個參數為需要分詞的字串,第二個 HMM 參數用來控制是否使用 HMM 模型
該方法適合用於搜尋引擎構建倒排索引的分詞
# -*- coding:utf-8 -*-__author__ = "MuT6 Sch01aR"import jiebaword_list_2 = jieba.cut_for_search("福建的地理特點是依山傍海,九成陸地面積為山地丘陵地帶,被稱為八山一水一分田")print("Search Mode: " + "/".join(word_list_2))
運行結果
jieba.cut 和 jieba.cut_for_search 返回的類型都是一個可迭代的產生器
jieba.lcut 和 jieba.lcut_for_search 返回清單類型
關鍵字提取
基於 TF-IDF
jieba.analyse.extract_tags 方法有三個參數,第一個參數為字串,第二個參數 topK 為返回幾個 TF/IDF 權重最大的關鍵詞,預設值為 20,第三個參數 withWeight 為是否一併返回關鍵詞權重值,預設值為 False,第四個參數 allowPOS 僅包括指定詞性的詞,預設值為空白,即不篩選
# -*- coding:utf-8 -*-__author__ = "MuT6 Sch01aR"import jieba.analysestring = "福建的地理特點是依山傍海,九成陸地面積為山地丘陵地帶,被稱為八山一水一分田"a = jieba.analyse.extract_tags(string, topK=20, withWeight=False, allowPOS=0)print(a)
運行結果
基於 TextRank
jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=(‘ns‘, ‘n‘, ‘vn‘, ‘v‘))
# -*- coding:utf-8 -*-__author__ = "MuT6 Sch01aR"import jieba.analysestring = "福建的地理特點是依山傍海,九成陸地面積為山地丘陵地帶,被稱為八山一水一分田"a = jieba.analyse.textrank(string, topK=20, withWeight=False, allowPOS=(‘ns‘, ‘n‘, ‘vn‘, ‘v‘))print(a)
運行結果
詞性標註
# -*- coding:utf-8 -*-__author__ = "MuT6 Sch01aR"import jieba.possegstrings = jieba.posseg.cut("福建的地理特點是依山傍海,九成陸地面積為山地丘陵地帶,被稱為八山一水一分田")for word, flag in strings: print("%s %s" %(word, flag))
運行結果
詞性列表
n 名詞nr 人名nr1 漢語姓氏nr2 漢語名字nrj 日語人名nrf 音譯人名ns 地名nsf 音譯地名nt 機構團體名nz 其它專名nl 名詞性慣用語ng 名詞性語素t 時間詞tg 時間詞性語素s 處所詞 (家中、門外、境內、西方……)f 方位詞v 動詞vd 副動詞vn 名動詞vshi 動詞“是”vyou 動詞“有”vf 趨向動詞vx 形式動詞vi 不及物動詞(內動詞)vl 動詞性慣用語vg 動詞性語素a 形容詞ad 副形詞an 名形詞ag 形容詞性語素al 形容詞性慣用語b 區別詞 (主要、整個、所有……)bl 區別詞性慣用語z 狀態詞r 代詞rr 人稱代詞rz 指示代詞rzt 時間指示代詞rzs 處所指示代詞rzv 謂詞性指示代詞ry 疑問代詞ryt 時間疑問代詞rys 處所疑問代詞ryv 謂詞性疑問代詞rg 代詞性語素m 數詞mq 數量詞q 量詞qv 動量詞qt 時量詞d 副詞p 介詞pba 介詞“把”pbei 介詞“被”c 連詞cc 並列連詞u 助詞uzhe 著ule 了 嘍uguo 過ude1 的 底ude2 地ude3 得usuo 所udeng 等 等等 云云uyy 一樣 一般 似的 般udh 的話uls 來講 來說 而言 說來uzhi 之ulian 連 (“連小學生都會”)e 歎詞y 語氣詞(delete yg)o 擬聲詞h 首碼k 尾碼x 字串xx 非語素字xu 網址URLw 標點符號wkz 左括弧,全形:( 〔 [ { 《 【 〖 〈 半形:( [ { <wky 右括弧,全形:) 〕 ] } 》 】 〗 〉 半形: ) ] { >wyz 左引號,全形:“ ‘ 『wyy 右引號,全形:” ’ 』wj 句號,全形:。ww 問號,全形:? 半形:?wt 歎號,全形:! 半形:!wd 逗號,全形:, 半形:,wf 分號,全形:; 半形: ;wn 頓號,全形:、wm 冒號,全形:: 半形: :ws 省略符號,全形:…… …wp 破折號,全形:—— -- ——- 半形:--- ----wb 百分比符號千分號,全形:% ‰ 半形:%wh 單位符號,全形:¥ $ £ ° ℃ 半形:$
載入詞典
jieba.load_userdict(file_name), file_name 為檔案類對象或自訂字典的路徑
file_name 若為路徑或二進位方式開啟的檔案,則檔案必須為 UTF-8 編碼
一個詞佔一行,每一行分三部分:詞語、詞頻(可省略)、詞性(可省略),用空格隔開,順序不可顛倒
例子:
創新辦 3 i雲端運算 5凱特琳 nz台中
Python 模組 - jieba