關(guān)于Python中jieba庫(kù)的使用
jieba庫(kù)概述
jieba 庫(kù)演示
對(duì)于一段英文文本, 例如 “China is a great country”,如果希望提取其中的單詞,只需要使用字符串處理的 split() 方法即可,例如:
print("China is a great country".split())
程序執(zhí)行結(jié)果如下:
[‘China’, ‘is’, ‘a’, ‘great’, ‘country’]
然而,對(duì)于一段中文文本,例如,“中國(guó)是一個(gè)偉大的國(guó)家”,獲得其中的單詞 (不是字符) 十分困難,因?yàn)橛⑽奈谋究梢酝ㄟ^(guò)空格或者標(biāo)點(diǎn)符號(hào)分隔,而中文單詞之間缺少分隔符,這是中文及類似語(yǔ)言獨(dú)有的“分詞”問(wèn)題。
上例中, 分詞能夠?qū)?“中國(guó)是一個(gè)偉大的國(guó)家” 分為"中國(guó)”、“是”、 “一個(gè)”、“偉大”、“的”、 "國(guó)家"等一系列詞語(yǔ)。
jieba (“結(jié)巴”) 是 Python 中一個(gè)重要的第三方中文分詞函數(shù)庫(kù),例如:
import jiebapr int(jieba.lcut("中國(guó)是一個(gè)偉大的國(guó)家"))
程序執(zhí)行結(jié)果如下:
[‘中國(guó)’, ‘是’, ‘一個(gè)’, ‘偉大’, ‘的’, ‘國(guó)家’]
jieba 庫(kù)的分詞原理是利用一個(gè)中文詞庫(kù),將待分詞的內(nèi)容與分詞詞庫(kù)進(jìn)行比對(duì),通過(guò)圖結(jié)構(gòu)和動(dòng)態(tài)規(guī)劃方法找到最大概率的詞組。
除了分詞,jieba 還提供增加自定義中文單詞的功能。
jieba 庫(kù)支持 3 種分詞模式:
- 精確模式,將句子最精確地切開(kāi),適合文本分析;
- 全模式,把句子中所有可以成詞的詞語(yǔ)都掃描出來(lái),速度非??欤?strong>不能消除歧義;
- 搜索引擎模式,在精確模式的基礎(chǔ)上,對(duì)長(zhǎng)詞再次切分,提高召回率,適合用于搜索引擎分詞。
在 PyCharm 中添加 jieba 庫(kù)
jieba 庫(kù)是第三方庫(kù),不是 Python 安裝包自帶的,因此,需要進(jìn)行安裝,因?yàn)槲覀兝玫氖?PyCharm 進(jìn)行開(kāi)發(fā),所以只要簡(jiǎn)單地把 jieba 庫(kù)添加進(jìn)來(lái)就行,下面是具體步驟。
(1) 在菜單欄中點(diǎn)擊【File】——【Settings】
(2) 在接下來(lái)的界面中找到【Project: pythonProject】——【Project Interpreter】,點(diǎn)擊界面中的加號(hào)
(3) 輸入 “jieba"搜索,找到 jieba,然后點(diǎn)擊 ”Install Package“,等待一會(huì)兒即可
(4) 安裝完可以返回之前的界面查看
使用jieba 庫(kù)
jieba 庫(kù)支持 3 種分詞模式:
- 精確模式,將句子最精確地切開(kāi),適合文本分析;
- 全模式,把句子中所有可以成詞的詞語(yǔ)都掃描出來(lái),速度非???,但是不能消除歧義;
- 搜索引擎模式,在精確模式的基礎(chǔ)上,對(duì)長(zhǎng)詞再次切分,提高召回率,適合用于搜索引擎分詞。
jieba 庫(kù)主要提供分詞功能,可以輔助自定義分詞詞典。
jieba 庫(kù)中包含的主要函數(shù)如下表所示:
函數(shù) | 描述 |
jieba.cut(s) | 精確模式,返回一個(gè)可迭代的數(shù)據(jù)類型 |
jieba.cut(s, cut_all=True) | 全模式,輸出文本 s 中所有可能的單詞 |
jieba.cut_for_ search(s) | 搜索引擎模式,適合搜索引擎建立索引的分詞結(jié)果 |
jieba.lcut(s) | 精確模式,返回一個(gè)列表類型,建議使用 |
jieba.lcut(s, cut_all=True) | 全模式,返回一個(gè)列表類型,建議使用 |
jieba.lcut_for_search(s) | 搜索引擎模式,返回一個(gè)列表類型,建議使用 |
jieba.add_word(w) | 向分詞詞典中增加新詞 w |
代碼如下:
import jieba print(jieba.lcut("中華人民共和國(guó)是一個(gè)偉大的國(guó)家")) print(jieba.lcut("中華人民共和國(guó)是一個(gè)偉大的國(guó)家", cut_all=True)) print(jieba.lcut_for_search("中華人民共和國(guó)是一個(gè)偉大的國(guó)家"))
程序執(zhí)行結(jié)果如下:
[‘中華人民共和國(guó)’, ‘是’, ‘一個(gè)’, ‘偉大’, ‘的’, ‘國(guó)家’]
[‘中華’, ‘中華人民’, ‘中華人民共和國(guó)’, ‘華人’, ‘人民’, ‘人民共和國(guó)’, ‘共和’, ‘共和國(guó)’, ‘國(guó)是’, ‘一個(gè)’, ‘偉大’, ‘的’, ‘國(guó)家’]
[‘中華’, ‘華人’, ‘人民’, ‘共和’, ‘共和國(guó)’, ‘中華人民共和國(guó)’, ‘是’, ‘一個(gè)’, ‘偉大’, ‘的’, ‘國(guó)家’]
jieba. lcut() 函數(shù)返回精確模式,輸出的分詞能夠完整且不多余地組成原始文本;
jieba. lcut(,True) 函數(shù)返回全模式,輸出原始文本中可能產(chǎn)生的所有問(wèn)題,冗余性最大;
jieba.lcut_ for_search() 函數(shù)返回搜索引擎模式,該模式首先執(zhí)行精確模式,然后再對(duì)其中的長(zhǎng)詞進(jìn)一步切分獲得結(jié)果。
由于列表類型通用且靈活,建議讀者使用上述 3 個(gè)能夠返回列表類型的分詞函數(shù)。
默認(rèn)情況下,jieba.cut() 等 6 個(gè)分詞函數(shù)能夠較高概率識(shí)別自定義的新詞,比如名字或縮寫(xiě)。對(duì)于無(wú)法識(shí)別的分詞,也可以通過(guò) jieba.add_ word() 函 數(shù)向分詞庫(kù)添加,例如:
import jieba print(jieba.lcut("程序喵正在路上")) jieba.add_word("程序喵") print(jieba.lcut("程序喵正在路上"))
程序執(zhí)行結(jié)果如下:
[‘程序’, ‘喵’, ‘正在’, ‘路上’]
[‘程序喵’, ‘正在’, ‘路上’]
第三方庫(kù)
Python 語(yǔ)言的第三方庫(kù)指不在 Python 安裝包中的函數(shù)庫(kù),也是非標(biāo)準(zhǔn)函數(shù)、庫(kù)。這類函數(shù)庫(kù)一般由全球各領(lǐng)域?qū)I(yè)人士結(jié)合專業(yè)特點(diǎn)和興趣開(kāi)發(fā)。Python 語(yǔ)言構(gòu)建了一個(gè)開(kāi)放和自由的生態(tài)環(huán)境,對(duì)第三方庫(kù)的開(kāi)發(fā)沒(méi)有強(qiáng)制要求,因此,Python 語(yǔ)言的第三方庫(kù)發(fā)展十分迅速。截至 2016 年 9 月,Python 官方網(wǎng)站注冊(cè)的第三方庫(kù)已經(jīng)達(dá)到 9 萬(wàn)多個(gè)。如果說(shuō)強(qiáng)大的標(biāo)準(zhǔn)庫(kù)奠定了 Python 語(yǔ)言發(fā)展的基石,豐富的第三方庫(kù)則是 Python 不斷發(fā)展的保證。隨著 Python 語(yǔ)言的發(fā)展,一些穩(wěn)定的第三方庫(kù)不斷被加入標(biāo)準(zhǔn)庫(kù)。
到此這篇關(guān)于關(guān)于Python中jieba庫(kù)的使用的文章就介紹到這了,更多相關(guān)Python jieba庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python+appium框架原生代碼實(shí)現(xiàn)App自動(dòng)化測(cè)試詳解
這篇文章主要介紹了Python+appium框架原生代碼實(shí)現(xiàn)App自動(dòng)化測(cè)試詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03tensorflow安裝成功import tensorflow 出現(xiàn)問(wèn)題
這篇文章主要介紹了tensorflow安裝成功import tensorflow 出現(xiàn)問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04python批量導(dǎo)出導(dǎo)入MySQL用戶的方法
這篇文章主要介紹了2013-11-11python3+PyQt5+Qt Designer實(shí)現(xiàn)堆疊窗口部件
這篇文章主要為大家詳細(xì)介紹了python3+PyQt5+Qt Designer實(shí)現(xiàn)堆疊窗口部件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04Python實(shí)現(xiàn)string字符串連接的方法總結(jié)【8種方式】
這篇文章主要介紹了Python實(shí)現(xiàn)string字符串連接的方法,結(jié)合實(shí)例形式總結(jié)分析了Python實(shí)現(xiàn)字符串連接的8種常見(jiàn)操作技巧,需要的朋友可以參考下2018-07-07關(guān)于python的縮進(jìn)規(guī)則的知識(shí)點(diǎn)詳解
在本篇文章里小編給大家整理了關(guān)于python的縮進(jìn)規(guī)則的知識(shí)點(diǎn)詳解,有興趣的朋友們可以學(xué)習(xí)下。2020-06-06pytorch查看torch.Tensor和model是否在CUDA上的實(shí)例
今天小編就為大家分享一篇pytorch查看torch.Tensor和model是否在CUDA上的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01