daac-tools/vibrato

🎤 vibrato: Viterbi-based accelerated tokenizer

解决的问题

Vibrato 是一个高性能的形态分析器和分词器。它解决了在处理大词典(矩阵)的语言时,传统工具(如 MeCab)因缓存效率低下而导致速度较慢的问题。

工作原理

它是基于 Rust 重写的 MeCab 算法,使用 Viterbi 算法进行分词。通过采用缓存高效的 ID 映射,显著减少了分词时间,尤其是在处理大规模语言资源时表现尤为突出。

适用人群

从事自然语言处理(NLP)的开发者和研究人员,需要高速分词和形态分析,特别是针对日语等语言,以及需要与 MeCab 风格词典和输出格式兼容的用户。

主要亮点

  • 高速性能:针对 CPU 缓存效率进行优化,性能超越 MeCab 及其重实现。
  • MeCab 兼容:支持完全相同的输出结果和选项(如忽略空格),确保从 MeCab 平滑迁移。
  • 可自定义:支持 CSV 格式的用户词典,并可从语料库中训练参数/成本。
  • 多平台支持:使用 Rust 实现,提供 Python 包装器和 Wasm 演示。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目