法1:Anaconda Prompt下輸入conda install jieba
法2:Terminal下輸入pip3 install jieba
1.1、CUT函數簡介
cut(sentence, cut_all=False, HMM=True)
返回生成器,遍歷生成器即可獲得分詞的結果
lcut(sentence)
返回分詞列表
import jiebasentence = '我愛自然語言處理'# 創建【Tokenizer.cut 生成器】對象generator = jieba.cut(sentence)# 遍歷生成器,打印分詞結果words = '/'.join(generator)print(words)
打印結果
我/愛/自然語言/處理
import jiebaprint(jieba.lcut('我愛南海中學'))打印結果
[‘我', ‘愛', ‘南海中學']
1.2、分詞模式
精確模式:精確地切開
全模式:所有可能的詞語都切出,速度快
搜索引擎模式:在精確模式的基礎上,對長詞再次切分
import jiebasentence = '訂單數據分析'print('精準模式:', jieba.lcut(sentence))print('全模式:', jieba.lcut(sentence, cut_all=True))print('搜索引擎模式:', jieba.lcut_for_search(sentence))打印結果
精準模式: [‘訂單', ‘數據分析']
全模式: [‘訂單', ‘訂單數', ‘單數', ‘數據', ‘數據分析', ‘分析']
搜索引擎模式: [‘訂單', ‘數據', ‘分析', ‘數據分析']
1.3、詞性標注
jieba.possegimport jieba.posseg as jpsentence = '我愛Python數據分析'posseg = jp.cut(sentence)for i in posseg: print(i.__dict__) # print(i.word, i.flag)
打印結果
{‘word': ‘我', ‘flag': ‘r'}{‘word': ‘愛', ‘flag': ‘v'}{‘word': ‘Python', ‘flag': ‘eng'}{‘word': ‘數據分析', ‘flag': ‘l'}詞性標注表
| 標注 | 解釋 | 標注 | 解釋 | 標注 | 解釋 |
|---|---|---|---|---|---|
| a | 形容詞 | mq | 數量詞 | tg | 時語素 |
| ad | 副形詞 | n | 名詞 | u | 助詞 |
| ag | 形語素 | ng | 例:義 乳 亭 | ud | 例:得 |
| an | 名形詞 | nr | 人名 | ug | 例:過 |
| b | 區別詞 | nrfg | 也是人名 | uj | 例:的 |
| c | 連詞 | nrt | 也是人名 | ul | 例:了 |
| d | 副詞 | ns | 地名 | uv | 例:地 |
| df | 例:不要 | nt | 機構團體 | uz | 例:著 |
| dg | 副語素 | nz | 其他專名 | v | 動詞 |
| e | 嘆詞 | o | 擬聲詞 | vd | 副動詞 |
| f | 方位詞 | p | 介詞 | vg | 動語素 |
| g | 語素 | q | 量詞 | vi | 例:沉溺于 等同于 |
| h | 前接成分 | r | 代詞 | vn | 名動詞 |
| i | 成語 | rg | 例:茲 | vq | 例:去浄 去過 唸過 |
| j | 簡稱略語 | rr | 人稱代詞 | x | 非語素字 |
| k | 后接成分 | rz | 例:這位 | y | 語氣詞 |
| l | 習用語 | s | 處所詞 | z | 狀態詞 |
| m | 數詞 | t | 時間詞 | zg | 例:且 丗 丟 |
新聞熱點
疑難解答