Paasaa
Paasaa is an Elixir library for robust natural language and script detection. It achieves this through statistical analysis of character n-grams and Unicode script properties, without relying on AI. It helps in tasks like text processing, natural language understanding, or internationalization by accurately identifying the writing system and human language of a given text.
API Documentation | Hex Package
Installation
Add paasaa to your list of dependencies in mix.exs:
def deps do
[{:paasaa, "~> 1.0.0"}]
endAprès avoir terminé, exécutez mix deps.get dans votre terminal pour récupérer et compiler Paasaa.
Utilisation
Détecter une langue :
iex> Paasaa.detect("Detect this!")
"eng"Détecter la langue et retourner une liste de langues avec score :
iex> Paasaa.all("Detect this!")
[
{"eng", 1.0},
{"sco", 0.8230731943771207},
{"nob", 0.6030053320407174},
{"nno", 0.5525933107125545},
...
]Détecter un script :
iex> Paasaa.detect_script("Detect this!")
{"Latin", 0.8333333333333334}Utilisation avancée avec options
Les fonctions detect/2 et all/2 acceptent une liste de mots-clés d’options pour contrôler leur comportement.
Langues en liste blanche et en liste noire
Vous pouvez restreindre l’ensemble des langues possibles. Cela est utile si vous savez déjà que le texte doit être dans l’une de quelques langues, ou si vous souhaitez exclure un faux positif courant.
# Exclude English to find the next most likely language
iex> Paasaa.detect("Detect this!", blacklist: ["eng"])
"sco"Only consider Polish and Serbian
iex> text = "Pošto je priznavanje urođenog dostojanstva i jednakih i neotuđivih prava..."
iex> Paasaa.detect(text, whitelist: ["pol", "srp"])
"srp"Définir la longueur minimale du texte
Par défaut, Paasaa retourne "und" pour les chaînes très courtes. Vous pouvez ajuster ce seuil avec :min_length.
iex> Paasaa.detect("Привет", min_length: 10)
"und"iex> Paasaa.detect("Привет", min_length: 6)
"rus"
Langues prises en charge
Pour une liste complète des langues prises en charge, veuillez consulter LANGUAGES.md.
Contribution
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou à soumettre une pull request sur GitHub.
Si vous mettez à jour les données linguistiques, vous pouvez régénérer les modules nécessaires avec la commande suivante :
mix run script/generate_language_data.exsDérivation
Paasaa est une œuvre dérivée de Franc (JavaScript, MIT) par Titus Wormer.
Licence
MIT © Egor Kislitsyn
--- Tranlated By Open Ai Tx | Last indexed: 2026-03-04 ---