jieba-next

January 29, 2026 · View on GitHub

PyPI version PyPI - Python Version GitHub Actions Workflow Status PyPI - Downloads License

jieba-nextjieba_fast 的一个现代化分支,旨在提供对 Python 3.9+ 的支持,并利用 Rust 进行了代码优化和加速。

jieba_fast 本身是经典中文分词库 jieba 的一个 CPython 加速版本。本项目在 jieba_fast 的基础上,更新了构建系统,并用 Rust (via PyO3) 重新实现了部分核心算法,进一步提升了性能,解决了内存泄漏问题,并提升了可维护性。

项目特点

  • 现代化:支持 Python 3.9 及更高版本,不再支持 Python 2。
  • 性能:利用 Rust (via PyO3) 重新实现了生成 DAG(有向无环图)、计算最优路径以及 Viterbi 算法,以提升分词速度。
  • 兼容性:力求与原版 jiebajieba_fast 的分词结果保持一致。
  • 易于安装:使用现代化的构建工具,提供多平台的预编译二进制包(wheels),简化安装过程。
  • 易于使用:可以作为 jieba 的直接替代品,只需 import jieba_next as jieba

当前状态

本项目目前处于早期开发阶段:

  • 已完成基础功能测试,可以正确执行分词任务。
  • 与原 jieba_fast 仓库的分词结果具有一致性。
  • 性能进一步领先于原 jieba_fast 仓库,后续将持续进行优化。
  • 测试覆盖尚不完整,欢迎贡献测试用例。

安装

对于大多数常见平台,您可以直接通过 pip 从 PyPI 安装:

pip install jieba-next

如果安装过程中遇到问题,可以尝试安装 Rust 工具链:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

您也可以从源码安装(需要 Rust 工具链):

git clone https://github.com/mxcoras/jieba-next.git
cd jieba-next
pip install .

使用示例

可以像使用 jiebajieba_fast 一样使用 jieba-next

import jieba_next as jieba

text = "在输出层后再增加CRF层,加强了文本间信息的相关性,针对序列标注问题,每个句子的每个词都有一个标注结果,对句子中第i个词进行高维特征的抽取,通过学习特征到标注结果的映射,可以得到特征到任意标签的概率,通过这些概率,得到最优序列结果"

print("-".join(jieba.lcut(text, HMM=True)))
print('-'.join(jieba.lcut(text, HMM=False)))

输出:

在-输出-层后-再-增加-CRF-层-,-加强-了-文本-间-信息-的-相关性-,-针对-序列-标注-问题-,-每个-句子-的-每个-词-都-有-一个-标注-结果-,-对-句子-中-第-i-个-词-进行-高维-特征-的-抽取-,-通过-学习-特征-到-标注-结果-的-映射-,-可以-得到-特征-到-任意-标签-的-概率-,-通过-这些-概率-,-得到-最优-序列-结果
在-输出-层-后-再-增加-CRF-层-,-加强-了-文本-间-信息-的-相关性-,-针对-序列-标注-问题-,-每个-句子-的-每个-词-都-有-一个-标注-结果-,-对-句子-中-第-i-个-词-进行-高维-特征-的-抽取-,-通过-学习-特征-到-标注-结果-的-映射-,-可以-得到-特征-到-任意-标签-的-概率-,-通过-这些-概率-,-得到-最优-序列-结果

算法

  • 基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图 (DAG)。
  • 采用动态规划查找最大概率路径, 找出基于词频的最大切分组合。
  • 对于未登录词,采用了基于汉字成词能力的 HMM 模型,并使用了 Viterbi 算法。

鸣谢

"结巴"中文分词原作者: SunJunyi
jieba_fast 仓库作者: deepcs233