Amazon Translate : Présentation et traduction en temps réel

L’intelligence artificielle est aujourd’hui largement utilisée pour automatiser des tâches liées au traitement du langage naturel. La traduction automatique en est un bon exemple : les modèles de machine learning permettent de traduire du contenu d’une langue vers une autre tout en prenant en compte le contexte du texte.

Dans cet article, nous allons découvrir Amazon Translate, le service AWS de traduction automatique basé sur le machine learning. Nous verrons ses principaux cas d’usage ainsi que différentes façons de l’utiliser.

Amazon Translate

Amazon Translate est un service de traduction automatique neuronale entièrement managé par AWS. Il s’appuie sur des modèles de machine learning capables de prendre en compte le contexte du texte afin de produire des traductions naturelles et adaptées au sens du contenu source.

Contrairement aux solutions de traduction traditionnelles basées principalement sur des règles linguistiques, Amazon Translate utilise des technologies de deep learning pour améliorer la qualité et la fluidité des traductions.

En tant que service managé, Amazon Translate ne nécessite aucune infrastructure à provisionner ni à maintenir. AWS prend en charge la disponibilité, la scalabilité et l’infrastructure sous-jacente, tandis que les équipes de développement se concentrent sur l’intégration du service dans leurs applications et leurs pipelines.

Amazon Translate prend en charge plusieurs langues et permet de traduire du contenu entre de nombreuses paires linguistiques.

Les deux modes de traduction

Amazon Translate propose deux modes d’utilisation:

  • Traduction en temps réel (synchrone) : on envoie un texte et on reçoit la traduction immédiatement. C'est le mode utilisé pour traduire une interface utilisateur, un message de chat, ou un contenu généré dynamiquement.
  • Traduction par lot (batch, asynchrone) : on soumet un ou plusieurs documents stockés dans un bucket S3, et Amazon Translate traite le job en arrière-plan avant de déposer les résultats dans un autre emplacement S3. C'est le mode adapté pour traduire de gros volumes de documents (catalogues produits, bases de connaissances, archives).

Cas d'usage typiques

Amazon Translate peut être utilisé dans de nombreux scénarios, comme :
  • Applications ou de sites web multilingues
  • Traduction de tickets de support client en temps réel
  • Traduction de documents internes (contrats, rapports) avec prise en charge de différents formats de fichiers
  • Sous-titrage ou traduction de contenus générés par d'autres services AWS (Amazon Transcribe pour la transcription). Par exemple, Amazon Transcribe peut convertir un fichier audio en texte, puis Amazon Translate peut traduire ce texte vers une autre langue. Ces services peuvent ainsi être intégrés dans un même pipeline automatisé.

Demo: Amazon Translate en temps réel

Via la console

Pour effectuer une traduction en temps réel depuis la console AWS, ouvrez le service Amazon Translate, puis sélectionnez Real-time translation dans le menu de navigation situé à gauche.
Sélectionnez ensuite la langue source et la langue cible (Il est également possible de laisser Amazon Translate détecter automatiquement la langue source), et saisissez le texte à traduire dans la zone Enter text. La traduction s'affiche immédiatement dans la zone Transltedd text.

Via la CLI

La commande translate-text permet d'effectuer une traduction synchrone directement en ligne de commande :

aws translate translate-text --text "Bonjour, Vous êtes sur le blog Cloudedlabs" --source-language-code "fr" --target-language-code "en" --region eu-west-3

Amazon Translate peut ainsi être utilisé depuis un script ou intégré dans un pipeline automatisé afin de traduire du contenu à la demande.

Via le SDK

Pour aller plus loin, Amazon Translate peut être appelé directement depuis le code d'une application grâce à AWS SDK. Voici un exemple simple en Node.js :

Cette approche permet d'intégrer Amazon Translate directement dans une application  et d'effectuer des traductions à la demande, sans passer par la console AWS ou la CLI.

Dans le prochain article, nous verrons comment mettre en place un pipeline de traduction par lot avec Amazon S3 et Amazon Translate.