Détection de la langue dans Chrome avec l'IA intégrée

Publié le 24 septembre 2024

Avant de traduire du texte d'une langue à une autre, vous devez d'abord déterminer la langue utilisée dans le texte donné. Auparavant, la traduction nécessitait d'importer le texte dans un service cloud, d'effectuer la traduction sur le serveur, puis de télécharger les résultats.

L'API Language Detector utilise l'inférence sur l'appareil afin que vous puissiez améliorer votre confidentialité. Bien qu'il soit possible de fournir une bibliothèque spécifique qui effectue cette opération, cela nécessiterait des ressources supplémentaires à télécharger.

Disponibilité

S'inscrire à l'essai

Pour commencer à utiliser l'API Language Detector, procédez comme suit:

  1. Accepter le Règlement Google sur les utilisations interdites de l'IA générative
  2. Accédez à la phase d'évaluation de l'API Language Detector.
  3. Cliquez sur Register (Enregistrer) et remplissez le formulaire.
    • Dans le champ Origine Web, indiquez votre origine ou l'ID de l'extension, chrome-extension://YOUR_EXTENSION_ID.
  4. Pour envoyer votre demande, cliquez sur Register (S'inscrire).
  5. Copiez le jeton fourni et ajoutez-le à chaque page Web de votre origine ou de votre fichier pour votre extension, sur laquelle vous souhaitez activer le test.
  6. Commencez à utiliser l'API Language Detection.

Découvrez comment commencer à utiliser les tests d'origine.

Ajouter la prise en charge de localhost

Pour accéder à l'API Language Detection sur localhost pendant la phase d'évaluation de l'origine, vous devez mettre à jour Chrome vers la dernière version. Ensuite, procédez comme suit :

  1. Ouvrez Chrome sur l'une des plates-formes suivantes: Windows, Mac ou Linux.
  2. Accédez à chrome://flags/#language-detection-api.
  3. Sélectionnez Activé.
  4. Cliquez sur Relancer ou redémarrez Chrome.

Exemples de cas d'utilisation

L'API Language Detector est principalement utile dans les scénarios suivants:

  • Déterminez la langue du texte saisi afin qu'il puisse être traduit.
  • Déterminez la langue du texte d'entrée afin que le modèle approprié puisse être chargé pour les tâches spécifiques à la langue, telles que la détection de toxicité.
  • Déterminez la langue du texte saisi afin qu'il puisse être correctement libellé, par exemple sur les sites de réseaux sociaux en ligne.
  • Déterminez la langue du texte saisi afin que l'interface d'une application puisse être ajustée en conséquence. Par exemple, sur un site belge, pour n'afficher que l'interface adaptée aux utilisateurs qui parlent français.

Utiliser l'API Language Detector

L'API Language Detector fait partie de la famille plus vaste de l'API Translator. Commencez par exécuter la détection de fonctionnalités pour voir si le navigateur est compatible avec l'API Language Detector.

if ('translation' in self && 'canDetect' in self.translation) {
  // The Language Detector API is available.
}  

Téléchargement du modèle

La détection de la langue dépend d'un modèle optimisé pour la tâche spécifique de détection des langues. Bien que l'API soit compilée dans le navigateur, le modèle est téléchargé à la demande la première fois qu'un site tente d'utiliser l'API. Dans Chrome, ce modèle est très petit par rapport aux autres modèles. En fait, il est peut-être déjà présent, car ce modèle est également utilisé par les fonctionnalités du navigateur Chrome.

Pour savoir si le modèle est prêt à être utilisé, appelez la fonction translation.canDetect() asynchrone. Trois réponses sont possibles:

  • 'no': le navigateur actuel est compatible avec l'API Language Detector, mais il ne peut pas être utilisé pour le moment. Par exemple, parce qu'il n'y a pas assez d'espace disque disponible pour télécharger le modèle.
  • 'readily': le navigateur actuel est compatible avec l'API Language Detector et peut être utilisé immédiatement.
  • 'after-download': le navigateur actuel est compatible avec l'API Language Detector, mais il doit d'abord télécharger le modèle.

Pour déclencher le téléchargement et instancier le détecteur de langue, appelez la fonction translation.createDetector() asynchrone. Si la réponse à canDetect() était 'after-download', il est recommandé d'écouter la progression du téléchargement afin d'informer l'utilisateur si le téléchargement prend du temps.

L'exemple suivant montre comment initialiser le détecteur de langue.

const canDetect = await translation.canDetect();
let detector;
if (canDetect === 'no') {
  // The language detector isn't usable.
  return;
}
if (canDetect === 'readily') {
  // The language detector can immediately be used.
  detector = await translation.createDetector();
} else {
  // The language detector can be used after model download.
  detector = await translation.createDetector();
  detector.addEventListener('downloadprogress', (e) => {
 console.log(e.loaded, e.total);
  });
  await detector.ready;
}

Exécuter le détecteur de langue

L'API Language Detector utilise un modèle de classement pour déterminer la langue la plus probable dans un texte donné. Le classement est un type d'apprentissage automatique dont l'objectif est de classer une liste d'éléments. Dans ce cas, l'API Language Detector classe les langues de la probabilité la plus élevée à la plus faible.

La fonction detect() peut renvoyer le premier résultat, la réponse la plus probable ou itérer sur les candidats classés en fonction du niveau de confiance. Il est renvoyé sous la forme d'une liste d'objets {detectedLanguage, confidence}. Le niveau confidence est exprimé sous la forme d'une valeur comprise entre 0.0 (confiance la plus faible) et 1.0 (confiance la plus élevée).

const someUserText \= 'Hallo und herzlich willkommen\!';
const results \= await detector.detect(someUserText);
for (const result of results) {
  // Show the full list of potential languages with their likelihood, ranked
  // from most likely to least likely. In practice, one would pick the top
  // language(s) that cross a high enough threshold.
  console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...

Démo

Découvrez l'API Language Detector dans notre démonstration. Saisissez du texte écrit dans différentes langues dans la zone de texte.

Effort de standardisation

L'API Language Detector a été transférée vers le groupe de la communauté de l'incubateur Web du W3C après que la proposition correspondante a reçu suffisamment d'appuis. L'API fait partie d'une proposition d'API Translation plus vaste.

L'équipe Chrome a demandé des commentaires au Groupe d'architecture technique du W3C et à Mozilla et WebKit pour connaître leur position sur les normes.

Envoyer des commentaires

Si vous avez des commentaires sur l'implémentation de Chrome, signalez un bug dans Chromium. Partagez vos commentaires sur la forme de l'API du détecteur de langue en commentant un problème existant ou en en créant un dans le dépôt GitHub de l'API Translation.