法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 | 例:且 丗 丟 |
新聞熱點
疑難解答