daac-tools/vibrato

🎤 vibrato: Viterbi-based accelerated tokenizer

何を解決するか

Vibrato は高性能な形態素解析器およびトークナイザーです。大規模な辞書(行列)を持つ言語において、従来のツール(MeCab など)がキャッシュ非効率により遅くなる問題を解決します。

動作方法

Viterbi アルゴリズムを用いたトークナイズに特化した Rust による MeCab アルゴリズムの再実装です。キャッシュ効率の良い ID マッピングを使用することで、大規模な言語リソース処理においてもトークナイズ時間を大幅に短縮します。

対象ユーザー

自然言語処理(NLP)に取り組む開発者や研究者で、特に日本語などに対して高速なトークナイズと形態素解析が必要な方、また MeCab 形式の辞書および出力形式との互換性を必要とする方。

特徴

  • 高速性: CPU キャッシュ効率を最適化し、MeCab やその再実装を上回る性能を実現。
  • MeCab 互換性: 同じ出力結果とオプション(空白文字の無視など)をサポートし、MeCab へのスムーズな移行を可能に。
  • カスタマイズ可能: CSV 形式のユーザー辞書をサポートし、コーパスからパラメータ/コストを学習可能。
  • マルチプラットフォーム: Rust で実装され、Python ラッパーと Wasm デモが利用可能。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト