数据量大了之后,jieba 切词慢得离谱。我曾经用 jieba 切 50 万条评论,跑了快 1 小时,中途还以为程序卡死了。

其实 jieba 本身不算慢,慢在两个地方:

一是没用对模式。 jieba 默认是精确模式,适合文本分析;但如果你只是要粗粒度分词,可以用全模式(速度提升 2-3 倍):

jieba.lcut(text, cut_all=True)

二是没用多进程。 jieba 是单线程的,核心吃不满。直接用 multiprocessing 拆任务:

from multiprocessing import Pool
with Pool(8) as p:
    results = p.map(cut_text, text_list)

50 万条数据,4 核机器从 1 小时直接干到 8 分钟。

更大的数据(> 1000 万条)建议直接换 jieba_fast 或者 pkuseg,速度能再快 3-5 倍。

做大规模评论分析的兄弟,这步省下的是真金白银。


本文由 BBZ · 小朵科技工作室 出品。配套工具:词频统计软件 P01