jieba.mbt 项目申报书

基本信息

项目名称: jieba.mbt:jieba 中文分词的 MoonBit 原生实现

参赛者: colmugx

联系方式: colmugx@qq.com

GitHub 仓库链接: https://github.com/colmugx/jieba.mbt.git

项目方向: MoonBit 中文自然语言处理基础库 / 搜索与文本分析基础设施

是否为移植项目:

项目简介

jieba.mbt 计划将 Python jieba 的核心中文分词能力移植到 MoonBit 生态,为搜索、文本分析、内容处理和 Web 应用提供可复用的原生中文 分词库。项目面向 MoonBit 库作者和应用开发者,提供精确模式、全模式、搜索引擎 模式、未登录词识别、用户词典和带 Unicode 位置的分词结果。

项目使用 MoonBit 原生数据结构实现词典 trie、DAG、动态规划最大概率路径,以及 BMES HMM 和 Viterbi 解码。默认词典与 HMM 参数编译进 MoonBit 源码,运行时不 依赖 Python、文件系统或外部数据文件,可面向 nativejswasmwasm-gc 后端构建。

核心功能范围

项目架构

项目采用三层结构:

  1. src/internal/core:实现 trie、DAG、动态规划、HMM 和 Viterbi,仅依赖 MoonBit 数据结构。
  2. src/internal/adaptor:提供版本化嵌入的词典和 HMM 数据,并作为未来文件、 网络或数据库资源接入的适配边界。
  3. src 根包:提供稳定的 TokenizerCutModeToken 和错误类型。

examples/search 提供可运行示例。目前项目包含 3 个测试文件、20 个测试用例, 后续将继续扩展兼容性和回归测试。

移植或参考说明

原项目名称: jieba

原项目链接: https://github.com/fxsjy/jieba

参考版本: 0.42.1

原项目许可证: MIT License

本项目许可证: Apache License 2.0

本项目使用并重新编码了上游默认词典及 HMM 起始、转移和发射概率,相关来源和 许可证声明见 THIRD_PARTY_LICENSES.md

与原项目相比,本项目会做以下简化和重新设计:

预期交付

其他信息

项目本质是为了给自己用 moonbit 开发的 agent 提供记忆搜索(技术:sqlite, fts5)搜索而开发,随手提交 顺带一提:该 agent 项目还依赖了 colmugx/posoco(https://github.com/colmugx/posoco) 和 colmugx/mcp(https://github.com/colmugx/mcp.mbt)