1.常用的分詞工具包
perminusminus
Stanford 漢語(yǔ)分詞工具
哈工大語(yǔ)言云
ICTCLAS——
Ansj
庖丁解牛分詞
盤古分詞
IKAnalyzer
imdict-chinese-analyzer
mmseg4j
FudanNLP(復(fù)旦大學(xué))
Jcseg
SCWS
Friso
HTTPCWS
libmmseg
OpenCLAS
CRF++
百度分詞工具
2.NLPIR漢語(yǔ)分詞系統(tǒng) VS jieba
2.1NLPIR漢語(yǔ)分詞系統(tǒng)
2.1.1簡(jiǎn)介
NLPIR漢語(yǔ)分詞系統(tǒng)(又名ICTCLAS2013),主要功能包括中文分詞;詞性標(biāo)注;命名實(shí)體識(shí)別;用戶詞典功能;支持GBK編碼、UTF8編碼、BIG5編碼。新增微博分詞、新詞發(fā)現(xiàn)與關(guān)鍵詞提取;張華平博士先后傾力打造十余年,內(nèi)核升級(jí)10次。
全球用戶突破20萬(wàn),先后獲得了2010年錢偉長(zhǎng)中文信息處理科學(xué)技術(shù)獎(jiǎng)一等獎(jiǎng),2003年國(guó)際SIGHAN分詞大賽綜合第一名,2002年國(guó)內(nèi)973評(píng)測(cè)綜合第一名。
2.1.2在線分詞
本人用的是NLPIR漢語(yǔ)分詞系統(tǒng)在線分詞,感覺其功能十分豐富,分詞也較為準(zhǔn)確。
黨建經(jīng)驗(yàn)齊分享 交流總結(jié)共進(jìn)步 ——浙江大學(xué)公共管理學(xué)院來我院開展黨建工作學(xué)習(xí)交流
分詞標(biāo)注.png
關(guān)鍵字抽取.png
該系統(tǒng)還可以填寫網(wǎng)址,直接提取網(wǎng)址內(nèi)容(以四川大學(xué)公共管理學(xué)院為例)
詞頻統(tǒng)計(jì).png


該分詞系統(tǒng)十分方便、簡(jiǎn)明,功能也十分齊全,即使是從來沒有接觸過的初學(xué)者也可以操作。
2.2 Jieba
- jieba.cut 方法接受三個(gè)輸入?yún)?shù): 需要分詞的字符串;cut_all 參數(shù)用來控制是否采用全模式;HMM 參數(shù)用來控制是否使用 HMM 模型
- jieba.cut_for_search 方法接受兩個(gè)參數(shù):需要分詞的字符串;是否使用 HMM 模型。該方法適合用于搜索引擎構(gòu)建倒排索引的分詞,粒度比較細(xì)
- 待分詞的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。注意:不建議直接輸入 GBK 字符串,可能無法預(yù)料地錯(cuò)誤解碼成 UTF-8
- jieba.cut 以及 jieba.cut_for_search 返回的結(jié)構(gòu)都是一個(gè)可迭代的 generator,可以使用 for 循環(huán)來獲得分詞后得到的每一個(gè)詞語(yǔ)(unicode),或者用
- jieba.lcut 以及 jieba.lcut_for_search 直接返回 list
- jieba.Tokenizer(dictionary=DEFAULT_DICT) 新建自定義分詞器,可用于同時(shí)使用不同詞典。jieba.dt 為默認(rèn)分詞器,所有全局分詞相關(guān)函數(shù)都是該分詞器的映射。
- pseg.cut(str1) ##詞性標(biāo)注,標(biāo)注句子分詞后每個(gè)詞的詞性
- jieba.analyse.extract_tags(str1,2)##關(guān)鍵詞提取,參數(shù)setence對(duì)應(yīng)str1為待提取的文本,topK對(duì)應(yīng)2為返回幾個(gè)TF/IDF權(quán)重最大的關(guān)鍵詞,默認(rèn)值為20
- jieba.tokenize(test_sent) ##Tokenize:返回詞語(yǔ)在原文的起始位置
jieba分詞有三種模式
下面均以“黨建經(jīng)驗(yàn)齊分享 交流總結(jié)共進(jìn)步 ——浙江大學(xué)公共管理學(xué)院來我院開展黨建工作學(xué)習(xí)交流”為例
1.全模式——把文本分成盡可能多的詞

2.精確模式——試圖將句子最精確地切開,適合文本分析(這對(duì)大數(shù)據(jù)量數(shù)據(jù)的分詞尤為重要)

3.搜索引擎模式——在精確模式的基礎(chǔ)上,對(duì)長(zhǎng)詞再次切分,提高召回率,適合用于搜索引擎分詞

從上面我們可以看出,許多不該分的詞被分開了,這顯然是不對(duì)的。所以接下來我們介紹幾種可以自己分詞的方法。
1.載入詞典
開發(fā)者可以指定自己自定義的詞典,以便包含 jieba 詞庫(kù)里沒有的詞。雖然 jieba 有新詞識(shí)別能力,但是自行添加新詞可以保證更高的正確率
詞頻省略時(shí)使用自動(dòng)計(jì)算的能保證分出該詞的詞頻。
使用 add_word(word, freq=None, tag=None) 和 del_word(word) 可在程序中動(dòng)態(tài)修改詞典。
自定義詞典.png
詞典格式和 dict.txt 一樣,一個(gè)詞占一行;每一行分三部分:詞語(yǔ)、詞頻(可省略)、詞性(可省略),用空格隔開,順序不可顛倒。file_name 若為路徑或二進(jìn)制方式打開的文件,則文件必須為 UTF-8 編碼。
jiaba.png
用法: jieba.load_userdict(file_name) # file_name 為文件類對(duì)象或自定義詞典的路徑
運(yùn)行結(jié)果.png
運(yùn)行結(jié)果可以看到黨建經(jīng)驗(yàn)、浙江大學(xué)公共管理學(xué)院等詞語(yǔ)都被分出來了,下面也標(biāo)注了詞的詞性。
PS:使用 suggest_freq(segment, tune=True) 可調(diào)節(jié)單個(gè)詞語(yǔ)的詞頻,使其能(或不能)被分出來。
注意:自動(dòng)計(jì)算的詞頻在使用 HMM 新詞發(fā)現(xiàn)功能時(shí)可能無效。
2.關(guān)鍵詞提取
基于 TextRank 算法的關(guān)鍵詞抽取
jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v')) 直接使用,接口相同,注意默認(rèn)過濾詞性。
jieba.analyse.TextRank() 新建自定義 TextRank 實(shí)例
以四川大學(xué)公共管理學(xué)院官網(wǎng)為例



3.Tokenize:返回詞語(yǔ)在原文的起止位置
注意,輸入?yún)?shù)只接受 unicode
默認(rèn)模式
py.png
運(yùn)行結(jié)果.png
搜索模式--把句子中所有的可以成詞的詞語(yǔ)都掃描出來并確定位置。







