Guide de détection du langage pour Python

La tâche "Détecteur de langue" MediaPipe vous permet d'identifier la langue d'un texte. Ces instructions vous expliquent comment utiliser le détecteur de langage avec Python. L'exemple de code décrit dans ces instructions est disponible sur GitHub.

Pour voir cette tâche en action, regardez la démonstration. Pour en savoir plus sur les fonctionnalités, les modèles et les options de configuration de cette tâche, consultez la présentation.

Exemple de code

L'exemple de code du détecteur de langage fournit une implémentation complète de cette tâche en Python à titre de référence. Ce code vous aide à tester cette tâche et à créer votre propre fonctionnalité de détection du langage. Vous pouvez afficher, exécuter et modifier l'exemple de code de l'outil de détection de langue à l'aide de votre navigateur Web.

Préparation

Cette section décrit les étapes clés de la configuration de votre environnement de développement et de vos projets de code spécifiquement pour l'utilisation du détecteur de langage. Pour obtenir des informations générales sur la configuration de votre environnement de développement pour l'utilisation des tâches MediaPipe, y compris sur les exigences de version de la plate-forme, consultez le guide de configuration pour Python.

Colis

L'outil de détection de langue utilise le package pip mediapipe. Vous pouvez installer la dépendance avec la commande suivante:

$ python -m pip install mediapipe

Importations

Importez les classes suivantes pour accéder aux fonctions des tâches du détecteur de langue:

import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import text

Modèle

La tâche de détecteur de langue MediaPipe nécessite un modèle entraîné compatible avec cette tâche. Pour en savoir plus sur les modèles entraînés disponibles pour le détecteur de langue, consultez la section Modèles de la présentation des tâches.

Sélectionnez et téléchargez le modèle, puis stockez-le dans le répertoire de votre projet:

model_path = '/absolute/path/to/language_detector.tflite'

Spécifiez le chemin d'accès du modèle avec le paramètre model_asset_path de l'objet BaseOptions, comme indiqué ci-dessous:

base_options = BaseOptions(model_asset_path=model_path)

Créer la tâche

La tâche de détecteur de langue MediaPipe utilise la fonction create_from_options pour la configurer. La fonction create_from_options accepte des valeurs pour les options de configuration permettant de définir les options du détecteur. Vous pouvez également initialiser la tâche à l'aide de la fonction de fabrique create_from_model_path. La fonction create_from_model_path accepte un chemin d'accès relatif ou absolu au fichier de modèle entraîné. Pour en savoir plus sur la configuration des tâches, consultez la page Options de configuration.

Le code suivant montre comment créer et configurer cette tâche.

base_options = python.BaseOptions(model_asset_path=model_path)
options = text.LanguageDetectorOptions(base_options=base_options)

Options de configuration

Cette tâche dispose des options de configuration suivantes pour les applications Python:

Nom de l'option Description Plage de valeurs Valeur par défaut
max_results Définit le nombre maximal (facultatif) de prédictions linguistiques mieux notées à renvoyer. Si cette valeur est inférieure à zéro, tous les résultats disponibles sont renvoyés. Tout nombre positif -1
score_threshold Définit le seuil de score de prédiction qui remplace celui fourni dans les métadonnées du modèle (le cas échéant). Les résultats inférieurs à cette valeur sont refusés. N'importe quelle valeur flottante Non définie
category_allowlist Définit la liste facultative des codes de langue autorisés. Si ce champ n'est pas vide, les prédictions de langue dont le code de langue ne figure pas dans cet ensemble seront filtrées. Cette option s'exclut mutuellement avec category_denylist et l'utilisation des deux résultats génère une erreur. N'importe quelle chaîne Non définie
category_denylist Définit la liste facultative des codes de langue non autorisés. Si ce champ n'est pas vide, les prédictions de langue dont le code de langue fait partie de cet ensemble seront filtrées. Cette option s'exclut mutuellement avec category_allowlist. L'utilisation des deux résultats génère une erreur. N'importe quelle chaîne Non définie

Préparation des données

Le détecteur de langue fonctionne avec les données textuelles (str). Cette tâche gère le prétraitement de l'entrée des données, y compris la tokenisation et le prétraitement du Tensor. L'ensemble du prétraitement est géré dans la fonction detect. Aucun prétraitement supplémentaire du texte d'entrée n'est nécessaire au préalable.

input_text = 'The input text to be classified.'

Exécuter la tâche

Le détecteur de langue utilise la fonction detect pour déclencher des inférences. Pour la détection de la langue, cela signifie renvoyer les langues possibles pour le texte d'entrée.

Le code suivant montre comment exécuter le traitement avec le modèle de tâche.

with python.text.LanguageDetector.create_from_options(options) as detector:
  detection_result = detector.detect(input_text)

Gérer et afficher les résultats

Le détecteur de langue renvoie un LanguageDetectorResult composé d'une liste de prédictions de langues et de leurs probabilités. Voici un exemple des données de sortie de cette tâche:

LanguageDetectorResult:
  LanguagePrediction #0:
    language_code: "fr"
    probability: 0.999781

Vous avez obtenu ce résultat en exécutant le modèle sur le texte d'entrée : "Il y a beaucoup de bouches qui parlent et fort peu de têtes qui pensent.".

Pour obtenir un exemple de code requis pour traiter et visualiser les résultats de cette tâche, consultez l'application exemple Python.