xmnlp est une boîte à outils légère et complète dédiée au traitement du langage naturel (NLP) en chinois. Elle intègre nativement une suite d'algorithmes pour la segmentation de texte, l'étiquetage morphosyntaxique (POS), la reconnaissance d'entités nommées, l'analyse de polarité, la correction orthographique, la translittération pinyin, l'extraction de radicaux et le calcul de similarité sémantique.
L'exécution de ce framework requiert un environnement Python 3.6 ou supérieur. L'installation du paquet principal s'effectue via le gestionnaire de dépendances standard :
pip install --upgrade xmnlp
Pour contourner les restrictions de bande passante réseau, l'utilisation d'un index alternatif est conseillée :
pip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple --upgrade xmnlp
Initialisation des Modèles d'Inférence
Le moteur de xmnlp s'appuie sur des modèles pré-entraînés pour fonctionner. Pour les distributions v0.5.0 et ultérieures, il est obligatoire de récupérer l'archive xmnlp-onnx-models-v5.zip et de l'extraire sur le système de ficheirs local. Vous pouvez vérifier la version active de la bibliothèque via la commande suivante :
python -c "import xmnlp; print(xmnlp.__version__)"
Déclaration du Répertoire des Modèles
La bibliothèque doit être informée de l'emplacement précis des fichiers extraits. Deux méthodes sont supportées :
1. Configuration Globale (Variables d'environnement)
Sous les systèmes de type UNIX (Linux/macOS) :
export XMNLP_MODEL=/usr/local/share/xmnlp-models
Sous Windows (Invite de commandes) :
set XMNLP_MODEL=C:\data\xmnlp-models
2. Configuration Locale (Code Python)
Il est possible de définir le chemin d'accès de manière dynamique au sein même du script d'application :
import xmnlp
xmnlp.set_model('/usr/local/share/xmnlp-models')
Implémentation et Tests des Capacités NLP
Une fois l'environnement correctement initialisé, les différentes fonctionnalités peuvent être invoquées. Voici une implémentation complète encapsulant les appels aux principales API :
import xmnlp
def analyser_corpus_chinois():
# Initialisation du chemin vers les modèles ONNX
xmnlp.set_model('./modeles_locaux')
document_cible = "L'intelligence artificielle facilite grandement le traitement automatique des langues."
# 1. Segmentation standard (avec détection contextuelle)
tokens_standards = xmnlp.seg(document_cible)
print(f"Tokens standard : {tokens_standards}")
# 2. Segmentation optimisée pour la performance
tokens_rapides = xmnlp.fast_seg(document_cible)
print(f"Tokens rapides : {tokens_rapides}")
# 3. Analyse morphosyntaxique (POS Tagging)
etiquettes_grammaticales = xmnlp.tag(document_cible)
for mot, nature in etiquettes_grammaticales:
print(f"[{mot}] -> Nature : {nature}")
# 4. Évaluation de la polarité d'un avis
avis_utilisateur = "La performance de ce système de reconnaissance est absolument remarquable !"
probabilite_neg, probabilite_pos = xmnlp.sentiment(avis_utilisateur)
print(f"Score d'opinion -> Négatif: {probabilite_neg:.4f}, Positif: {probabilite_pos:.4f}")
if __name__ == "__main__":
analyser_corpus_chinois()
Diagnostic et Dépannage
Anomalie de Chargement des Modèles
La levée d'une exception ModelNotFoundError signale une défaillance lors du chargement des poids neuronaux. Vérifiez les points suivants :
- Le chemin fourni cible bien le dossier décompressé et non l'archive source ZIP.
- L'intégrité des fichiers extraits est intacte (aucun fichier manquant).
- La variable d'environnement est correctement propagée au processus Python (vérifiable via
echo $XMNLP_MODELdans le terminal).
Conflits de Dépendances Sous-jacentes
Des erreurs d'exécution liées au moteur ONNX ou aux bibliothèques mathématiques peuvent nécessiter la réinstallation explicite des paquets fondamentaux du projet :
pip install tokenizers scikit-learn numpy onnxruntime==1.9.0