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 vous montrent comment utiliser le détecteur de langage avec Python. Exemple de code décrites dans ces instructions est disponible sur GitHub

Pour voir concrètement en quoi consiste cette tâche, consultez le demo. Pour en savoir plus sur les fonctionnalités, les modèles et les options de configuration de cette tâche, consultez la section Présentation.

Exemple de code

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

Configuration

Cette section décrit les étapes clés à suivre pour configurer votre environnement de développement spécifiquement pour utiliser le détecteur de langage. Pour obtenir des informations générales sur configurer votre environnement de développement pour utiliser les tâches MediaPipe, y compris versions de la plate-forme requises, consultez la Guide de configuration pour Python

<ph type="x-smartling-placeholder">

Colis

Le détecteur de langue utilise le package Mediapipe pip. Vous pouvez installer la dépendance par les éléments suivants:

$ 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étection de la langue MediaPipe nécessite un modèle entraîné et 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 l'objet BaseOptions model_asset_path. , comme indiqué ci-dessous:

base_options = BaseOptions(model_asset_path=model_path)

Créer la tâche

La tâche de détection de la langue MediaPipe utilise la fonction create_from_options pour configurer le tâche. La fonction create_from_options accepte des valeurs pour la configuration pour 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. create_from_model_path accepte un chemin d'accès relatif ou absolu vers le fichier de modèle entraîné. Pour plus d'informations sur la configuration des tâches, consultez Options de configuration.

Le code suivant montre comment compiler 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 comporte les 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 de langues les mieux notées sur retour. Si cette valeur est inférieure à zéro, tous les résultats disponibles sont renvoyés. Tous les nombres positifs -1
score_threshold Définit le seuil de score de prédiction qui remplace celui indiqué dans les métadonnées du modèle (le cas échéant). Les résultats inférieurs à cette valeur sont refusés. N'importe quel nombre décimal Non défini
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 n'est pas dans cet ensemble seront filtrées. Cette option s'exclue mutuellement avec category_denylist et l'utilisation des deux entraînent une erreur. Toutes les chaînes Non défini
category_denylist Définit la liste facultative des codes de langue qui ne sont pas autorisés. Si non vide, les prédictions de langue dont le code de langue fait partie de cet ensemble seront filtrées s'affiche. Cette option s'exclue mutuellement avec category_allowlist et l'utilisation des deux entraîne une erreur. Toutes les chaînes Non défini

Préparer les données

Le détecteur de langue fonctionne avec des données textuelles (str). La tâche gère la saisie des données le prétraitement, y compris la tokenisation et le prétraitement des Tensors. Tout le prétraitement est géré dans la fonction detect. Il n'est pas nécessaire un prétraitement supplémentaire du texte d'entrée à l'avance.

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. Langue la détection, cela signifie renvoyer les langues possibles pour le texte d'entrée.

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

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 génère un LanguageDetectorResult composé d'une liste de des prédictions en langage et les probabilités de ces prédictions. Voici un exemple de données de sortie de cette tâche:

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

Ce résultat a été obtenu 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 les Application exemple Python