欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中文文本處理利器jieba分詞庫使用

 更新時間:2023年12月18日 15:47:31   作者:陌北v1  
這篇文章主要給大家介紹了關(guān)于Python中文文本處理利器jieba分詞庫使用的相關(guān)資料,jieba是python中一個重要的第三方中文分詞函數(shù)庫,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

一. 介紹

A. 什么是jieba庫

  • jieba庫是一款開源的中文分詞工具,能夠?qū)⒅形奈谋厩蟹殖稍~語。

B. jieba庫的特點和優(yōu)勢

  • 支持四種分詞模式:精確模式、全模式、搜索引擎模式和paddle模式。
  • 提供自定義詞典功能,可以添加、刪除詞語。
  • 支持關(guān)鍵詞提取和詞性標(biāo)注。
  • 提供Tokenize接口,可以獲取每個詞語的起始位置和詞性。
  • 支持并行分詞,提高分詞速度。

C. 安裝jieba庫

  • 在命令行中使用pip安裝jieba庫:

    pip install jieba
    

二. 分詞基礎(chǔ)

A. 字典加載

  • jieba庫內(nèi)置了一個默認(rèn)的詞典,可以直接使用。

  • 也可以使用自定義的詞典,通過jieba.load_userdict(file_path)加載。

B. 分詞模式

  • 精確模式
    • 精確模式是將文本按照最大概率進行切分,效果較好。
    • 使用方法:jieba.cut(sentence),返回一個可迭代的分詞結(jié)果。
  • 全模式
    • 全模式將文本中所有可能的詞語都切分出來,可能存在冗余。
    • 使用方法:jieba.cut(sentence, cut_all=True),返回一個可迭代的分詞結(jié)果。
  • 搜索引擎模式
    • 搜索引擎模式根據(jù)詞語的位置進行切分,適合搜索引擎分詞。
    • 使用方法:jieba.cut_for_search(sentence),返回一個可迭代的分詞結(jié)果。
  • paddle模式
    • 利用PaddlePaddle深度學(xué)習(xí)框架,訓(xùn)練序列標(biāo)注(雙向GRU)網(wǎng)絡(luò)模型實現(xiàn)分詞。同時支持詞性標(biāo)注。paddle模式使用需安裝paddlepaddle-tiny,pip install paddlepaddle-tiny==1.6.1。目前paddle模式支持jieba v0.40及以上版本。jieba v0.40以下版本,請升級jieba,pip install jieba --upgrade 。

C. 使用示例

# encoding=utf-8
import jieba

# 啟動paddle模式。 0.40版之后開始支持,早期版本不支持
jieba.enable_paddle()
strs=["我來到北京清華大學(xué)","乒乓球拍賣完了","中國科學(xué)技術(shù)大學(xué)"]
for str in strs:
    seg_list = jieba.cut(str,use_paddle=True) # 使用paddle模式
    print("Paddle Mode: " + '/'.join(list(seg_list)))

# 全模式
seg_list = jieba.cut("我來到北京清華大學(xué)", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list))

# 精確模式
seg_list = jieba.cut("我來到北京清華大學(xué)", cut_all=False)
print("Default Mode: " + "/ ".join(seg_list))

# 默認(rèn)是精確模式
seg_list = jieba.cut("他來到了網(wǎng)易杭研大廈")
print(", ".join(seg_list))

# 搜索引擎模式
seg_list = jieba.cut_for_search("小明碩士畢業(yè)于中國科學(xué)院計算所,后在日本京都大學(xué)深造")  
print(", ".join(seg_list))

輸出:

【全模式】: 我/ 來到/ 北京/ 清華/ 清華大學(xué)/ 華大/ 大學(xué)

【精確模式】: 我/ 來到/ 北京/ 清華大學(xué)

【新詞識別】:他, 來到, 了, 網(wǎng)易, 杭研, 大廈    (此處,“杭研”并沒有在詞典中,但是也被Viterbi算法識別出來了)

【搜索引擎模式】: 小明, 碩士, 畢業(yè), 于, 中國, 科學(xué), 學(xué)院, 科學(xué)院, 中國科學(xué)院, 計算, 計算所, 后, 在, 日本, 京都, 大學(xué), 日本京都大學(xué), 深造

三. 自定義詞典

A. 添加詞語

  • 使用 add_word(word, freq=None, tag=None) 和 del_word(word) 可在程序中動態(tài)修改詞典。

B. 載入自定義詞典

  • 如果有一個包含自定義詞語的文件,可以使用jieba.load_userdict(file_path)方法加載該文件,并將其中的詞語加入到詞典中。

C. 使用示例

import jieba

# 添加單個詞語到詞典中
jieba.add_word("自然語言處理")

# 載入自定義詞典文件
jieba.load_userdict("custom_dict.txt")

sentence = "我愛自然語言處理"

# 分詞結(jié)果包含自定義詞語
seg_list = jieba.cut(sentence)
print("/".join(seg_list))  # 輸出: 我/愛/自然語言處理

四. 關(guān)鍵詞提取

A. 基于TF-IDF算法的關(guān)鍵詞提取

  • jieba庫提供了基于TF-IDF算法的關(guān)鍵詞提取方法jieba.extract_tags(sentence, topK=10),用于從文本中提取關(guān)鍵詞。
  • topK參數(shù)指定返回的關(guān)鍵詞數(shù)量,默認(rèn)為10。

B. 基于TextRank算法的關(guān)鍵詞提取

  • jieba庫還提供了基于TextRank算法的關(guān)鍵詞提取方法jieba.textrank(sentence, topK=10),也可以用于從文本中提取關(guān)鍵詞。
  • topK參數(shù)指定返回的關(guān)鍵詞數(shù)量,默認(rèn)為10。

C. 使用示例

import jieba

sentence = "自然語言處理是人工智能領(lǐng)域的重要技術(shù)之一"

# 基于TF-IDF算法的關(guān)鍵詞提取
keywords = jieba.extract_tags(sentence, topK=5)
print(keywords)  # 輸出: ['自然語言處理', '人工智能', '技術(shù)', '領(lǐng)域', '重要']

# 基于TextRank算法的關(guān)鍵詞提取
keywords = jieba.textrank(sentence, topK=5)
print(keywords)  # 輸出: ['技術(shù)', '重要', '領(lǐng)域', '自然語言處理', '人工智能']

五. 詞性標(biāo)注

A. 詞性標(biāo)注集

  • jieba庫支持對分詞結(jié)果進行詞性標(biāo)注,使用的是jieba庫內(nèi)置的詞性標(biāo)注集。

B. 使用示例

import jieba
import jieba.posseg as pseg

# 分詞并進行詞性標(biāo)注
words = pseg.cut("自然語言處理很有趣") #jieba默認(rèn)模式
jieba.enable_paddle() #啟動paddle模式。 0.40版之后開始支持,早期版本不支持
words = pseg.cut("我愛北京天安門",use_paddle=True) #paddle模式
for word, flag in words:
    print(word, flag)
# 輸出:
# 自然語言 l
# 處理 v
# 很 d
# 有趣 a

paddle模式詞性標(biāo)注對應(yīng)表如下:

paddle模式詞性和專名類別標(biāo)簽集合如下表,其中詞性標(biāo)簽 24 個(小寫字母),專名類別標(biāo)簽 4 個(大寫字母)。

標(biāo)簽含義標(biāo)簽含義標(biāo)簽含義標(biāo)簽含義
n普通名詞f方位名詞s處所名詞t時間
nr人名ns地名nt機構(gòu)名nw作品名
nz其他專名v普通動詞vd動副詞vn名動詞
a形容詞ad副形詞an名形詞d副詞
m數(shù)量詞q量詞r代詞p介詞
c連詞u助詞xc其他虛詞w標(biāo)點符號
PER人名LOC地名ORG機構(gòu)名TIME時間

六. 并行分詞

A. 并行分詞的優(yōu)勢

  • jieba庫支持并行分詞,能夠利用多核CPU提高分詞速度。
  • 并行分詞使用的是基于python多進程的方式,需要在分詞前調(diào)用jieba.enable_parallel()啟用并行分詞,之后可以正常使用分詞功能。

B. 并行分詞使用示例

import jieba

jieba.enable_parallel(4)  # 啟用并行分詞,使用4個進程

sentence = "自然語言處理很有趣"

# 分詞結(jié)果
seg_list = jieba.cut(sentence)
print("/".join(seg_list))
# 輸出: 自然/語言/處理/很/有趣

jieba.disable_parallel()  # 關(guān)閉并行分詞

七. Tokenize接口

A. 默認(rèn)模式

  • jieba庫提供了Tokenize接口jieba.tokenize(sentence, mode='default'),用于獲取每個詞語的起始位置和詞性。
  • 默認(rèn)模式下,返回結(jié)果包含詞語、詞語在文本中的起始位置和結(jié)束位置。

B. 搜索引擎模式

  • 在Tokenize接口中,可以選擇搜索引擎模式,通過mode='search'參數(shù)指定。
  • 搜索引擎模式下,返回結(jié)果還包含分詞的偏移量,適用于搜索引擎等應(yīng)用場景。

C. 返回結(jié)果格式

  • Tokenize接口返回的結(jié)果是一個可迭代的生成器,每個生成器元素都是一個元組,包含詞語、起始位置、結(jié)束位置和詞性(可選)。

D. 使用示例

import jieba

sentence = "自然語言處理很有趣"

# 默認(rèn)模式下的Tokenize接口
tokens = jieba.tokenize(sentence)
for tk in tokens:
    word = tk[0]
    start_index = tk[1]
    end_index = tk[2]
    print(word, start_index, end_index)
# 輸出:
# 自然語言 0 4
# 處理 4 6
# 很 6 7
# 有趣 7 9

# 搜索引擎模式下的Tokenize接口
tokens = jieba.tokenize(sentence, mode='search')
for tk in tokens:
    word = tk[0]
    start_index = tk[1]
    end_index = tk[2]
    print(word, start_index, end_index)
# 輸出:
# 自然 0 2
# 語言 2 4
# 處理 4 6
# 很 6 7
# 有趣 7 9

八. 總結(jié)

本教程介紹了Python中jieba庫的基本使用方法和常用功能,包括分詞基礎(chǔ)、自定義詞典、關(guān)鍵詞提取、詞性標(biāo)注、并行分詞和Tokenize接口。通過學(xué)習(xí)和掌握這些功能,你可以在中文文本處理中靈活應(yīng)用jieba庫,實現(xiàn)有效的分詞、關(guān)鍵詞提取和詞性標(biāo)注等任務(wù)。

在使用jieba庫時,你可以根據(jù)具體需求選擇不同的分詞模式,如精確模式、全模式和搜索引擎模式。還可以通過自定義詞典添加特定詞語,提高分詞的準(zhǔn)確性。關(guān)鍵詞提取功能可以幫助你從文本中提取出重要的關(guān)鍵詞,有助于文本理解和信息提取。詞性標(biāo)注功能可以標(biāo)注每個詞語的詞性,對于一些需要深入分析的任務(wù)很有幫助。Tokenize接口可以提供詞語的起始位置和詞性信息,適用于一些特定的應(yīng)用場景。并行分詞功能可以充分利用多核CPU,提高分詞速度。

到此這篇關(guān)于Python中文文本處理利器jieba分詞庫使用的文章就介紹到這了,更多相關(guān)Python jieba分詞庫使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python作圖基礎(chǔ)之plt.contour實例詳解

    python作圖基礎(chǔ)之plt.contour實例詳解

    contour和contourf都是畫三維等高線圖的,下面這篇文章主要給大家介紹了關(guān)于python作圖基礎(chǔ)操作之plt.contour的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • python小程序基于Jupyter實現(xiàn)天氣查詢的方法

    python小程序基于Jupyter實現(xiàn)天氣查詢的方法

    這篇文章主要介紹了python小程序基于Jupyter實現(xiàn)天氣查詢的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 如何運行帶參數(shù)的python腳本

    如何運行帶參數(shù)的python腳本

    這篇文章主要介紹了如何運行帶參數(shù)的python腳本,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Python 模擬動態(tài)產(chǎn)生字母驗證碼圖片功能

    Python 模擬動態(tài)產(chǎn)生字母驗證碼圖片功能

    這篇文章主要介紹了Python 模擬動態(tài)產(chǎn)生字母驗證碼圖片,這里給大家介紹了pillow模塊的使用,需要的朋友可以參考下
    2019-12-12
  • 利用python-docx模塊寫批量生日邀請函

    利用python-docx模塊寫批量生日邀請函

    這篇文章主要為大家詳細(xì)介紹了利用python-docx模塊批量生日邀請函,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • python中對二維列表中一維列表的調(diào)用方法

    python中對二維列表中一維列表的調(diào)用方法

    在本文里小編給大家整理的是關(guān)于python中對二維列表中一維列表的調(diào)用方法,正在學(xué)習(xí)的朋友們可以參考下。
    2020-06-06
  • python基于pyDes庫實現(xiàn)des加密的方法

    python基于pyDes庫實現(xiàn)des加密的方法

    這篇文章主要介紹了python基于pyDes庫實現(xiàn)des加密的方法,結(jié)合實例形式較為詳細(xì)的分析了pyDes庫的下載、安裝及使用pyDes庫進行加密的相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • Centos7下源碼安裝Python3 及shell 腳本自動安裝Python3的教程

    Centos7下源碼安裝Python3 及shell 腳本自動安裝Python3的教程

    這篇文章主要介紹了Centos7下源碼安裝Python3 shell 腳本自動安裝Python3的相關(guān)知識,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • 使用python 獲取進程pid號的方法

    使用python 獲取進程pid號的方法

    這篇文章主要介紹了使用python 獲取進程pid號的方法,需要的朋友可以參考下
    2014-03-03
  • Python爬蟲進階之Beautiful Soup庫詳解

    Python爬蟲進階之Beautiful Soup庫詳解

    這篇文章主要介紹了Python爬蟲進階之Beautiful Soup庫詳解,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python爬蟲的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04

最新評論