1、jieba庫(kù)基本介紹(1)、jieba庫(kù)概述 jieba是優(yōu)秀的中文分詞第三方庫(kù)
-中文文本需要通過(guò)分詞獲得單個(gè)的詞語(yǔ)
- jieba是優(yōu)秀的中文分詞第三方庫(kù),需要額外安裝
- jieba庫(kù)提供三種分詞模式,最簡(jiǎn)單只需掌握一個(gè)函數(shù)
(2)、jieba分詞的原理 Jieba分詞依靠中文詞庫(kù)
- 利用一個(gè)中文詞庫(kù),確定漢字之間的關(guān)聯(lián)概率
- 漢字間概率大的組成詞組,形成分詞結(jié)果
- 除了分詞,用戶還可以添加自定義的詞組
2、jieba庫(kù)使用說(shuō)明(1)、jieba分詞的三種模式 精確模式、全模式、搜索引擎模式
- 精確模式:把文本精確的切分開,不存在冗余單詞
- 全模式:把文本中所有可能的詞語(yǔ)都掃描出來(lái),有冗余
- 搜索引擎模式:在精確模式基礎(chǔ)上,對(duì)長(zhǎng)詞再次切分
(2)、jieba庫(kù)常用函數(shù) 
3.jieba應(yīng)用實(shí)例
4.利用jieba庫(kù)統(tǒng)計(jì)三國(guó)演義中任務(wù)的出場(chǎng)次數(shù)import jieba
txt = open("D:\\三國(guó)演義.txt", "r", encoding='utf-8').read()
words = jieba.lcut(txt) # 使用精確模式對(duì)文本進(jìn)行分詞
counts = {} # 通過(guò)鍵值對(duì)的形式存儲(chǔ)詞語(yǔ)及其出現(xiàn)的次數(shù)
for word in words:
if len(word) == 1: # 單個(gè)詞語(yǔ)不計(jì)算在內(nèi)
continue
else:
counts[word] = counts.get(word, 0) + 1 # 遍歷所有詞語(yǔ),每出現(xiàn)一次其對(duì)應(yīng)的值加 1
items = list(counts.items())#將鍵值對(duì)轉(zhuǎn)換成列表
items.sort(key=lambda x: x[1], reverse=True) # 根據(jù)詞語(yǔ)出現(xiàn)的次數(shù)進(jìn)行從大到小排序
for i in range(15):
word, count = items[i]
print("{0:<5}{1:>5}".format(word, count))

統(tǒng)計(jì)了次數(shù)對(duì)多前十五個(gè)名詞,曹操不愧是一代梟雄,第一名當(dāng)之無(wú)愧,但是我們會(huì)發(fā)現(xiàn)得到的數(shù)據(jù)還是需要進(jìn)一步處理,比如一些無(wú)用的詞語(yǔ),一些重復(fù)意思的詞語(yǔ)。 作者:王陸
鏈接:https://www.cnblogs.com/wkfvawl/p/9487165.html
|