whatlang rs
v0.16.2 - 2022-10-23
단순성과 성능에 중점을 둔 녹을위한 자연 언어 탐지.
온라인 데모를 시도하십시오.
예:
use whatlang :: { detect , Lang , Script } ;
fn main ( ) {
let text = "Ĉu vi ne volas eklerni Esperanton? Bonvolu! Estas unu de la plej bonaj aferoj!" ;
let info = detect ( text ) . unwrap ( ) ;
assert_eq ! ( info.lang ( ) , Lang :: Epo ) ;
assert_eq ! ( info.script ( ) , Script :: Latin ) ;
assert_eq ! ( info.confidence ( ) , 1.0 ) ;
assert ! ( info.is_reliable ( ) ) ;
}자세한 내용은 (예 : 일부 언어를 블랙리스트하는 방법) 문서를 확인하십시오.
Whatlang은 다음 큰 프로젝트 내에서 언어 인식을위한 직간접 의존성으로 사용됩니다. 당신은 Whatlang을 사용하여 훌륭한 회사에있을 것입니다.
| 특징 | 설명 |
|---|---|
enum-map | Lang 과 Script 열거적 인 Enum 특성을 구현합니다 |
arbitrary | 임의적 인 지원 |
serde | Lang 및 Script 대한 Serialize 및 Deserialize 구현합니다 |
dev | 내부 API를 제공하는 whatlang::dev 모듈을 활성화합니다.프로파일 링 목적으로 존재하며 정상적인 사용자는이 API에 의존하지 않아도됩니다. |
알고리즘은 N-Gram의 특정 사례 인 Trigram Language 모델을 기반으로합니다. 아이디어를 이해하려면 원래 백서 Cavnar and Trenkle '94 : N-Gram 기반 텍스트 분류 '를 확인하십시오.
is_reliable 어떻게 계산됩니까?다음 요소를 기반으로합니다.
rate 라고합니다.따라서 임계 값 함수가있는 2D 공간으로 제시 될 수 있으며,이를 "신뢰할 수있는"및 "신뢰할 수없는"영역으로 나눌 수 있습니다. 이 기능은 쌍곡선이며 다음과 같은 것 같습니다.
자세한 내용은 Rust Whatlang Library 및 Natural Language Identification 알고리즘에 대한 블로그 기사 소개를 확인하십시오.
make bench - 성능 벤치 마크를 실행하십시오make doc 문서를 생성하고 열 수 있습니다make test - 실행 테스트make watch - 시계 변경 및 테스트를 실행하십시오 | Whatlang | cld2 | cld3 | |
|---|---|---|---|
| 구현 언어 | 녹 | C ++ | C ++ |
| 언어 | 68 | 83 | 107 |
| 연산 | 트리 그램 | 쿼드 그램 | 신경망 |
| 지원되는 인코딩 | UTF-8 | UTF-8 | ? |
| HTML 지원 | 아니요 | 예 | ? |
근처 토큰을 기부하여 프로젝트를 지원할 수 있습니다.
우리의 지갑 주소는 whatlang.near 입니다
Whatlang 은 Titus Wormer의 Franc (JavaScript, MIT)의 파생 작품입니다.
MIT © Sergey Potapov