pemistahl/lingua-rs
The most accurate natural language detection library for Rust, suitable for short text and mixed-language text
해결하는 문제
Lingua는 주어진 텍스트 조각의 언어를 식별하기 위해 설계된 언어 탐지 라이브러리입니다. 특히 다른 라이브러리들이 매우 짧은 텍스트 스니펫(예: 단어 하나 또는 구절)에서 어려움을 겪고, 지원하는 언어 수가 늘어날수록 정확도가 떨어지는 문제를 해결합니다.
작동 방식
Lingua는 규칙 기반 엔진과 통계적 나이브 베이즈 모델을 결합합니다. 규칙 기반 엔진은 먼저 알파벳을 식별하고 특정 언어에 고유한 문자를 검색하여 불가능한 후보를 필터링합니다. 고유한 언어가 발견되면 통계 모델을 완전히 건너뜁니다. 그렇지 않으면 1~5개의 n-gram 크기를 사용하는 확률적 n-gram 모델을 사용하며, 대부분의 다른 라이브러리에서 사용하는 표준 트리그램 모델보다 짧은 텍스트에 더 높은 정확도를 제공합니다. 효율성을 유지하기 위해 언어 모델은 유한 상태 트랜스듀서(FST)로 저장되어 메모리에 완전히 로드하지 않고도 디스크에서 검색할 수 있습니다.
대상 사용자
텍스트 분류기, 철자 검사기, 자동 이메일 라우팅 시스템과 같은 자연어 처리(NLP) 애플리케이션을 개발하는 개발자에게 적합합니다. 전체 머신러닝 프레임워크의 부담 없이 가볍고 오프라인, 그리고 매우 정확한 언어 탐지 도구가 필요할 때 사용할 수 있습니다.
주요 특징
- 짧은 텍스트에 높은 정확도: 단어 하나나 짧은 구절에 최적화되어 있습니다.
- 75개 언어 지원: 지원 언어 수보다 품질을 우선시합니다.
- 하이브리드 접근 방식: 규칙 기반 필터링과 통계적 n-gram 모델(1-5그램)을 모두 사용합니다.
- 저자원 사용: FST를 사용해 메모리 사용량을 낮추어 저자원 환경에서도 사용 가능합니다.
- 오프라인 기능: 외부 API 호출 없이 완전히 오프라인으로 작동합니다.
- 다국어 지원: Rust 라이브러리와 Python 확장 모듈로 제공됩니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트