人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

python?中的jieba分詞庫

發(fā)布日期:2021-12-11 08:28 | 文章來源:gibhub
jieba 庫是優(yōu)秀的中文分詞第三方庫,中文文本需要通過分詞獲得單個的詞語

1、jieba庫安裝

管理員身份運行cmd窗口輸入命令:pip install jieba

2、jieba庫功能介紹

特征:
支持三種分詞模式:
精確模式:試圖將句子最精確地切開,適合文本分析
全模式:把句子中所有的可以成詞的詞語都掃描出來, 速度非???,但是不能解決歧義
搜索引擎模式:在精確模式的基礎(chǔ)上,對長詞再次切分,提高召回率,適合用于搜索引擎分詞
  • 支持繁體分詞
  • 支持自定義詞典
分詞功能:
jieba.cut 和 jieba.lcut 方法接受兩個傳入?yún)?shù):
  • 第一個參數(shù)為需要分詞的字符串
  • cut_all參數(shù)用來控制是否采用全模式
lcut 將返回的對象轉(zhuǎn)化為 list 對象返回
jieba.cut_for_search 和 jieba.lcut_for_search 方法接受一個參數(shù)
  • 需要分詞的字符串
該方法適合用于搜索引擎構(gòu)建倒排索引的分詞,顆粒度較細
jieba.lcut_for_search 方法返回列表類型
添加自定義詞典:
開發(fā)者可以指定自己自定義的詞典,以便包含jieba詞庫里沒有的詞。雖然jieba有新詞識別能力,但是自行添加新詞可以保證更高的正確率
用法:
使用自定義詞典文件:
jieba.load_userdict(file_name) # file_name 是自定義詞典的路徑
使用jieba在程序中動態(tài)修改詞典:
jieba.add_word(new_words) # new_words 是想要添加的新詞
jieba.del_word(words) # 刪除words
關(guān)鍵詞提?。?/strong>
jieba.analyse.extract_tags(sentence,topK) #需要先import jieba.analyse
sentence 為待提取的文本
topK 為返回幾個TF/IDF權(quán)重最大的關(guān)鍵詞,默認是20
詞性標(biāo)注:
jieba.posseg.POSTokenizer(tokenizer=None) 新建自定義分詞器,tokenizer參數(shù)可指定內(nèi)部使用的jieba.Tokenizer 分詞
jieba.posseg.dt 為默認詞性標(biāo)注分詞器
標(biāo)注句子分詞后每個詞的詞性,采用和ictclas兼容的標(biāo)記法

3、案例

3.1、精確模式

import jieba
list1 = jieba.lcut("中華人民共和國是一個偉大的國家")
print(list1)
print("精確模式:"+"/".join(list1))

3.2、全模式

list2 = jieba.lcut("中華人民共和國是一個偉大的國家",cut_all = True)
print(list2,end=",")
print("全模式:"+"/".join(list2))

3.3、搜索引擎模式

list3 = jieba.lcut_for_search("中華人民共和國是一個偉大的國家")
print(list3)
print("搜索引擎模式:"+"  ".join(list3))

3.4、修改詞典

import jieba
text = "中信建投投資公司了一款游戲,中信也投資了一個游戲公司"
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)計三國演義中人物出場的次數(shù)

三演義文本下載:
import  jieba
txt = open("文件路徑", "r", encoding='utf-8').read() # 打開并讀取文件
words = jieba.lcut(txt)  # 使用精確模式對文本進行分詞
counts = {}  # 通過鍵值對的形式存儲詞語及其出現(xiàn)的次數(shù)
for word in words:
 if  len(word) == 1: # 單個詞語不計算在內(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ù)進行從大到小排序 
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)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信