Dans le monde numérique, fournir des informations dans une langue locale n'est pas nouveau, mais cela peut être une tâche fastidieuse et coûteuse. Les progrès de l'apprentissage automatique (ML) et du traitement du langage naturel (NLP) ont rendu cette tâche beaucoup plus facile et moins coûteuse.
Nous avons constaté une adoption accrue du ML pour les charges de travail de traitement de données et de documents multilingues. Les clients des entreprises et des gouvernements migrent leurs charges de travail de traduction manuelle pour tirer parti des services de traduction automatisés de ML. Amazon Translate est un traduction automatique neurale service qui fournit une traduction rapide, de haute qualité et abordable entre plusieurs milliers d'appariements de langues qui peuvent être utilisés pour des tâches de traduction synchrones (en temps réel) ou asynchrones. Pour une liste complète des paires de traduction disponibles, reportez-vous à Langues et codes de langue pris en charge.
Les clients qui migrent et modernisent leurs charges de travail de traduction ont besoin de pouvoir personnaliser les traductions pour leur domaine d'activité. Une charge de travail de traduction peut également nécessiter la capacité de s'adapter aux dialectes ou à l'usage des langues régionales. Par exemple, la traduction espagnole de "personnes âgées" est anciano (a) mais à Porto Rico, le mot envejeciente est préféré.
Dans cet article, nous montrons comment intégrer la fonctionnalité de traduction personnalisée active (ACT) d'Amazon Translate. Nous proposons une solution pour créer un workflow de traduction de documents multilingue avec des personnalisations spécifiques au domaine et à la langue que vous pouvez revoir et augmenter au besoin pour améliorer en permanence les résultats et ravir les utilisateurs finaux.
Vue d'ensemble de la solution
ACT produit une sortie traduite personnalisée sans qu'il soit nécessaire de créer et de maintenir un modèle de traduction personnalisé. À l'aide d'ACT, Amazon Translate utilisera vos exemples de traduction préférés comme données parallèles pour personnaliser votre résultat de traduction, éliminant ainsi le temps et le coût nécessaires pour créer et former un nouveau modèle d'apprentissage automatique.
La solution couverte dans cet article explique comment créer un flux de travail humain dans la boucle à l'aide de IA augmentée d'Amazon (Amazon A2I) pour améliorer continuellement la traduction personnalisée. Amazon A2I fournit un moyen simple d'intégrer la surveillance humaine dans vos flux de travail ML, sans aucune expérience en ML requise. Amazon A2I facilite l'intégration du jugement humain et de l'IA dans n'importe quelle application ML, qu'elle soit exécutée sur AWS ou sur une autre plate-forme.
Pour plus d'informations, reportez-vous à Conception de workflows de révision humaine avec Amazon Translate et Amazon Augmented AI poster.
Le diagramme suivant affiche le flux de commandes et le flux de données de la solution. Le flux de commandes affiche la séquence logique des événements dans le workflow. Un flux de données indique comment les données sont créées ou utilisées par divers composants de la solution.
Le diagramme de séquence suivant montre deux processus distincts dans la solution : le workflow de traduction (A) et le processus de mise à jour des données parallèles (B).
Le workflow de traduction est initié par un Amazon Cloud Watch événement planifié qui démarre l'appelant de la tâche de traduction AWS Lambda fonction. Cette fonction crée une tâche de traduction asynchrone dans Amazon Translate, transmettant le document à traduire et l'emplacement des données parallèles pour personnaliser la traduction. La tâche de traduction lit les données parallèles, effectue la traduction et réécrit le résultat traduit dans un Amazon S3 seau. Au moment d'écrire ces lignes, seules les tâches de traduction asynchrones peuvent utiliser des données parallèles.
Lorsque la tâche de traduction est terminée, un événement est généré qui déclenche la fonction Lambda du gestionnaire d'achèvement de la tâche de traduction. Cette fonction crée une boucle de flux de travail humain, le composant principal de la partie Amazon A2I du flux de travail.
Des réviseurs humains évaluent la traduction et acceptent ou modifient la traduction. Toutes les corrections sont utilisées pour mettre à jour le document traduit et également ajoutées à un dictionnaire de personnalisation. Lorsque la révision est finalisée, un autre événement est généré pour déclencher la fonction Workflow Completion Handler. Cette fonction réécrit le dernier document traduit dans Amazon S3. Les données de personnalisation sont utilisées pour mettre à jour un Amazon DynamoDB table avec les paires de texte source et traduit.
Pour boucler la boucle, nous devons réintégrer ces données de personnalisation stockées dans DynamoDB dans les données parallèles stockées dans Amazon S3. Pour ce faire, nous utilisons un événement CloudWatch planifié pour déclencher la fonction Parallel Data Refresher, qui lit les données de la table DynamoDB, les reformate en tant que données parallèles et met à jour le compartiment S3, en stockant les données parallèles.
Déployez la solution avec AWS CloudFormation
Lancer le fourni AWS CloudFormation modèle pour déployer la solution dans votre compte. Cette pile ne fonctionne que dans la région us-east-1. Si vous souhaitez déployer cette solution dans d'autres régions, reportez-vous aux éléments suivants GitHub repo.
- Selectionnez Lancer la pile:
- Suivez les instructions pour remplir les paramètres nécessaires. Si vous exécutez cette pile pour la première fois, E-mail SRS est le seul paramètre obligatoire.
- Sur le Avis page, dans la Compétences section, cochez la case et choisissez Créer une pile.
La pile crée les composants clés suivants :
- Données de personnalisation – Une table DynamoDB (
translate_parallel_data
) pour conserver les données de personnalisation. Vous migrez les données de personnalisation existantes vers cette table. Cette table est utilisée pour ajouter et mettre à jour en continu des personnalisations. - Actualisation des données parallèles – La fonction Lambda pour convertir les données de personnalisation de la table DynamoDB dans un format de données parallèle (CSV, TSV ou TMX) et les stocker dans Amazon S3. Il crée et met à jour des données parallèles avec le nouveau fichier de données parallèles dans Amazon S3.
- Demandeur de travaux de traduction – La fonction Lambda pour démarrer la tâche par lots Amazon Translate avec des données parallèles.
- Gestionnaire de fin de tâche de traduction – Cette fonction Lambda est déclenchée lorsque la tâche par lots Amazon Translate est terminée. La fonction crée une boucle humaine par document (nous affinerons cela à l'avenir pour créer une boucle humaine uniquement pour un pourcentage sélectionné de documents traités). Il utilise les documents originaux et traduits pour créer la boucle humaine.
- Modèle personnalisé Amazon A2I – Ce modèle est utilisé pour rendre la paire de traduction pour une révision humaine. Le modèle a le Ajouter option pour chaque segment de traduction. Les utilisateurs peuvent sélectionner cette option pour ajouter les corrections aux données de personnalisation. Les nouvelles données de personnalisation sont utilisées dans la prochaine tâche de traduction par lots.
- Gestionnaire d'achèvement de workflow – Cette fonction Lambda est déclenchée lorsque le workflow humain est terminé. La fonction met à jour le document traduit avec des corrections et vérifie les mises à jour parallèles des données. De nouvelles données parallèles sont ajoutées à la table DynamoDB.
- Équipe privée Amazon A2I – Une équipe privée Amazon A2I est créée avec un travailleur humain utilisant l'e-mail fourni. Les informations d'identification initiales sont envoyées par e-mail lors de la création réussie de l'équipe privée. Vous utilisez cette adresse e-mail et ces informations d'identification pour vous connecter au portail des travailleurs Amazon A2I.
Testez la solution
La sample_text.txt
Le fichier aurait été créé sous le préfixe d'entrée du compartiment S3 créé par la pile. Nous utilisons ce fichier pour nos tests. Il contient le contenu suivant :
Pour tester la solution, procédez comme suit :
- Appelez manuellement la fonction Translation Job Invoker ou attendez qu'elle soit déclenchée par CloudWatch en fonction de la planification cron que vous avez spécifiée.
Cette fonction déclenche la tâche par lots Amazon Translate. Vous pouvez observer la progression de la tâche sur la console Amazon Translate.
Ce traitement par lots prend environ 30 minutes. Lorsqu'il est terminé, leTextTranslationJob
L'événement de changement d'état déclenche la fonction de gestionnaire d'achèvement de tâche de traduction. Cette fonction crée une boucle humaine par document traduit. - Accédez à la Effectifs Amazon A2I .
- Choisissez le Chef languette.
- Connectez-vous au portail des travailleurs Amazon A2I en choisissant le lien pour URL de connexion au portail d'étiquetage.
- Sélectionnez la tâche
Human review task
dans la liste des travaux. - Selectionnez Commencer à travailler.
Vous pouvez voir la page suivante affichée. - Suivez les instructions pour apporter des corrections spécifiques au domaine et à la langue.
Dans la capture d'écran précédente, la phrase "L'utilisation de l'état de santé dans toute police d'assurance maladie de groupe est interdite par la loi" a été traduite par "La ley prohíbe el uso del estado de salud en cualquier póliza de seguro médico de grupo". Bien que la traduction soit exacte, les phrases ont été réarrangées. - Modifions ceci en "El uso del estado de salud en cualquier póliza de seguro de salud grupal está prohibido por ley" pour en faire une traduction plus directe reflétant la phraséologie originale.
- Sélectionnez Ajouter pour l'ajouter au dictionnaire.
- Lorsque vous avez terminé, choisissez Envoyer.
Cela déclenche la fonction Workflow Completion Handler et les données de personnalisation sont mises à jour dans la table DynamoDB. La fonction stocke également la traduction corrigée sous le préfixe de post-édition.
Vous pouvez observer les personnalisations ajoutées à translate_parallel_data
table sur la console DynamoDB.
Flux de commandes
La fonction Parallel Data Refresher est déclenchée toutes les heures par un événement planifié CloudWatch. Cette fonction vérifie les nouvelles mises à jour dans le translate_parallel_data
table, crée un nouveau fichier TMX de données parallèles dans Amazon S3 sous le parallel_data
préfixe et met à jour le composant de données parallèles d'Amazon Translate. Vous pouvez déclencher cette fonction manuellement si vous ne souhaitez pas attendre le déclenchement de l'événement programmé.
Vous pouvez observer la mise à jour des données parallèles sur la console Amazon Translate.
Lorsqu'il est terminé, le statut du travail doit être Actif et la valeur pour Dossiers mis à jour doit refléter le nombre de personnalisations que vous avez ajoutées (dans ce cas, 1).
Nous pouvons maintenant exécuter à nouveau le travail de traduction avec les données mises à jour. Déclenchez à nouveau la fonction Translation Job Invoker pour observer la personnalisation ajoutée à la traduction dans la deuxième itération. Amazon Translate utilise désormais les données parallèles fournies pour personnaliser la traduction.
Vous pouvez observer le changement dans la sortie de traduction dans le portail d'étiquetage. Au lieu de la traduction par défaut, nous voyons la traduction personnalisée appliquée.
Ce flux de travail permet de créer un cercle vertueux pour améliorer en permanence la sortie de traduction à l'aide des fonctionnalités de personnalisation d'Amazon A2I et d'Amazon Translate.
Prix
Avec Amazon Translate et Amazon A2I, vous payez au fur et à mesure en fonction du nombre de caractères de texte que vous avez traités et pour chaque objet examiné par un humain. Nous utilisons le mode à la demande DynamoDB pour cet exemple. DynamoDB vous facture les lectures et écritures effectuées sur vos tables. Consultez les pages de tarification pour Amazon Traduire, Amazon A2Iet une Amazon DynamoDB pour les coûts réels.
Nettoyer
Lorsque vous avez terminé d'expérimenter cette solution, nettoyez vos ressources à l'aide de la console AWS CloudFormation pour supprimer toutes les ressources déployées dans cet exemple. Cela vous aide à éviter des frais continus sur votre compte.
Conclusion
Vous pouvez utiliser la solution présentée dans cet article pour créer un workflow de traduction multilingue qui utilise et augmente progressivement la personnalisation spécifique au domaine pour améliorer en permanence les résultats de la traduction. Nous avons fourni un mécanisme simple pour intégrer vos actifs de personnalisation existants avec des services d'IA gérés comme Amazon Translate et Amazon A2I afin de créer un service de traduction robuste pour votre application. Amazon Translate peut vous aider à faire évoluer cette solution pour prendre en charge plus de 5,550 2 paires de traduction prêtes à l'emploi. Amazon AXNUMXI peut vous aider à intégrer facilement votre expert linguistique interne ou à tirer parti d'une main-d'œuvre externe pour faire évoluer la solution.
Pour plus d'informations sur Amazon Translate, visitez Ressources Amazon Translate pour trouver des ressources vidéo et des articles de blog, et consultez FAQ sur la traduction d'AWS. Veuillez partager vos réflexions avec nous dans la section des commentaires ou dans la section des problèmes du projet Github référentiel.
À propos des auteurs
Sathya Balakrishnan est un architecte senior de livraison client au sein de l'équipe des services professionnels d'AWS, spécialisé dans les solutions Data/ML. Il travaille avec des clients financiers fédéraux américains. Il est passionné par la construction de solutions pragmatiques pour résoudre les problèmes commerciaux des clients. Dans ses temps libres, il aime regarder des films et faire de la randonnée avec sa famille.
Paul W.Joireman est un architecte senior de livraison client dans les services professionnels chez AWS, spécialisé dans la migration d'applications et travaillant avec des clients financiers fédéraux américains. Paul aime créer des solutions technologiques, voyager en famille et faire de la randonnée dans le parc national de Shenandoah, tant que la randonnée se termine dans une brasserie artisanale locale.
- Avancé (300)
- AI
- art de l'IA
- générateur d'art ai
- robot IA
- Amazon Traduire
- intelligence artificielle
- certification en intelligence artificielle
- intelligence artificielle en banque
- robot d'intelligence artificielle
- robots d'intelligence artificielle
- logiciel d'intelligence artificielle
- Apprentissage automatique AWS
- blockchain
- conférence blockchain ai
- cognitif
- intelligence artificielle conversationnelle
- crypto conférence ai
- de dall
- l'apprentissage en profondeur
- google ai
- machine learning
- Platon
- platon ai
- Intelligence des données Platon
- Jeu de Platon
- PlatonDonnées
- jeu de platogamie
- échelle ai
- syntaxe
- zéphyrnet