Catégories
Start-up et applications

Comment traduire par programme votre application ou votre site Web avec des API

La localisation d'une application ouvre votre marché accessible à des publics supplémentaires de l'autre côté des barrières linguistiques actuelles. Nous vous montrerons comment démarrer avec les outils de l'API Google afin que vous puissiez ajouter des capacités de traduction automatique de langue aux applications et aux sites Web. Notre enquête portera sur divers outils de traduction qui nous aident à traduire plus rapidement et plus efficacement. Nous examinerons également comment la qualité de la traduction automatique se compare aux services linguistiques professionnels et aux indépendants.

Options Web programmables pour la traduction de langues et Google Supremacy

La traduction d'une langue dans une autre est une exigence fondamentale pour tout site Web ou application à la recherche d'une portée mondiale. Les services Web comme Zapier ou IFTTT vous permettront de connecter différents canaux de service Web, créant des workflows et des webhooks pour connecter une application à une autre. Mais si vous êtes un puriste, travailler avec des API est la voie royale pour faire le travail.

Nous allons nous concentrer sur l'API Translate de GoogleSuivre cette API. Sans surprise, Google est un pionnier du langage machine et de l'apprentissage automatique – les deux mots L étant les deux faces d'une même médaille. La langue s'apprend et l'apprentissage s'acquiert par la maîtrise du langage naturel. Lancé en 2006, Google a formé son moteur de traduction dès le départ en digérant des dizaines de millions de mots trouvés dans les parlements traduits de l'Union européenne et les documents des Nations Unies. C'est une pensée effrayante si vous craignez que le langage ne devienne bureaucrate.

Heureusement, le processus d'apprentissage ne s'est pas arrêté là. Google Translate prend désormais en charge plus de 100 langues, dont des dizaines avec prise en charge vocale complète. La technologie sous-jacente, en constante évolution, est basée sur les réseaux de neurones de l'IA. La traduction automatique neuronale (NMT) a été introduite par le consortium de recherche européen QT21 lors du prestigieux WMT (Workshop on Machine Translation) 2016 dans ce qui était considéré comme un "changement de paradigme" dans la technologie de traduction automatisée, battant les grandes entreprises technologiques cette année-là. Google et d'autres leaders technologiques ont adopté le NMT peu de temps après.

Un article dans Wired explique comment les innovations de Google en matière d'IA ont provoqué une percée dans la traduction automatique. Aujourd'hui, Google est confronté à la concurrence de Facebook, qui tire parti des enseignements tirés des commentaires et des publications de ses 2 milliards d'utilisateurs pour faire son propre apprentissage. Mais la traduction neuronale reste la voie à suivre pour tous les acteurs de la traduction automatique.

Premiers pas avec l'API Google Translate

Google fait la promotion de son API comme étant rapide et dynamique, adaptable aux divers besoins de contenu. La société commercialise non seulement des codeurs à usage intensif, mais également un large éventail d'utilisateurs, y compris ceux ayant une "expertise limitée en apprentissage automatique" qui peuvent rapidement "créer des modèles de haute qualité, prêts pour la production". Peut-être pas ta grand-mère, mais peut-être sa petite-fille.

La promesse est simple: il suffit de télécharger des paires de langues traduites et la traduction AutoML formera un modèle personnalisé "pour vous. Comme indiqué précédemment dans ProgrammableWeb, le flux de travail permet des entrées personnalisées ou pré-formées (par Google). Pour traduire une description de produit en anglais en espagnol, japonais et russe, vous pouvez personnaliser un modèle Google AutoML pour l'espagnol et compter sur un modèle pré-formé standard pour le japonais et le russe. Téléchargez simplement votre fichier HTML anglais sur Google Cloud Storage et envoyez une demande par lots à l'API de traduction pointant vers vos modèles AutoML et pré-formés. La traduction AutoML de Google génère ensuite votre code HTML dans trois fichiers de langue distincts vers Cloud Storage.

La formation est la clé, mais pas besoin de couches et de pas de bébé. Ce tout-petit est pré-formé pour traduire plus de 100 langues pour les sites Web et les applications. Et si vous avez un lexique spécialisé – termes médicaux ou juridiques, par exemple – ceux-ci nécessitent juste un peu plus de formation et de personnalisation de l'API de base. Une fonctionnalité Glossaire permet aux utilisateurs de définir une terminologie spécifique (par exemple, les noms de marque, les noms de produits, les noms de rues) pour s'assurer qu'ils sont conservés intacts pendant la traduction. La prise en charge intégrée d'une API de traduction multimédia, qui gère le streaming en temps réel et à faible latence des traductions audio.

Le processus ne comporte que 3 étapes: télécharger une paire de langues. Former AutoML. Évaluer.

Avant de nous salir les mains avec des échantillons, un mot sur les étiquettes de prix. Vous utiliserez l'API Google Translate et, éventuellement, l'API Media Translation (si vous devez prendre en charge l'audio) et le service AutoML (si vous devez vous entraîner pour des paires de langues supplémentaires). Les frais pour l'API Translate sont de 20 $ par million de caractères traités. L'API de traduction des médias vous coûtera 0,068 $ à 0,084 $ par minute. AutoML coûte 45 $ de l'heure pour la formation d'une paire de langues, jusqu'à un maximum de 300 $ / paire. Il n'y a pas de minimum: payez ce que vous utilisez, tel que vous l'utilisez. Google propose un traitement gratuit à mesure que vous vous mettez au courant, avec un an pour vous entraîner avant de payer.

Configuration de votre première traduction

Concentrons-nous sur l'API RESTful Translate comme moyen le plus simple de commencer. Google propose deux méthodes de configuration, de base et avancée. Pour le bénéfice de grand-mère ou de sa petite-fille, nous allons commencer par la base. Si vous avez configuré une API Google, vous connaissez probablement plus ou moins l'exercice et vous possédez peut-être déjà un compte Cloud Console. En supposant que cela soit vrai, les prochaines choses que vous devez faire, si vous ne les avez pas déjà faites, sont:

  • Créez ou sélectionnez votre projet.
  • Activez l'API Cloud Translation.
  • Créez un compte de service.
  • Téléchargez votre clé privée au format JSON. Vous aurez besoin du chemin d'accès complet à ce fichier pour l'étape suivante.

Accédez à l'invite du shell sur votre système Mac OS X, Linux ou Windows (Powershell) et définissez la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS au chemin de votre clé de compte de service JSON à l'aide des commandes suivantes. Cette variable s'applique uniquement à la session shell actuelle. Si vous ouvrez une nouvelle session, vous devrez réinitialiser cette variable, en remplaçant (PATH) par le chemin du fichier JSON contenant votre clé.

Si vous utilisez Linux ou macOS:

export GOOGLE_APPLICATION_CREDENTIALS="(PATH)"

Pour Windows, dans PowerShell:

$env:GOOGLE_APPLICATION_CREDENTIALS="(PATH)"

Ou, à partir d'une invite de commande, simplement:

set GOOGLE_APPLICATION_CREDENTIALS=(PATH)

Ensuite, installez et initialisez le SDK Cloud de Google. Selon le système d'exploitation spécifique que vous utilisez, le SDK Cloud peut dépendre d'une version de Python qui n'est pas déjà installée sur votre système. Assurez-vous donc de vérifier la documentation Cloud SDK et assurez-vous que la version appropriée de Python est installée. Vous roulez!

Exécution de votre première traduction

Faire une demande d'API de traduction avec un appel REST à l'aide de la v2 traduire la méthode.

Utilisation boucle faire votre demande au https://translation.googleapis.com/language/translate/v2 point final. La commande inclut JSON avec (1) le texte à traduire (q), (2) la langue à traduire (la source) et (3) la langue à traduire (cible).

Les langues source et cible sont identifiées par des codes ISO-639-1. Dans notre exemple, la langue source est l'anglais (en) et la cible est le français (fr). Le format de requête est du "texte" simple.

L'échantillon boucle utilise la commande gcloud auth jeton d'accès à l'impression par défaut de l'application pour obtenir un jeton d'authentification.

curl -s -X POST -H "Content-Type: application/json" 
    -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) 
    --data "{
  'q': 'The quick brown fox jumps over the lazy dog',
  'source': 'en',
  'target': 'fr',
  'format': 'text'
}" "https://translation.googleapis.com/language/translate/v2"

La réponse devrait ressembler à ce qui suit:

{
  "data": {
    "translations": (
      {
        "translatedText": "Le renard brun rapide saute par-dessus le chien paresseux"
      }
    )
  }
}

Félicitations, renard! Vous avez envoyé votre première demande à l'API Cloud Translation! Prochaines étapes

Pour la plupart des applications, vous pouvez compter sur l'une des plus de 100 paires de langues déjà formées et testées. (Si la paire dont vous avez besoin n'est pas disponible, ou si vous avez besoin d'une traduction personnalisée, vous pouvez recourir au module de formation AutoML.) Le processus complet est le suivant:

  1. Créez un fichier contenant les paires de langues souhaitées, en utilisant l'exemple de commande CURL ci-dessus. Choisissez les langues source et cible dans la liste ici, telles que "en" et "fr".
  2. Écrivez du code qui lit le contenu de votre site Web et effectue un appel REST à l'API Cloud Translation (y compris un paramètre pointant vers votre modèle et produisant ensuite une version traduite de ce texte).
  3. Créez une nouvelle page dans votre système de gestion de contenu pour contenir, puis afficher le texte traduit. Mieux encore, si votre système de gestion de contenu est programmable (directement ou par le biais d'API), améliorez le code que vous avez écrit en automatisant cette partie du processus.
  4. Configurez votre système de gestion de contenu et votre site Web pour afficher les pages appropriées lorsqu'une langue spécifique est sélectionnée par les utilisateurs finaux de votre site.

Les bibliothèques clientes sont actuellement disponibles pour sept langages de programmation populaires – C #, Go, Java, Node.js, PHP, Python et Ruby. Installez simplement la bibliothèque de votre choix. Accédez aux bibliothèques de clients de traduction pour les instructions d'installation.

Vous voulez plus de variété? ProgrammableWeb a rassemblé une grande collection d'API de traduction provenant de diverses sources.

Si vous avez envie de vous amuser avant de vous lancer dans les affaires, pourquoi ne pas enrouler vos pantalons et essayer une API de traduction shakespearienne, qui convertit le texte anglais simple en anglais inventé de style shakespearien. Pour citer le Barde: "Cache-toi, renard et tout le reste!"

OK, assez de plaisir foxy. vous êtes prêt. Maintenant, le vrai travail commence!

Qualité de la traduction: logiciels vs indépendants vs agences

Ne nous leurrons pas. Les machines sont loin de correspondre à un traducteur humain qualifié en termes de qualité pour la plupart des langues et des tâches. Mais le logiciel est beaucoup plus efficace pour les langages de routine, hautement structurés et répétitifs tels que les bulletins météorologiques, les résultats sportifs, les rapports financiers de routine ou les expressions juridiques standard. Mais pour tout ce qui nécessite de la créativité et de la persuasion? Oublie.

Pourtant, pour les sites Web et les applications, avouons-le: personne ne s'attend à la perfection d'une traduction automatique. Tant qu'il n'y a rien de trop embarrassant, ou carrément stupide dans les résultats, les lecteurs sont susceptibles de hausser les épaules et de ne pas être trop confus. Ils peuvent même rire. En bref, investir dans la localisation de votre site avec une API personnalisée et la traduction automatique peut être un excellent investissement pour ajouter des fonctionnalités et étendre la portée de votre contenu numérique.

Cependant, pour garantir la meilleure qualité, vous devriez envisager d'augmenter les traductions programmatiques avec des critiques de professionnels de la langue. Ils entrent en jeu lors de la préparation des paires de langues et de l'évaluation des résultats. Si vous ne prenez en charge qu'une ou deux langues étrangères, une approche rentable consiste à embaucher un pigiste sur un marché comme Upwork ou freelancer.com. Assurez-vous de rechercher une personne ayant des compétences techniques et une expérience en localisation, car cette personne sera en contact avec les développeurs et traitera du matériel technique.

L'option professionnelle la plus coûteuse consiste à embaucher une agence spécialisée dans la localisation, qui est le slogan des processus que nous décrivons ici: préparer votre site Web ou votre application pour prendre en charge plusieurs langues et traduire automatiquement la langue, les formats et les unités de mesure . Une fois que vous avez dépassé quelques langues, l'approche indépendante peut impliquer des frais généraux lourds. Une bonne entreprise de localisation aura des équipes multilingues pour évaluer les résultats de votre formation API et langage machine sans vous impliquer dans le vif du sujet.

À propos de l'écrivain

Ofer Tirosh est fondateur et PDG de Tomedes, un fournisseur de services linguistiques professionnels spécialisé dans la traduction et la localisation.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *