daac-tools/vibrato

🎤 vibrato: Viterbi-based accelerated tokenizer

해결하는 문제

Vibrato는 고성능 형태소 분석기 및 토크나이저입니다. 특히 대규모 사전(행렬)을 가진 언어에서 기존 도구(MeCab 등)가 캐시 비효율로 인해 느릴 수 있는 문제를 해결합니다.

작동 방식

Viterbi 알고리즘을 사용한 토크나이징을 위한 Rust 기반 MeCab 알고리즘 재구현입니다. 캐시 효율적인 ID 매핑을 사용하여 대규모 언어 자원 처리 시 토크나이징 시간을 크게 단축합니다.

대상 사용자

자연어 처리(NLP)에 종사하는 개발자 및 연구자로서, 특히 일본어 등에 대해 고속 토크나이징과 형태소 분석이 필요한 사용자, 또는 MeCab 스타일 사전 및 출력 형식과의 호환성이 필요한 사용자.

주요 특징

  • 고속성: CPU 캐시 효율을 최적화하여 MeCab 및 그 재구현보다 뛰어난 성능을 제공.
  • MeCab 호환성: 동일한 출력 결과와 옵션(공백 무시 등)을 지원하여 MeCab로의 원활한 전환을 보장.
  • 사용자 정의 가능: CSV 형식의 사용자 사전을 지원하며, 코퍼스에서 파라미터/비용을 학습할 수 있습니다.
  • 다중 플랫폼: Rust로 구현되었으며, Python 래퍼와 Wasm 데모가 제공됩니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트