Python 分詞工具 jieba

目錄

1.jieba下載安裝

2.算法實現(xiàn)

3.分詞功能


1.jieba下載安裝

??? Jieba是一個中文分詞組件,可用于中文句子/詞性分割卤橄、詞性標(biāo)注绿满、未登錄詞識別,支持用戶詞典等功能窟扑。該組件的分詞精度達到了97%以上喇颁。

1)下載Jieba

官網(wǎng)地址:pypi.python.org/pypi/jieba/

2)安裝

打開命令提示符,輸入python setup.py install 進行安裝

安裝結(jié)果

2.算法實現(xiàn)

1)基于Trie樹結(jié)構(gòu)實現(xiàn)高效的詞圖掃描嚎货,生成句子中漢字所有可能成詞情況所構(gòu)成的有向無環(huán)圖(DAG)橘霎;

2)采用了動態(tài)規(guī)劃查找最大概率路徑, 找出基于詞頻的最大切分組合;

3)對于未登錄詞殖属,采用了基于漢字成詞能力的HMM模型姐叁,使用了Viterbi算法。

3.分詞功能

1)分詞

jieba.cut方法接受兩個輸入?yún)?shù): 1) 第一個參數(shù)為需要分詞的字符串 2)cut_all參數(shù)用來控制是否采用全模式洗显;jieba.cut_for_search 方法接受兩個參數(shù):需要分詞的字符串;是否使用 HMM 模型挠唆。該方法適合用于搜索引擎構(gòu)建倒排索引的分詞,粒度比較細玄组。

待分詞的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串俄讹。注意:不建議直接輸入 GBK 字符串哆致,可能無法預(yù)料地錯誤解碼成 UTF-8。

jieba.cut以及jieba.cut_for_search返回的結(jié)構(gòu)都是一個可迭代的generator沽瞭,可以使用for循環(huán)來獲得分詞后得到的每一個詞語(unicode),也可以用list(jieba.cut(...))轉(zhuǎn)化為list

代碼示例:

#encoding=utf-8
import jieba

seg_list = jieba.cut("范煒是川大信管專業(yè)的老師",cut_all=True)
print"Full Mode:","/ ".join(seg_list)#全模式

seg_list = jieba.cut("范煒是川大信管專業(yè)的老師",cut_all=False)
print"Default Mode:","/ ".join(seg_list)#精確模式

seg_list = jieba.cut("范煒是川大信管專業(yè)的老師")#默認是精確模式
print", ".join(seg_list)

seg_list = jieba.cut_for_search("范煒是川大信管專業(yè)的老師")#搜索引擎模式
print", ".join(seg_list)

結(jié)果顯示:

2)自定義詞典

用法: jieba.load_userdict(file_name) # file_name 為自定義詞典的路徑驹溃。

詞典格式和dict.txt一樣,一個詞占一行延曙;每一行分三部分豌鹤,一部分為詞語,另一部分為詞頻(可省略)布疙,最后為詞性(可省略),用空格隔開灵临。

詞頻可省略,使用計算出的能保證分出該詞的詞頻儒溉。

更改分詞器的 tmp_dir 和 cache_file 屬性,可指定緩存文件位置波闹,用于受限的文件系統(tǒng)。

自定義詞典示例:

范煒 5 nr
川大 5 j
信管 5 j

代碼示例:

#encoding=utf-8
import sys
sys.path.append("C:\Python27\Lib\site-packages\jieba")
import jieba
jieba.load_userdict("D:/jieba/jieba/userdict.txt")
seg_list= jieba.cut("范煒是川大信管專業(yè)的老師")
print("Revise: "+"/".join(seg_list))

結(jié)果顯示:

3)調(diào)整詞典

使用 add_word(word, freq=None, tag=None) 和 del_word(word) 可在程序中動態(tài)修改詞典精堕。

使用 suggest_freq(segment, tune=True) 可調(diào)節(jié)單個詞語的詞頻蒲障,使其能(或不能)被分出來。

代碼示例:

#encoding=utf-8
import sys
sys.path.append("C:\Python27\Lib\site-packages\jieba")
import jieba
jieba.load_userdict("D:/jieba/jieba/userdict.txt")
jieba.add_word("江大橋",freq=20000,tag=None)
print"/".join(jieba.cut("江州市長江大橋參加了長江大橋的通車儀式滋捶。"))

結(jié)果顯示:

4)關(guān)鍵詞提扔嗬琛(基于 TextRank 算法的關(guān)鍵詞提取)

基本思想:

將待抽取關(guān)鍵詞的文本進行分詞巡扇;

以固定窗口大小(默認為5垮衷,通過span屬性調(diào)整)厅翔,詞之間的共現(xiàn)關(guān)系搀突,構(gòu)建圖;

計算圖中節(jié)點的PageRank仰迁,注意是無向帶權(quán)圖甸昏。

jieba.analyse.textrank(sentence, topK = 20, withWeight = False, allowPOS = ('ns', 'n', 'v', 'nv')) 注意默認過濾詞性徐许。

jieba.analyse.TextRank() 新建自定義TextRank實例。

代碼示例:

#encoding=utf-8
import sys
sys.path.append('C:\Python27\Lib\site-packages\jieba')

import jieba
import jieba.analyse
from optparse import OptionParser

s="此外雌隅,公司擬對全資子公司吉林歐亞置業(yè)有限公司增資4.3億元缸沃,增資后修械,吉林歐亞置業(yè)注冊資本由7000萬元增加到5億元。吉林歐亞置業(yè)主要經(jīng)營范圍為房地產(chǎn)開發(fā)及百貨零售等業(yè)務(wù)翘单。目前在建吉林歐亞城市商業(yè)綜合體項目仇箱。2013年,實現(xiàn)營業(yè)收入0萬元剂桥,實現(xiàn)凈利潤-139.13萬元属提。"
for x, w in jieba.analyse.textrank(s,topK=5,withWeight=True):
? ? print("%s %s"% (x, w))

結(jié)果顯示:

5)詞性標(biāo)注

jieba.posseg.POSTokenizer(tokenizer=None) 新建自定義分詞器,tokenizer 參數(shù)可指定內(nèi)部使用的 jieba.Tokenizer 分詞器斟薇。jieba.posseg.dt 為默認詞性標(biāo)注分詞器恕酸。

標(biāo)注句子分詞后每個詞的詞性,采用和 ictclas 兼容的標(biāo)記法蕊温。

代碼示例:

#encoding=utf-8
import jieba.posseg as pseg
words = pseg.cut("我愛北京天安門。")
for w in words:
print("%s %s"%(w.word, w.flag))

結(jié)果顯示:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市凉翻,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌制轰,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件残炮,死亡現(xiàn)場離奇詭異缩滨,居然都是意外死亡泉瞻,警方通過查閱死者的電腦和手機苞冯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門舅锄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鞭达,“玉大人皇忿,你說我怎么就攤上這事∵督螅” “怎么了幔荒?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長右犹。 經(jīng)常有香客問我,道長念链,這世上最難降的妖魔是什么积糯? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮梆暮,結(jié)果婚禮上绍昂,老公的妹妹穿的比我還像新娘啦粹。我一直安慰自己窘游,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布贪嫂。 她就那樣靜靜地躺著艾蓝,像睡著了一般斗塘。 火紅的嫁衣襯著肌膚如雪亮靴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天贞岭,我揣著相機與錄音搓侄,去河邊找鬼。 笑死讶踪,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的俊柔。 我是一名探鬼主播活合,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼白指,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了告嘲?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤赋焕,失蹤者是張志新(化名)和其女友劉穎仰楚,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體僧界,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年咬腕,在試婚紗的時候發(fā)現(xiàn)自己被綠了葬荷。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纽帖。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡抛计,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吹截,到底是詐尸還是另有隱情凝危,我是刑警寧澤波俄,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布懦铺,位于F島的核電站支鸡,受9級特大地震影響冬念,放射性物質(zhì)發(fā)生泄漏牧挣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一裆针、第九天 我趴在偏房一處隱蔽的房頂上張望寺晌。 院中可真熱鬧,春花似錦呻征、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至阵子,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背誊册。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工暖璧, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人澎办。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓局蚀,卻偏偏與公主長得像麦锯,于是被迫代替她去往敵國和親琅绅。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 關(guān)鍵詞:windows平臺下jieba安裝料祠、三種模式比較澎羞、自定義詞典、停用詞語料煤痕、詞頻統(tǒng)計接谨、詞云生成 jieba簡...
    秋燈鎖憶閱讀 4,400評論 0 2
  • 注:參考文檔 一、在線詞云圖工具# (1)巷帝、使用### 在正式使用jieba分詞之前扫夜,首先嘗試用在線分詞工具來將自...
    DearIreneLi閱讀 6,004評論 1 8
  • 1.安裝及入門介紹 推薦直接 pip install jieba 結(jié)巴中文分詞涉及到的算法包括: (1)基于Tri...
    MiracleJQ閱讀 13,233評論 0 5
  • 常用概念: 自然語言處理(NLP) 數(shù)據(jù)挖掘 推薦算法 用戶畫像 知識圖譜 信息檢索 文本分類 常用技術(shù): 詞級別...
    御風(fēng)之星閱讀 9,154評論 1 25
  • 感恩芊羽帶領(lǐng)我們練習(xí)尼姑瑪瑜伽笤闯,感謝她的付出!感恩一起練習(xí)的小伙伴們颗味!關(guān)注身體健康,愿全人類都有健康的身體浦马! 感恩...
    椿芽兒香閱讀 301評論 0 1