daac-tools/vibrato

🎤 vibrato: Viterbi-based accelerated tokenizer

解決的問題

Vibrato 是一個高效率的形態分析器與分詞器。它解決了在處理大型詞典(矩陣)語言時,傳統工具(如 MeCab)因快取效率不佳而導致速度較慢的問題。

工作原理

它是基於 Rust 重寫的 MeCab 算法,使用 Viterbi 算法進行分詞。透過採用快取效率高的 ID 映射,顯著縮短分詞時間,特別是在處理大規模語言資源時表現尤為出色。

適用對象

從事自然語言處理(NLP)的開發者與研究人員,需要高速分詞與形態分析,特別是針對日語等語言,以及需要與 MeCab 風格詞典與輸出格式相容的使用者。

主要亮點

  • 高速性能:針對 CPU 快取效率進行優化,性能超越 MeCab 及其重實現。
  • MeCab 相容:支援完全相同的輸出結果與選項(如忽略空白字元),確保從 MeCab 平滑遷移。
  • 可自訂:支援 CSV 格式的使用者詞典,並可從語料庫中訓練參數/成本。
  • 多平台支援:使用 Rust 實作,提供 Python 包裝器與 Wasm 示範。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案