由於我安裝的是 Python3 ,所以我是通過 pip3 來安裝 jieba 分詞模塊:
1 pip3 install jieba

執行完上面的一步之后,我們就已經成功安裝了 jieba 分詞模塊了,以下我們來進行一個簡單的測試,看看我們是否安裝成功:
1 # -*- coding: utf-8 -*- 2 3 # 引入結巴分詞模塊 4 import jieba 5 6 # 定義字符串 7 s = u'杭州今天天氣如何?' 8 9 # 調用 jieba 分詞的 cut 分詞方法 10 cut = jieba.cut(s) 11 12 # 輸出結果 13 print('【Output】') 14 print(cut) 15 print(','.join(cut))
下面我們來看看結果:

由上圖可以得出,cut 的結果返回的是一個生成器,最后的分詞結果是: 杭州,今天天氣,如何,?
到了這一步,就能證明我們的結巴分詞模塊已經安裝成功了。
結巴分詞的三種模式
接下來我們需要看看結巴分詞的使用,首先介紹結巴分詞的三種模式:精確模式、全模式、搜索引擎模式,以下我們舉例介紹:
1 # -*- coding: utf-8 -*- 2 3 # 引入結巴分詞模塊 4 import jieba 5 6 # 定義字符串 7 s = u'我想元旦開車載我女朋友去杭州西湖參觀和游玩。路線該怎么走?' 8 9 # 精確模式 10 print('精確模式:') 11 print('|'.join(jieba.cut(s))) 12 print('\n') 13 14 # 全模式 15 print('全模式:') 16 print('|'.join(jieba.cut(s,cut_all = True))) 17 print('\n') 18 19 # 搜索引擎模式 20 print('搜索引擎模式:') 21 print('|'.join(jieba.cut_for_search(s)))

由上可見,全模式得到的分詞比較多,也比較完全。
結巴分詞詞性
我們知道,每個詞語都有其詞性,比如:動詞、形容詞、名詞等等,使用結巴分詞的 posseg 這個模塊,就可以得到每個詞的詞性,例如:
1 # -*- coding: utf-8 -*- 2 3 # 引入結巴分詞詞性模塊 4 import jieba.posseg as psg 5 6 # 定義字符串 7 s = u'我想元旦開車載我女朋友去杭州西湖參觀和游玩。路線該怎么走?' 8 9 # 獲取詞性 10 print('分詞結果:') 11 print([(x.word,x.flag) for x in psg.cut(s)])

由上圖我們可以成功的得到每個詞的詞性,這對於我們對分詞結果做進一步處理很有幫助,同時,我們還能只獲取分詞結果列表中的某一類詞性,如:獲取分詞結果列表中的名詞,那么我們可以這樣過濾:
1 # -*- coding: utf-8 -*- 2 3 # 引入結巴分詞詞性模塊 4 import jieba.posseg as psg 5 6 # 定義字符串 7 s = u'我想元旦開車載我女朋友去杭州西湖參觀和游玩。路線該怎么走?' 8 9 # 獲取詞性是名詞的結果 10 print('獲取詞性是名詞的詞語:') 11 print([(x.word,x.flag) for x in psg.cut(s) if x.flag.startswith('n')])

以上得到的,就是我們這句話中可能是名詞的詞語的結果集了。如果要知道每個字母代表什么詞性的話,下面我們將來介紹(按詞性英文首字母排序):
1、形容詞(1個一類,4個二類)
a 形容詞
ad 副形詞
an 名形詞
ag 形容詞性語素
al 形容詞性慣用語
2、區別詞(1個一類,2個二類)
b 區別詞
bl 區別詞性慣用語
3、連詞(1個一類,1個二類)
c 連詞
cc 並列連詞
4、副詞(1個一類)
d 副詞
5、嘆詞(1個一類)
e 嘆詞
6、方位詞(1個一類)
f 方位詞
7、前綴(1個一類)
h 前綴
8、后綴(1個一類)
k 后綴
9、數詞(1個一類,1個二類)
m 數詞
mq 數量詞
10、名詞 (1個一類,7個二類,5個三類)
名詞分為以下子類:
n 名詞
nr 人名
nr1 漢語姓氏
nr2 漢語名字
nrj 日語人名
nrf 音譯人名
ns 地名
nsf 音譯地名
nt 機構團體名
nz 其它專名
nl 名詞性慣用語
ng 名詞性語素
11、擬聲詞(1個一類)
o 擬聲詞
12、介詞(1個一類,2個二類)
p 介詞
pba 介詞“把”
pbei 介詞“被”
13、量詞(1個一類,2個二類)
q 量詞
qv 動量詞
qt 時量詞
14、代詞(1個一類,4個二類,6個三類)
r 代詞
rr 人稱代詞
rz 指示代詞
rzt 時間指示代詞
rzs 處所指示代詞
rzv 謂詞性指示代詞
ry 疑問代詞
ryt 時間疑問代詞
rys 處所疑問代詞
ryv 謂詞性疑問代詞
rg 代詞性語素
15、處所詞(1個一類)
s 處所詞
16、時間詞(1個一類,1個二類)
t 時間詞
tg 時間詞性語素
17、助詞(1個一類,15個二類)
u 助詞
uzhe 着
ule 了 嘍
uguo 過
ude1 的 底
ude2 地
ude3 得
usuo 所
udeng 等 等等 雲雲
uyy 一樣 一般 似的 般
udh 的話
uls 來講 來說 而言 說來
uzhi 之
ulian 連 (“連小學生都會”)
18、動詞(1個一類,9個二類)
v 動詞
vd 副動詞
vn 名動詞
vshi 動詞“是”
vyou 動詞“有”
vf 趨向動詞
vx 形式動詞
vi 不及物動詞(內動詞)
vl 動詞性慣用語
vg 動詞性語素
19、標點符號(1個一類,16個二類)
w 標點符號
wkz 左括號,全角:( 〔 [ { 《 【 〖 〈 半角:( [ { <
wky 右括號,全角:) 〕 ] } 》 】 〗 〉 半角: ) ] { >
wyz 左引號,全角:“ ‘ 『
wyy 右引號,全角:” ’ 』
wj 句號,全角:。
ww 問號,全角:? 半角:?
wt 嘆號,全角:! 半角:!
wd 逗號,全角:, 半角:,
wf 分號,全角:; 半角: ;
wn 頓號,全角:、
wm 冒號,全角:: 半角: :
ws 省略號,全角:…… …
wp 破折號,全角:—— -- ——- 半角:--- ----
wb 百分號千分號,全角:% ‰ 半角:%
wh 單位符號,全角:¥ $ £ ° ℃ 半角:$
20、字符串(1個一類,2個二類)
x 字符串
xx 非語素字
xu 網址URL
21、語氣詞(1個一類)
y 語氣詞(delete yg)
22、狀態詞(1個一類)
z 狀態詞
