函數 | 描述 |
---|---|
jieba.cut(s) | 精確模式,返回一個可迭代的數據類型 |
jieba.cut(s, cut_all = Ture) | 全模式,輸出文本s中所有可能的單詞 |
jieba.cut_for_search(s) | 搜索引擎模式,適合搜索引擎建立索引的分詞結果 |
jieba.lcut(s) | 精確模型,返回一個列表模型,建議使用 |
jieba.lcut(s, cut_all=Ture) | 全模型,返回一個列表模型,建議使用 |
jieba.lcut_for_search(s) | 搜索引擎模型,返回一個列表類型,建議使用 |
jieba.add_word(w) | 向分詞詞典中添加新詞w |
分詞返回值類型:
- cut 和 cut_for_search 返回值類型都是一個迭代器(可迭代對象, 使用for可以依次遍歷出來)
- lcut 和 lcut_for_search 返回值類型都是一個列表
參數問題:
-
jieba.cut 和 jieba.lcut接受 3 個參數:
-
- 需要分詞的字符串(unicode 或 UTF-8 字符串、GBK 字符串)
- cut_all 參數:是否使用全模式,默認值為 False
- HMM 參數:用來控制是否使用 HMM 模型,默認值為 True
-
jieba.cut_for_search和jieba.lcut_for_search 接受 2 個參數:
-
- 需要分詞的字符串(unicode 或 UTF-8 字符串、GBK 字符串)
- HMM 參數:用來控制是否使用 HMM 模型,默認值為 True
模式問題:
-
全模式和精確模式:
# 全模式 seg_list = jieba.cut("他來自河北地質大學", cut_all=True) print("【全模式】:" + "/ ".join(seg_list)) # 【全模式】:他/ 來自/ 河北/ 北地/ 地質/ 大學 # 精確模式 seg_list = jieba.cut("他來自河北地質大學", cut_all=False) print("【精確模式】:" + "/ ".join(seg_list)) #【精確模式】:他/ 來自/ 河北/ 地質/ 大學
由上面可得:
- 全模式是吧該文檔中所有可能組成的詞語划分出來
- 精確模式就是單純的對句子進行划分
-
搜索引擎模式:
# 搜索引擎模式 seg_list = jieba.cut_for_search("我朋友現就讀於河北地質大學軟件工程專業,現在正在自己搞機器學習,他說有點難") print("【搜索引擎模式】:" + "|".join(seg_list)) #【搜索引擎模式】:我|朋友|就讀|現就讀|於|河北|地質|大學|軟件|工程|軟件工程|專業|,|現在|正在|自己|搞|機器|學習|,|他|說|有點|難 # 搜索引擎模式 seg_list = jieba.lcut_for_search("我朋友現就讀於河北地質大學軟件工程專業,現在正在自己搞機器學習,他說有點難") print(f"【搜索引擎模式】:{seg_list}") # 【搜索引擎模式】:['我', '朋友', '就讀', '現就讀', '於', '河北', '地質', '大學', '軟件', '工程', '軟件工程', '專業', ',', '現在', '正在', '自己', '搞', '機器', '學習', ',', '他', '說', '有點', '難']
搜索引擎模式由上面可得,就是先把分詞寫在前面,然后把組合后的詞語放在后面,
-
HMM 模式
# 未啟用 HMM seg_list = jieba.cut("這是奧運史上獨特的一次奧運會", HMM=False) #默認精確模式和啟用 HMM print("【未啟用 HMM】:" + "/ ".join(seg_list)) #【未啟用 HMM】:這/ 是/ 奧運/ 史/ 上/ 獨特/ 的/ 一次/ 奧運會 # 啟用 HMM seg_list = jieba.cut("這是奧運史上獨特的一次奧運會") #默認精確模式和啟用 HMM print("【啟用 HMM】:" + "/ ".join(seg_list)) #【啟用 HMM】:這是/ 奧運/ 史上/ 獨特/ 的/ 一次/ 奧運會
HMM模式可以將一些有關聯的詞語分成一個
詞性編碼 | 詞性名稱 | 注 解 |
---|---|---|
Ag | 形語素 | 形容詞性語素。形容詞代碼為 a,語素代碼g前面置以A。 |
a | 形容詞 | 取英語形容詞 adjective的第1個字母。 |
ad | 副形詞 | 直接作狀語的形容詞。形容詞代碼 a和副詞代碼d並在一起。 |
an | 名形詞 | 具有名詞功能的形容詞。形容詞代碼 a和名詞代碼n並在一起。 |
b | 區別詞 | 取漢字“別”的聲母。 |
c | 連詞 | 取英語連詞 conjunction的第1個字母。 |
dg | 副語素 | 副詞性語素。副詞代碼為 d,語素代碼g前面置以D。 |
d | 副詞 | 取 adverb的第2個字母,因其第1個字母已用於形容詞。 |
e | 嘆詞 | 取英語嘆詞 exclamation的第1個字母。 |
f | 方位詞 | 取漢字“方” |
g | 語素 | 絕大多數語素都能作為合成詞的“詞根”,取漢字“根”的聲母。 |
h | 前接成分 | 取英語 head的第1個字母。 |
i | 成語 | 取英語成語 idiom的第1個字母。 |
j | 簡稱略語 | 取漢字“簡”的聲母。 |
k | 后接成分 | |
l | 習用語 | 習用語尚未成為成語,有點“臨時性”,取“臨”的聲母。 |
m | 數詞 | 取英語 numeral的第3個字母,n,u已有他用。 |
Ng | 名語素 | 名詞性語素。名詞代碼為 n,語素代碼g前面置以N。 |
n | 名詞 | 取英語名詞 noun的第1個字母。 |
nr | 人名 | 名詞代碼 n和“人(ren)”的聲母並在一起。 |
ns | 地名 | 名詞代碼 n和處所詞代碼s並在一起 |
nt | 機構團體 | “團”的聲母為 t,名詞代碼n和t並在一起。 |
nz | 其他專名 | “專”的聲母的第 1個字母為z,名詞代碼n和z並在一起。 |
o | 擬聲詞 | 取英語擬聲詞 onomatopoeia的第1個字母 |
p | 介詞 | 取英語介詞 prepositional的第1個字母。 |
q | 量詞 | 取英語 quantity的第1個字母。 |
r | 代詞 | 取英語代詞 pronoun的第2個字母,因p已用於介詞。 |
s | 處所詞 | 取英語 space的第1個字母。 |
tg | 時語素 | 時間詞性語素。時間詞代碼為 t,在語素的代碼g前面置以T。 |
t | 時間詞 | 取英語 time的第1個字母。 |
u | 助詞 | 取英語助詞 auxiliary |
vg | 動語素 | 動詞性語素。動詞代碼為 v。在語素的代碼g前面置以V。 |
v | 動詞 | 取英語動詞 verb的第一個字母。 |
vd | 副動詞 | 直接作狀語的動詞。動詞和副詞的代碼並在一起。 |
vn | 名動詞 | 指具有名詞功能的動詞。動詞和名詞的代碼並在一起。 |
w | 標點符號 | |
x | 非語素字 | 非語素字只是一個符號,字母 x通常用於代表未知數、符號。 |
y | 語氣詞 | 取漢字“語”的聲母。 |
z | 狀態詞 | 取漢字“狀”的聲母的前一個字母。 |
un | 未知詞 | 不可識別詞及用戶自定義詞組。取英文Unkonwn首兩個字母。(非北大標准,CSW分詞中定義) |