技術交流QQ群:1027579432,歡迎你的加入!
1.常見的中文分詞工具
- 中科院計算所的NLPIR
- 哈工大LTP
- 清華大學THULAC
- 斯坦福分詞器
- Hanlp分詞器
- jieba分詞
- IKAnalyzer
2.jieba分詞算法主要有以下三種:
- 1.基于統(tǒng)計詞典,構造前綴詞典,基于前綴詞典對句子進行切分,得到所有切分可能,根據(jù)切分位置,構造一個有向無環(huán)圖(DAG)
- 2.針對DAG圖,采用動態(tài)規(guī)劃計算最大概率路徑(最優(yōu)可能的分詞結果),根據(jù)最大概率路徑分詞
- 3.對新詞(詞庫中沒有的詞),采用有漢字成詞能力的HMM模型進行切分。
import jieba
content = "現(xiàn)在,機器學習和深度學習帶動人工智能飛速的發(fā)展,并在圖像處理、語音識別領域取得巨大成功。"
3.精確分詞:精確模式試圖將句子最精確地切開,精確分詞也是默認的分詞方式
segs_1 = jieba.cut(content, cut_all=False)
print("/".join(segs_1))
4.全模式分詞:把句子中所有的可能是詞語的都掃描出來,速度非??欤荒芙鉀Q歧義。
segs_2 = jieba.cut(content, cut_all=True)
print("/".join(segs_2))
5.搜索引擎模式:在精確模式的基礎上,對長詞再次進行劃分,提高召回率Recall,適用于搜索引擎分詞。
segs_3 = jieba.cut_for_search(content)
print("/".join(segs_3))
6.用lcut生成list
- jieba.cut和jieba.cut_for_search返回的結果都是一個可迭代的生成器,可以使用for循環(huán)來獲得分詞后得到的每個詞語(unicode編碼)。jieba.lcut對cut的結果進行了封裝,l代表list,即返回的結果是一個list集合。同樣的,用jieba.lcut_for_search()也直接返回list集合。
segs_4 = jieba.lcut(content)
print(segs_4)
7.獲取詞性
- jieba可以很方便地獲取中文詞性,通過jieba.posseg模塊實現(xiàn)詞性標注
import jieba.posseg as psg
[(x.word, x.flag) for x in psg.lcut(content)]
8.并行分詞
- 并行分詞原理是為文本按行分隔后,分配到多個python進程并進行分詞,最終歸并結果。
-
并行分詞僅支持默認分詞器jieba.dt和jieba.posseg.dt,目前暫不支持windows系統(tǒng)。
jieba.enable_parallel(4) # 開啟并行分詞模式,參數(shù)為并行進程數(shù)
jieba.disable_parallen() # 關閉并行分詞模式
9.獲取分詞結果中詞列表的top N
from collections import Counter
top5 = Counter(segs_4).most_common(5)
top5
10.自定義添加詞和字典
- 默認情況下,使用默認分詞,是識別不出來這句話中的“字節(jié)跳動”這個新詞,這里使用用戶字典提高分詞的準確性。
txt = "字節(jié)跳動是中國一家新興的互聯(lián)網(wǎng)公司。"
segs_5 = jieba.lcut(txt)
segs_5
jieba.add_word("字節(jié)跳動")
segs_6 = jieba.lcut(txt)
segs_6
- 但是,如果要添加很多個詞語時,一個個添加效率就不高了。這時候可以定義一個文件,然后通過load_userdict()函數(shù),加載自定義詞典,如下所示:
txt1 = "火山小視頻是字節(jié)跳動公司開發(fā)的一款應用軟件。"
jieba.load_userdict("user_dict.txt") # user_dict.txt是自己創(chuàng)建的一個自定義的新詞詞典
segs_7 = jieba.lcut(txt1)
segs_7
11.注意的地方
- jieba.cut()方法接收三個輸入?yún)?shù):需要分詞的字符串、cut_all參數(shù)用來控制是否采用全模式、HMM參數(shù)用來控制是否使用HMM模型
- jieba.cut_for_search()方法接收兩個參數(shù):需要分詞的字符串、是否使用HMM模型。該方法適用于搜索引擎構建倒排索引的分詞,細粒度較高。
12.相關說明
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。