Détection du langage naturel pour la rouille en mettant l'accent sur la simplicité et les performances.
Essayez la démo en ligne.
Exemple:
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 ( ) ) ;
}Pour plus de détails (par exemple, comment liste noire certaines langues), veuillez consulter la documentation.
Whatlang est utilisé dans les grands projets suivants comme dépendance directe ou indirecte pour la reconnaissance du langage. Tu vas être dans une grande entreprise en utilisant Whatlang:
| Fonctionnalité | Description |
|---|---|
enum-map | Lang et Script implémentent le trait Enum de Enum-Map |
arbitrary | Soutenir arbitraire |
serde | Implémente Serialize et Deserialize pour Lang et Script |
dev | Active le module whatlang::dev qui fournit une API interne.Il existe à des fins de profilage et les utilisateurs normaux sont découragés de s'appuyer sur cette API. |
L'algorithme est basé sur les modèles de langue trigramme, qui est un cas particulier de n-grammes. Pour comprendre l'idée, veuillez consulter le livre blanc Cavnar et Trenkle '94: catégorisation de texte basée sur N-GRAM '.
is_reliable est-il calculé?Il est basé sur les facteurs suivants:
rate dans la base de code.Par conséquent, il peut être présenté comme un espace 2D avec des fonctions de seuil, qui le divise en zones "fiables" et "non fiables". Cette fonction est une hyperbole et elle ressemble à la suivante:
Pour plus de détails, veuillez consulter un article de blog Introduction à Rust Whatlang Library and Natural Language Identification Algorithms.
make bench - exécuter des références de performancemake doc - générer et ouvrir Docmake test - exécutermake watch - regarder les modifications et exécuter les tests | Whatlang | Cld2 | CLD3 | |
|---|---|---|---|
| Langue de mise en œuvre | Rouiller | C ++ | C ++ |
| Langues | 68 | 83 | 107 |
| Algorithme | trigrammes | quadgrams | réseau neuronal |
| Encodage pris en charge | UTF-8 | UTF-8 | ? |
| Support HTML | Non | Oui | ? |
Vous pouvez soutenir le projet en faisant un don près de Tokens.
Notre adresse de portefeuille proche est whatlang.near
Whatlang est une œuvre dérivée de Franc (Javascript, MIT) de Titus Wormer.
MIT © Sergey Potapov