jieba 簡介
基于前綴詞典進行詞圖掃描抚吠,構(gòu)成全部可能分詞結(jié)果的有向無環(huán)圖,動態(tài)規(guī)劃查找最大概率路徑
支持三種分詞模式
- 精確模式:試圖將句子最精確地切開斥黑,適合文本分析
- 全模式:把句子中所有的可以成詞的詞語都掃描出來揖盘,速度非常快锌奴,但不能解決歧義
-搜索引擎模式:在精確模式的基礎(chǔ)上兽狭,對長詞再次切分,提高召回率鹿蜀,適合用于搜索引擎分詞
支持繁體分詞
支持自定義字典
MIT授權(quán)協(xié)議
MIT 協(xié)議可能是幾大開源協(xié)議中最寬松的一個椭符,核心條款是:
該軟件及其相關(guān)文檔對所有人免費,可以任意處置耻姥,包括使用,復(fù)制有咨,修改琐簇,合并,發(fā)表座享,分發(fā)婉商,再授權(quán),或者銷售渣叛。唯一的限制是丈秩,軟件中必須包含上述版 權(quán)和許可提示。
算法
- 基于前綴詞典實現(xiàn)高效的詞圖掃描淳衙,生成句子中漢字所有可能成詞情況所構(gòu)成的有向無環(huán)圖(DAG)
- 采用了動態(tài)規(guī)劃查找最大概率路徑蘑秽,找出基于詞頻的最大切分組合
- 對于未登錄詞,采用了基于漢字成詞能力的HMM模型箫攀,使用了Viterbi算法
主要方法
-
jieba.cut
cut方法參數(shù)描述:
- string : 需要分詞的字符串
- cut_all: 是否采用全模式肠牲,默認為精確模式
- HMM:是否使用HMM模型
-
jieba.cut_for_search
該方法適用于搜索引擎構(gòu)建倒排索引分詞,粒度較細靴跛。
- string : 需要分詞的字符串
- HMM: 是否使用HMM模型
- jieba.lcut以及jieba.lcut_for_search 直接返回list
-
jieba.Tokenizer(dictionary=DEFAULT_DICT)
新建自定義分詞器缀雳,可用于同時使用不同詞典。jieba.dt為默認分詞器梢睛,所以全局分詞相關(guān)函數(shù)都是該分詞器的映射肥印。
-
jieba.load_userdict(file_name)
指定自定義詞典识椰,以便包含jieba詞庫里沒有的詞。自行添加新詞可以保證更高的正確率深碱。
- 詞典格式:[詞語腹鹉,詞頻(可省略),詞性(可省略)]莹痢,
用空格隔開种蘸,順序不可顛倒
,文件編碼必須為UTF-8
- 詞頻自動省略時使用自動計算的能保證分出該詞的詞頻
- 詞典格式:[詞語腹鹉,詞頻(可省略),詞性(可省略)]莹痢,
-
jieba.analyse.set_stop_words(file_name)
指定停用詞文件
關(guān)鍵詞提取
基于TF-IDF算法的關(guān)鍵詞抽取
-
jieba.analyse.extrac_tags(sentence.topK=20,withWeight=False,allowPOS=())
參數(shù)詳解
- sentence:提取文本
- topK: 返回TF/IDF權(quán)重最大的關(guān)鍵詞個數(shù)竞膳,默認值為20
- withWeight: 是否一并返回關(guān)鍵詞權(quán)重值航瞭,默認值為False
- allowPOS: 僅包括指定詞性的詞,默認為空,既不篩選坦辟。
基于TextRank算法的關(guān)鍵詞提取
-
jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v'))
直接使用刊侯,接口相同,注意默認過濾詞性锉走。
基本思想:- 將待抽取關(guān)鍵詞的文本進行分詞
- 以固定窗口大小(默認為5滨彻,通過span屬性調(diào)整),詞之間的共現(xiàn)關(guān)系挪蹭,構(gòu)建圖
- 計算圖中節(jié)點的PageRank亭饵,注意是無向帶權(quán)圖
詞性標注
jieba.posseg.POSTokenizer(tokenizer=None)
新建自定義分詞器,tokenizer 參數(shù)可指定內(nèi)部使用的 jieba.Tokenizer 分詞器梁厉。
- jieba.posseg.dt 為默認詞性標注分詞器辜羊。
- 標注句子分詞后每個詞的詞性,采用和 ictclas 兼容的標記法词顾。
參考內(nèi)容 :jieba分詞文檔