Python jieba中文分詞庫基本操作

2021-10-24 01:34:35 字數 3115 閱讀 3635

中文分詞庫

試圖將句子最精確地切開,適合文字分析.

把句子中所有的可以成詞的詞語都掃瞄出來, 速度非常快,但是不能解決歧義.

在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜尋引擎分詞。

利用paddlepaddle深度學習框架,訓練序列標註(雙向gru)網路模型實現分詞。同時支援詞性標註。paddle模式使用需安裝paddlepaddle-tiny,pip install paddlepaddle-tiny==1.6.1。目前paddle模式支援jieba v0.40及以上版本。jieba v0.40以下版本,請公升級jieba,pip install jieba --upgrade 。paddlepaddle官網

可接受四個輸入引數:

sentence:待分詞的中文句子

cut_all:預設為false,是否啟用全模式。

hmm:預設為true,是否使用hmm模型。

use_paddle:預設為false,是否使用paddle模式下的分詞。

返回的結構是乙個可迭代的 generator。

import jieba

text =

'李小福是創新辦主任也是雲計算方面的專家'

print

(jieba.cut(text)

)輸出:>

用for迴圈輸出 示例

import jieba

text =

'李小福是創新辦主任也是雲計算方面的專家'

for i in jieba.cut(text)

:print

(i)輸出:

李小福是創新辦

主任也是雲

計算方面

的專家

全模式

import jieba

text =

'李小福是創新辦主任也是雲計算方面的專家'

for i in jieba.cut(text,cut_all=

true):

print

(i)輸出:李小

福是創新辦

主任也是雲

計算方面

的專家

paddle模式

import jieba

text =

'李小福是創新辦主任也是雲計算方面的專家'

for i in jieba.cut(text,use_paddle=

true):

print

(i)輸出:

李小福是創新辦

主任也是雲

計算方面

的專家

只接受兩個可輸入引數,

sentence:待分詞的中文句子.

hmm:預設為true,是否使用hmm模型。

該方法適合用於搜尋引擎構建倒排索引的分詞,粒度比較細

import jieba

text =

'李小福是創新辦主任也是雲計算方面的專家'

for i in jieba.cut_for_search(text)

:print

(i)輸出:

李小福是創新辦

主任也是雲

計算方面

的專家

待分詞的字串可以是 unicode 或 utf-8 字串、gbk 字串。注意:不建議直接輸入 gbk 字串,可能無法預料地錯誤解碼成 utf-8

作用同上面兩個函式,但可以直接返回乙個列表。

import jieba

text =

'李小福是創新辦主任也是雲計算方面的專家'

print

(jieba.lcut(text)

)輸出:

['李小福'

,'是'

,'創新'

,'辦'

,'主任'

,'也'

,'是'

,'雲'

,'計算'

,'方面'

,'的'

,'專家'

]

新建自定義分詞器,可用於同時使用不同詞典。jieba.dt 為預設分詞器,所有全域性分詞相關函式都是該分詞器的對映。

jieba.load_userdict(file_name) # file_name 為檔案類物件或自定義詞典的路徑。file_name 若為路徑或二進位制方式開啟的檔案,則檔案必須為 utf-8 編碼。

乙個詞佔一行;每一行分三部分:詞語、詞頻(可省略)、詞性(可省略),用空格隔開,順序不可顛倒。

詞頻省略時使用自動計算的能保證分出該詞的詞頻。

舉例:創新辦 3 i

雲計算 5

凱特琳 nz

臺中使用 add_word(word, freq=none, tag=none) 和 del_word(word) 可在程式中動態修改詞典。

word:要加入的詞

freq:詞頻

tag:詞性

使用 suggest_freq(segment, tune=true) 可調節單個詞語的詞頻,使其能(或不能)被分出來。

segment:要改變詞頻的詞語。

tune:true 能被分辨出來,false不能分辯出來

注意:自動計算的詞頻在使用 hmm 新詞發現功能時可能無效。

new_dict.txt

創新辦也是

import jieba

text =

'李小福是創新辦主任也是雲計算方面的專家'

new_dict = jieba.load_userdict(

'new_dict.txt'

)jieba.tokenizer(dictionary=new_dict)

print

(jieba.lcut(text)

)輸出:

['李小福'

,'是'

,'創新辦'

,'主任'

,'也是'

,'雲'

,'計算'

,'方面'

,'的'

,'專家'

]

Python Jieba中文分詞工具實現分詞功能

程式功能及簡介 安裝和測試python下的中文分詞工具 開發時長 0.5個工作日。開發要求及分析 在python下可以採用的較好的中文分詞工具是結巴中文分詞和中科院的分詞系統,現就jieba中文分詞使用功能做一些 一 操作步驟 1 安裝結巴中文分詞工具 在32位,windows7 pycharm,a...

使用python jieba庫進行中文分詞

jieba 結巴 中文分詞 做最好的 python 中文分詞元件 jieba chinese for to stutter chinese text segmentation built to be the best python chinese word segmentation module.功...

Python jieba分詞常用方法

支援3中分詞模式 1.全模式 把句子中的所有可以成詞的詞語都掃瞄出來,使用方法 jieba.cut 字串 cut all true,hmm false 2.精確模式 試圖將文字最精確的分開,適合於做文字分析。使用方法 jieba.cut 字串 cut all false,hmm true 3.搜尋引...