quickwit-oss/whichlang

A blazingly fast and lightweight language detection library for Rust

해결하는 문제

Whichlang은 주어진 텍스트 문자열의 언어를 감지하기 위한 고성능, 경량 솔루션을 제공합니다. 로그 및 추적 데이터 처리의 높은 처리량 요구 사항을 충족하기 위해 개발되었으며, 표준 언어 감지 라이브러리는 너무 느리거나 정확도가 충분하지 않았습니다.

작동 방식

이 라이브러리는 다중 클래스 로지스틱 회귀 모델을 사용합니다. 입력 텍스트에서 2, 3, 4자 n-gram 및 코드포인트 분석을 통해 특징을 추출합니다. 이러한 특징은 해싱 트릭을 사용하여 4096차원 공간에 투영됩니다. 결과 모델은 속도에 최적화되어 100 MB/s를 초과하는 처리량을 달성합니다.

대상 사용자

검색 엔진, 로그 프로세서 또는 실시간 분석 파이프라인과 같은 데이터 집약적 애플리케이션에 빠르고 안정적인 언어 식별을 통합해야 하는 Rust 개발자를 위해 설계되었습니다.

주요 특징

  • 매우 빠름: 기존 대안보다 훨씬 빠른 100 MB/s 이상의 처리량 달성.
  • 높은 정확도: 16개 지원 언어에서 평균 약 97%의 정확도 제공.
  • 제로 의존성: 성능이 중요한 환경에 적합한 경량 구현.
  • 아랍어, 중국어(만다린), 영어, 프랑스어, 독일어, 힌디어, 이탈리아어, 일본어, 한국어, 포르투갈어, 러시아어, 스페인어, 스웨덴어, 터키어, 베트남어를 포함한 16개 언어 지원.

관련

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