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
- 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
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.