jieba分詞器學習
如有侵權,一定刪除。
結巴分詞分為三種模式:精確模式(預設)、全模式和搜尋引擎模式。
精確模式:
import jieba
s = '武漢大學是一所還不錯的大學'
result = jieba.cut(s)
print(','.join(result))
輸出:
武漢大學,是,一所,還,不錯,的,大學 Prefix dict has been built succesfully.
精確模式分詞結果返回的是一個生成器。
全模式:
import jieba s = '武漢大學是一所還不錯的大學' cut = jieba.cut(s, cut_all=True) print(','.join(cut))
結果:
武漢,武漢大學,大學,是,一所,還,不錯,的,大學 Prefix dict has been built succesfully.
搜尋引擎模式:
import jieba
s = '武漢大學是一所還不錯的大學'
cut = jieba.cut_for_search(s)
print(','.join(cut))
輸出:
武漢,大學,武漢大學,是,一所,還,不錯,的,大學 Loading model cost 0.877 seconds. Prefix dict has been built succesfully.
獲取詞性
import jieba.posseg as psg s = '武漢大學是一所還不錯的大學' print([(x.word, x.flag) for x in psg.cut(s)]) print([(x.word, x.flag) for x in psg.cut(s) if x.flag.startswith('n')])
輸出:
Loading model cost 1.399 seconds. Prefix dict has been built succesfully. [('武漢大學', 'nt'), ('是', 'v'), ('一所', 'm'), ('還', 'd'), ('不錯', 'a'), ('的', 'uj'), ('大學', 'n')] [('武漢大學', 'nt'), ('大學', 'n')]
獲取出現頻率Ton N的詞:
from collections import Counter import jieba # 開啟並行分詞模式,引數為併發執行的程序數 liangjian_text = open('./liangjian.TXT', 'rb').read() print(len(liangjian_text)) liangjian_words = [x for x in jieba.cut(liangjian_text) if len(x) >= 2] c = Counter(liangjian_words).most_common(20) print(c)
輸出:
720186 Building prefix dict from the default dictionary ... Loading model from cache C:\Users\SEAVAN~1\AppData\Local\Temp\jieba.cache Loading model cost 0.860 seconds. Prefix dict has been built succesfully. [('\r\n', 2926), ('李雲龍', 1801), ('一個', 666), ('什麼', 528), ('自己', 503), ('他們', 466), ('沒有', 444), ('這個', 439), ('我們', 424), ('部隊', 395), ('不是', 375), ('你們', 364), ('這麼', 352), ('趙剛', 339), ('就是', 321), ('田雨', 313), ('起來', 286), ('咱們', 268), ('怎麼', 247), ('現在', 242)]
使用使用者字典提高分詞精確性:
import jieba
txt = u'歐陽建國是創新辦主任也是歡聚時代公司雲端計算方面的專家'
# 不使用使用者字典分詞結果
print(','.join(jieba.cut(txt)))
# 使用使用者字典分詞結果
jieba.load_userdict('user_dict.txt')
print(','.join(jieba.cut(txt)))
輸出:
歐陽,建國,是,創新,辦,主任,也,是,歡聚,時代,公司,雲,計算,方面,的,專家 Prefix dict has been built succesfully. 歐陽建國,是,創新辦,主任,也,是,歡聚時代,公司,雲端計算,方面,的,專家
注1:其中user_dict.txt的內容如下:
歐陽建國 5
創新辦 5 i
歡聚時代 5
雲端計算 5
注2:
需要將user_dict.txt設定為utf-8編碼,再輸入字典文字。
使用者字典每行一個詞,格式為:
詞語 詞頻 詞性
其中詞頻是一個數字,詞性為自定義的詞性,要注意的是詞頻數字和空格都要是半形的。