Python jieba結(jié)巴分詞原理及用法解析
1、簡(jiǎn)要說(shuō)明
結(jié)巴分詞支持三種分詞模式,支持繁體字,支持自定義詞典
2、三種分詞模式
全模式:把句子中所有的可以成詞的詞語(yǔ)都掃描出來(lái), 速度非???,但是不能解決歧義
精簡(jiǎn)模式:把句子最精確的分開,不會(huì)添加多余單詞,看起來(lái)就像是把句子分割一下
搜索引擎模式:在精簡(jiǎn)模式下,對(duì)長(zhǎng)詞再度切分
# -*- encoding=utf-8 -*- import jieba if __name__ == '__main__': str1 = '我去北京天安門廣場(chǎng)跳舞' a = jieba.lcut(str1, cut_all=True) # 全模式 print('全模式:{}'.format(a)) b = jieba.lcut(str1, cut_all=False) # 精簡(jiǎn)模式 print('精簡(jiǎn)模式:{}'.format(b)) c = jieba.lcut_for_search(str1) # 搜索引擎模式 print('搜索引擎模式:{}'.format(c))
運(yùn)行
3、某個(gè)詞語(yǔ)不能被分開
# -*- encoding=utf-8 -*- import jieba if __name__ == '__main__': str1 = '桃花俠大戰(zhàn)菊花怪' b = jieba.lcut(str1, cut_all=False) # 精簡(jiǎn)模式 print('精簡(jiǎn)模式:{}'.format(b)) # 如果不把桃花俠分開 jieba.add_word('桃花俠') d = jieba.lcut(str1) # 默認(rèn)是精簡(jiǎn)模式 print(d)
運(yùn)行
4、 某個(gè)單詞必須被分開
# -*- encoding=utf-8 -*- import jieba if __name__ == '__main__': # HMM參數(shù),默認(rèn)為True '''HMM 模型,即隱馬爾可夫模型(Hidden Markov Model, HMM),是一種基于概率的統(tǒng)計(jì)分析模型, 用來(lái)描述一個(gè)系統(tǒng)隱性狀態(tài)的轉(zhuǎn)移和隱性狀態(tài)的表現(xiàn)概率。 在 jieba 中,對(duì)于未登錄到詞庫(kù)的詞,使用了基于漢字成詞能力的 HMM 模型和 Viterbi 算法, 其大致原理是: 采用四個(gè)隱含狀態(tài),分別表示為單字成詞,詞組的開頭,詞組的中間,詞組的結(jié)尾。 通過(guò)標(biāo)注好的分詞訓(xùn)練集,可以得到 HMM 的各個(gè)參數(shù),然后使用 Viterbi 算法來(lái)解釋測(cè)試集,得到分詞結(jié)果。 ''' str1 = '桃花俠大戰(zhàn)菊花怪' b = jieba.lcut(str1, cut_all=False, HMM=False) # 精簡(jiǎn)模式,且不使用HMM模型 print('精簡(jiǎn)模式:{}'.format(b)) # 分開大戰(zhàn)為大和戰(zhàn) jieba.suggest_freq(('大', '戰(zhàn)'), True) e = jieba.lcut(str1, HMM=False) # 不使用HMM模型 print('分開:{}'.format(e))
運(yùn)行
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python自動(dòng)化運(yùn)維之Ansible定義主機(jī)與組規(guī)則操作詳解
這篇文章主要介紹了Python自動(dòng)化運(yùn)維之Ansible定義主機(jī)與組規(guī)則操作,結(jié)合實(shí)例形式分析了自動(dòng)化運(yùn)維工具Ansible定義主機(jī)與組規(guī)則相關(guān)配置操作與注意事項(xiàng),需要的朋友可以參考下2019-06-06Python調(diào)用易語(yǔ)言動(dòng)態(tài)鏈接庫(kù)實(shí)現(xiàn)驗(yàn)證碼功能
今天成功把易語(yǔ)言調(diào)用驗(yàn)證碼通殺的DLL在Python中成功調(diào)用了,心理美滋滋的,接著把我的經(jīng)驗(yàn)及示例代碼分享給大家,希望對(duì)大家有所幫助2021-08-08Tensorflow2.1實(shí)現(xiàn)Fashion圖像分類示例詳解
這篇文章主要為大家介紹了Tensorflow2.1實(shí)現(xiàn)Fashion圖像分類示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11如何在Python函數(shù)執(zhí)行前后增加額外的行為
有的時(shí)候會(huì)需要在函數(shù)前后添點(diǎn)額外的功能(比如過(guò)濾、計(jì)時(shí)等)時(shí),以前總是首先想到裝飾器。最近學(xué)習(xí)了Python的上下文管理器,所以本文就給大家介紹了如何在Python函數(shù)執(zhí)行前后增加額外的行為,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-10-10Python+matplotlib實(shí)現(xiàn)計(jì)算兩個(gè)信號(hào)的交叉譜密度實(shí)例
這篇文章主要介紹了Python+matplotlib實(shí)現(xiàn)計(jì)算兩個(gè)信號(hào)的交叉譜密度實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01Python實(shí)現(xiàn)給文件添加內(nèi)容及得到文件信息的方法
這篇文章主要介紹了Python實(shí)現(xiàn)給文件添加內(nèi)容及得到文件信息的方法,可實(shí)現(xiàn)從文件開頭添加內(nèi)容的功能,需要的朋友可以參考下2015-05-05python+opencv實(shí)現(xiàn)動(dòng)態(tài)物體識(shí)別
這篇文章主要為大家詳細(xì)介紹了python+opencv實(shí)現(xiàn)動(dòng)態(tài)物體識(shí)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01Django 1.10以上版本 url 配置注意事項(xiàng)詳解
這篇文章主要介紹了Django 1.10以上版本 url 配置注意事項(xiàng)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08socket + select 完成偽并發(fā)操作的實(shí)例
下面小編就為大家?guī)?lái)一篇socket + select 完成偽并發(fā)操作的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08