python?中的jieba分詞庫
1、jieba庫安裝
2、jieba庫功能介紹
特征:支持三種分詞模式:精確模式:試圖將句子最精確地切開,適合文本分析全模式:把句子中所有的可以成詞的詞語都掃描出來, 速度非??欤遣荒芙鉀Q歧義搜索引擎模式:在精確模式的基礎(chǔ)上,對長詞再次切分,提高召回率,適合用于搜索引擎分詞
- 支持繁體分詞
- 支持自定義詞典
- 第一個(gè)參數(shù)為需要分詞的字符串
- cut_all參數(shù)用來控制是否采用全模式
lcut 將返回的對象轉(zhuǎn)化為 list 對象返回
- 需要分詞的字符串
該方法適合用于搜索引擎構(gòu)建倒排索引的分詞,顆粒度較細(xì)jieba.lcut_for_search 方法返回列表類型
jieba.posseg.dt 為默認(rèn)詞性標(biāo)注分詞器標(biāo)注句子分詞后每個(gè)詞的詞性,采用和ictclas兼容的標(biāo)記法
3、案例
3.1、精確模式
import jieba
list1 = jieba.lcut("中華人民共和國是一個(gè)偉大的國家")
print(list1)
print("精確模式:"+"/".join(list1))
3.2、全模式
list2 = jieba.lcut("中華人民共和國是一個(gè)偉大的國家",cut_all = True)
print(list2,end=",")
print("全模式:"+"/".join(list2))
3.3、搜索引擎模式
list3 = jieba.lcut_for_search("中華人民共和國是一個(gè)偉大的國家")
print(list3)
print("搜索引擎模式:"+" ".join(list3))
3.4、修改詞典
import jieba
text = "中信建投投資公司了一款游戲,中信也投資了一個(gè)游戲公司"
word = jieba.lcut(text)
print(word)
# 添加詞
jieba.add_word("中信建投")
jieba.add_word("投資公司")
word1 = jieba.lcut(text)
print(word1)
# 刪除詞
jieba.del_word("中信建投")
word2 = jieba.lcut(text)
print(word2)
3.5、詞性標(biāo)注
import jieba.posseg as pseg
words = pseg.cut("我愛北京天安門")
for i in words:
print(i.word,i.flag)
3.6、統(tǒng)計(jì)三國演義中人物出場的次數(shù)
import jieba
txt = open("文件路徑", "r", encoding='utf-8').read() # 打開并讀取文件
words = jieba.lcut(txt) # 使用精確模式對文本進(jìn)行分詞
counts = {} # 通過鍵值對的形式存儲(chǔ)詞語及其出現(xiàn)的次數(shù)
for word in words:
if len(word) == 1: # 單個(gè)詞語不計(jì)算在內(nèi)
continue
else:
counts[word] = counts.get(word, 0) + 1 # 遍歷所有詞語,每出現(xiàn)一次其對應(yīng)的值加 1
items = list(counts.items()) #將鍵值對轉(zhuǎn)換成列表
items.sort(key=lambda x: x[1], reverse=True) # 根據(jù)詞語出現(xiàn)的次數(shù)進(jìn)行從大到小排序
for i in range(15):
word, count = items[i]
print("{0:<10}{1:>5}".format(word, count))
import jieba
excludes = {"將軍","卻說","荊州","二人","不可","不能","如此","如何"}
txt = open("三國演義.txt", "r", encoding='utf-8').read()
words = jieba.lcut(txt)
counts = {}
for word in words:
if len(word) == 1:
continue
elif word == "諸葛亮" or word == "孔明曰":
rword = "孔明"
elif word == "關(guān)公" or word == "云長":
rword = "關(guān)羽"
elif word == "玄德" or word == "玄德曰":
rword = "劉備"
elif word == "孟德" or word == "丞相":
rword = "曹操"
else:
rword = word
counts[rword] = counts.get(rword,0) + 1
for i in excludes:
del counts[i]
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(10):
word, count = items[i]
print ("{0:<10}{1:>5}".format(word, count))
到此這篇關(guān)于python 中的jieba分詞庫的文章就介紹到這了,更多相關(guān)python jieba分詞庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
django認(rèn)證系統(tǒng)實(shí)現(xiàn)自定義權(quán)限管理的方法
今天小編就為大家分享一篇django認(rèn)證系統(tǒng)實(shí)現(xiàn)自定義權(quán)限管理的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python將文件映射到內(nèi)存使用mmap.mmap()函數(shù)方式
這篇文章主要介紹了Python將文件映射到內(nèi)存使用mmap.mmap()函數(shù)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
pytest解讀一次請求多個(gè)fixtures及多次請求
這篇文章主要為大家介紹了一次請求多個(gè)fixtures,以及fixtures被多次請求的pytest官方解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
python數(shù)據(jù)處理——對pandas進(jìn)行數(shù)據(jù)變頻或插值實(shí)例
這篇文章主要介紹了python數(shù)據(jù)處理——對pandas進(jìn)行數(shù)據(jù)變頻或插值實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
Python實(shí)現(xiàn)自動(dòng)發(fā)送郵件功能
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)自動(dòng)發(fā)送郵件功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12
tensorflow 動(dòng)態(tài)獲取 BatchSzie 的大小實(shí)例
這篇文章主要介紹了tensorflow 動(dòng)態(tài)獲取 BatchSzie 的大小實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
python利用xpath爬取網(wǎng)上數(shù)據(jù)并存儲(chǔ)到django模型中
這篇文章主要介紹了python利用xpath爬取網(wǎng)上數(shù)據(jù)并存儲(chǔ)到django模型中,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02

