Python中jieba庫(kù)的使用方法
jieba庫(kù)是一款優(yōu)秀的 Python 第三方中文分詞庫(kù),jieba 支持三種分詞模式:精確模式、全模式和搜索引擎模式,下面是三種模式的特點(diǎn)。
精確模式:試圖將語(yǔ)句最精確的切分,不存在冗余數(shù)據(jù),適合做文本分析
全模式:將語(yǔ)句中所有可能是詞的詞語(yǔ)都切分出來(lái),速度很快,但是存在冗余數(shù)據(jù)
搜索引擎模式:在精確模式的基礎(chǔ)上,對(duì)長(zhǎng)詞再次進(jìn)行切分
一、jieba庫(kù)的安裝
因?yàn)?jieba 是一個(gè)第三方庫(kù),所有需要我們?cè)诒镜剡M(jìn)行安裝。
Windows 下使用命令安裝:在聯(lián)網(wǎng)狀態(tài)下,在命令行下輸入 pip install jieba 進(jìn)行安裝,安裝完成后會(huì)提示安裝成功
在 pyCharm 中安裝:打開(kāi) settings,搜索 Project Interpreter,在右邊的窗口選擇 + 號(hào),點(diǎn)擊后在搜索框搜索 jieba,點(diǎn)擊安裝即可
二、jieba三種模式的使用
# -*- coding: utf-8 -*-
import jieba
seg_str = "好好學(xué)習(xí),天天向上。"
print("/".join(jieba.lcut(seg_str))) # 精簡(jiǎn)模式,返回一個(gè)列表類型的結(jié)果
print("/".join(jieba.lcut(seg_str, cut_all=True))) # 全模式,使用 'cut_all=True' 指定
print("/".join(jieba.lcut_for_search(seg_str))) # 搜索引擎模式
分詞效果:

三、jieba 分詞簡(jiǎn)單應(yīng)用
需求:使用 jieba 分詞對(duì)一個(gè)文本進(jìn)行分詞,統(tǒng)計(jì)次數(shù)出現(xiàn)最多的詞語(yǔ),這里以三國(guó)演義為例
# -*- coding: utf-8 -*-
import jieba
txt = open("三國(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())
items.sort(key=lambda x: x[1], reverse=True) # 根據(jù)詞語(yǔ)出現(xiàn)的次數(shù)進(jìn)行從大到小排序
for i in range(3):
word, count = items[i]
print("{0:<5}{1:>5}".format(word, count))
統(tǒng)計(jì)結(jié)果:
你可以隨便找一個(gè)文本文檔,也可以到 https://github.com/coderjas/python-quick 下載上面例子中的文檔。
四、擴(kuò)展:英文單詞統(tǒng)計(jì)
上面的例子統(tǒng)計(jì)實(shí)現(xiàn)了中文文檔中出現(xiàn)最多的詞語(yǔ),接著我們就來(lái)統(tǒng)計(jì)一下一個(gè)英文文檔中出現(xiàn)次數(shù)最多的單詞。原理同上
# -*- coding: utf-8 -*-
def get_text():
txt = open("1.txt", "r", encoding='UTF-8').read()
txt = txt.lower()
for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~':
txt = txt.replace(ch, " ") # 將文本中特殊字符替換為空格
return txt
file_txt = get_text()
words = file_txt.split() # 對(duì)字符串進(jìn)行分割,獲得單詞列表
counts = {}
for word in words:
if len(word) == 1:
continue
else:
counts[word] = counts.get(word, 0) + 1
items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True)
for i in range(5):
word, count = items[i]
print("{0:<5}->{1:>5}".format(word, count))
統(tǒng)計(jì)結(jié)果:

到此這篇關(guān)于Python中jieba庫(kù)的使用方法的文章就介紹到這了,更多相關(guān)Python jieba庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)在一個(gè)畫(huà)布上畫(huà)多個(gè)子圖
今天小編就為大家分享一篇python實(shí)現(xiàn)在一個(gè)畫(huà)布上畫(huà)多個(gè)子圖,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
Python中使用logging和traceback模塊記錄日志和跟蹤異常
今天小編就為大家分享一篇關(guān)于Python中使用logging和traceback模塊記錄日志和跟蹤異常,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-04-04
利用keras使用神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)銷量操作
這篇文章主要介紹了利用keras使用神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)銷量操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
詳解django的serializer序列化model幾種方法
序列化是將對(duì)象狀態(tài)轉(zhuǎn)換為可保持或傳輸?shù)母袷降倪^(guò)程。這篇文章主要介紹了詳解django的serializer序列化model幾種方法。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10
解決IDEA 的 plugins 搜不到任何的插件問(wèn)題
這篇文章主要介紹了解決IDEA 的 plugins 搜不到任何的插件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05
一文帶你掌握Pyecharts地理數(shù)據(jù)可視化的方法
這篇文章主要介紹了一文帶你掌握Pyecharts地理數(shù)據(jù)可視化的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02

