jieba分詞paddle模式效能測試

2021-10-10 05:52:56 字數 2446 閱讀 2663

在使用jieba分詞時發現分詞速度比較慢,由於一直預設使用的paddle模式,好奇是不是該模式拖慢了執行速度,因此想著對比一下paddle模式相比預設模式的分詞和執行速度上的差異。

# 準備了100條語料

# 不使用paddle分詞,設定use_paddle=false

start = time.time(

)not_use_paddle = jieba.lcut(corpus[0]

,use_paddle=

false

)end = time.time(

)time_false = end-start

# 使用paddle分詞,設定use_paddle=true

start = time.time(

)use_paddle = jieba.lcut(content[0]

,use_paddle=

true

)end = time.time(

)time_true = end-start

time_false

out[

157]

:0.005010128021240234

time_true

out[

158]

:0.37805891036987305

time_true/time_false

out[

159]

:75.45893214047777

單條語句分詞,paddle模式耗時是不使用paddle模式的75倍

再來對比一下分詞的效果。

# 不使用paddle模式分詞效果

# 使用paddle模式分詞效果

我們再來對比一下100條語句的執行時間消耗:

# 不使用paddle分詞,設定use_paddle=false

start = time.time(

)not_use_paddle =

[' '

.join(jieba.lcut(sentence,use_paddle=

false))

for sentence in corpus]

end = time.time(

)time_false = end-start

# paddle分詞,設定use_paddle=true

start = time.time(

)use_paddle =

[' '

.join(jieba.lcut(sentence,use_paddle=

true))

for sentence in corpus]

end = time.time(

)time_true = end-start

time_false

out[

163]

:0.29122042655944824

time_true

out[

164]

:25.265052556991577

time_true/time_false

out[

165]

:86.75577072487427

100條語句分詞使用paddle模式相比不使用paddle模式耗時更是達到了86倍

總結:通過有限的語料比較,使不使用paddle模式其實分詞效果差異並不大,而paddle模式非常耗時,感覺價效比不高,因此在檔案非常大的場景下不太建議使用paddle模式進行分詞。

jieba 利用jieba分詞

目錄 三種分詞模式 新增自定義詞典進行分詞 jieba提供了三種分詞模式,分別是全模式,精確模式和搜尋引擎模式。全模式下會將所有可能的詞語都進行分詞,精確模式下會盡可能的將句子精確切開,搜尋引擎模式實在精確模式的基礎上,對長詞再進行劃分,提高分詞的召回率。使用cut和cut for search即可...

jieba分詞原理

關於jieba分詞的原理,在平時做文字方面的演算法時沒有仔細研究過,昨晚在網上看了一篇部落格,寫的很全面很詳細,其中有些深入的部分還並沒有完全看懂。jieba分詞系統介紹 涉及演算法 基於字首詞典實現詞圖掃瞄,生成句子中漢字所有可能成詞情況所構成的有向無環圖 dag 採用動態規劃查詢最大概率路徑,找...

Jieba分詞簡介

jieba分詞官網 jieba提供了三種分詞模式 精確模式,試圖將句子最精確地切開,適合文字分析 全模式,把句子中所有的可以成詞的詞語都掃瞄出來,速度非常快,但是不能解決歧義 搜尋引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜尋引擎分詞。import jieba sent 用刀...