Créez un flux de travail de traduction de documents multilingue avec une personnalisation spécifique au domaine et à la langue PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Créez un workflow de traduction de documents multilingue avec une personnalisation spécifique au domaine et à la langue

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.

Créez un flux de travail de traduction de documents multilingue avec une personnalisation spécifique au domaine et à la langue PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

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.

  1. Selectionnez Lancer la pile:
    Créez un flux de travail de traduction de documents multilingue avec une personnalisation spécifique au domaine et à la langue PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
  2. 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.
  3. Sur le Avis page, dans la Fonctionnalités section, cochez la case et choisissez Créer une pile.

Créez un flux de travail de traduction de documents multilingue avec une personnalisation spécifique au domaine et à la langue PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

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 :

Life insurance companies have the freedom to charge different premiums based on risk
factors that predict mortality. Purchasing a life insurance policy often entails a health 
status check or medical exam, and asking for vaccination status is not banned.

Health insurers are a different story. A slew of state and federal regulations in the 
last three decades have heavily restricted their ability to use health factors in issuing 
or pricing polices. The use of health status in any group health insurance policy is 
prohibited by law. The Affordable Care Act, passed in 2014, prevents insurers from pricing 
plans according to health – with one exception: smoking status.

Pour tester la solution, procédez comme suit :

  1. 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.
    Créez un flux de travail de traduction de documents multilingue avec une personnalisation spécifique au domaine et à la langue PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Ce traitement par lots prend environ 30 minutes. Lorsqu'il est terminé, le TextTranslationJob 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.
  2. Accédez à la Effectifs Amazon A2I .
  3. Choisissez le Chef languette.
    Créez un flux de travail de traduction de documents multilingue avec une personnalisation spécifique au domaine et à la langue PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
  4. Connectez-vous au portail des travailleurs Amazon A2I en choisissant le lien pour URL de connexion au portail d'étiquetage.
  5. Sélectionnez la tâche Human review task dans la liste des travaux.
  6. Selectionnez Commencer à travailler.
    Créez un flux de travail de traduction de documents multilingue avec une personnalisation spécifique au domaine et à la langue PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
    Vous pouvez voir la page suivante affichée.
    Créez un flux de travail de traduction de documents multilingue avec une personnalisation spécifique au domaine et à la langue PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
  7. 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.
  8. 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.
  9. Sélectionnez Ajouter pour l'ajouter au dictionnaire.
  10. Lorsque vous avez terminé, choisissez Envoyer.
    Créez un flux de travail de traduction de documents multilingue avec une personnalisation spécifique au domaine et à la langue PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

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.

Créez un flux de travail de traduction de documents multilingue avec une personnalisation spécifique au domaine et à la langue PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

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.

Créez un flux de travail de traduction de documents multilingue avec une personnalisation spécifique au domaine et à la langue PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

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

Créez un flux de travail de traduction de documents multilingue avec une personnalisation spécifique au domaine et à la langue PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

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.

Créez un flux de travail de traduction de documents multilingue avec une personnalisation spécifique au domaine et à la langue PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

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.

Créez un flux de travail de traduction de documents multilingue avec une personnalisation spécifique au domaine et à la langue PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

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

Créez un flux de travail de traduction de documents multilingue avec une personnalisation spécifique au domaine et à la langue PlatoBlockchain Data Intelligence. Recherche verticale. Aï.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.

Créez un flux de travail de traduction de documents multilingue avec une personnalisation spécifique au domaine et à la langue PlatoBlockchain Data Intelligence. Recherche verticale. Aï.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.

Horodatage:

Plus de Apprentissage automatique AWS