Guide de détection de la langue pour le Web

La tâche "Détecteur de langue MediaPipe" vous permet d'identifier la langue d'un texte. Ces vous explique comment utiliser le détecteur de langue pour les applications Web et JavaScript. L'exemple de code décrit 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 pour le détecteur de langue fournit une implémentation complète de ce en JavaScript à titre de référence. Ce code vous aide à tester cette tâche et commencez à créer votre propre fonctionnalité de détecteur de langue. Vous pouvez afficher, exécuter et modifiez le Exemple de code du détecteur de langue 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 le Web

Packages JavaScript

Le code du détecteur de langue est disponible via la @mediapipe/tasks-text d'un package. Vous pouvez trouver et télécharger ces bibliothèques à partir des liens fournis dans la plateforme Guide de configuration

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

Vous pouvez installer les packages requis avec le code suivant pour la préproduction locale en exécutant la commande suivante:

npm install @mediapipe/tasks-text

Si vous souhaitez le déployer sur un serveur, vous pouvez utiliser un module de diffusion de contenu (CDN), comme jsDelivr, ajoutez du code directement à votre page HTML, comme suit:

<head>
  <script src="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/index.js"
    crossorigin="anonymous"></script>
</head>

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 un modèle, puis stockez-le dans le répertoire de votre projet:

<dev-project-root>/app/shared/models

Spécifiez le chemin d'accès du modèle avec l'objet baseOptions modelAssetPath. , comme indiqué ci-dessous:

baseOptions: {
        modelAssetPath: `/app/shared/models/language_detector.tflite`
      }

Créer la tâche

Utilisez l'une des fonctions LanguageDetector.createFrom...() du détecteur de langue pour : préparer la tâche à exécuter des inférences. Vous pouvez utiliser l'createFromModelPath() avec un chemin d'accès relatif ou absolu vers le fichier de modèle entraîné. Le code L'exemple ci-dessous illustre l'utilisation de la fonction createFromOptions(). Pour plus sur la configuration des tâches, consultez Options de configuration.

Le code suivant montre comment compiler et configurer cette tâche.

async function createDetector() {
  const textFiles = await FilesetResolver.forTextTasks(
      "https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/wasm/");
  languageDetector = await languageDetector.createFromOptions(
    textFiles,
    {
      baseOptions: {
        modelAssetPath: `https://storage.googleapis.com/mediapipe-models/language_detector/language_detector/float32/1/language_detector.tflite`
      },
    }
  );
}
createDetector();

Options de configuration

Cette tâche comporte les options de configuration suivantes pour le Web et JavaScript applications:

Nom de l'option Description Plage de valeurs Valeur par défaut
maxResults 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
scoreThreshold 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
categoryAllowlist 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 categoryDenylist et l'utilisation des deux entraînent une erreur. Toutes les chaînes Non défini
categoryDenylist 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 categoryAllowlist 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 (string). La tâche gère le prétraitement des entrées de données, y compris la tokenisation et le prétraitement des Tensors. L'ensemble du prétraitement est géré dans la fonction detect. Il n'est pas nécessaire pour prétraiter davantage le texte d'entrée.

const inputText = "The input text for the detector.";

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 modèle:

// Wait to run the function until inner text is set
const detectionResult = languageDetector.detect(inputText);

Gérer et afficher les résultats

La tâche de détecteur de langue génère un LanguageDetectorResult composé d'une liste de prédictions linguistiques, ainsi que les probabilités de ces prédictions. La 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 du code requis pour traiter et visualiser les résultats de cette tâche, consultez les Application exemple Web