Cree un flujo de trabajo de traducción de documentos en varios idiomas con la personalización específica del dominio y del idioma PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Cree un flujo de trabajo de traducción de documentos en varios idiomas con personalización específica del dominio y del idioma

En el mundo digital, brindar información en un idioma local no es novedoso, pero puede ser una tarea tediosa y costosa. Los avances en el aprendizaje automático (ML) y el procesamiento del lenguaje natural (NLP) han hecho que esta tarea sea mucho más fácil y menos costosa.

Hemos visto una mayor adopción de ML para cargas de trabajo de procesamiento de documentos y datos multilingües. Los clientes empresariales y gubernamentales están migrando sus cargas de trabajo de traducción manual para aprovechar los servicios de traducción ML automatizados. Amazon Translate es un traducción automática neural servicio que ofrece traducción de idiomas rápida, de alta calidad y asequible entre varios miles de combinaciones de idiomas que se pueden utilizar para tareas de traducción sincrónicas (en tiempo real) o asincrónicas. Para obtener una lista completa de los pares de traducción disponibles, consulte Idiomas admitidos y códigos de idioma.

Los clientes que migran y modernizan sus cargas de trabajo de traducción necesitan la capacidad de personalizar las traducciones para su dominio empresarial. Una carga de trabajo de traducción también puede necesitar la capacidad de adaptarse a los dialectos o usos de idiomas regionales. Por ejemplo, la traducción al español de “elderly” es anciano(a) pero en Puerto Rico se prefiere la palabra envejeciente.

En esta publicación, demostramos cómo incorporar la función de traducción personalizada activa (ACT) de Amazon Translate. Proponemos una solución para crear un flujo de trabajo de traducción de documentos multilingües con personalizaciones específicas de dominio e idioma que puede revisar y aumentar según sea necesario para mejorar continuamente los resultados y deleitar a los usuarios finales.

Resumen de la solución

ACT produce resultados traducidos a medida sin necesidad de crear y mantener un modelo de traducción personalizado. Con ACT, Amazon Translate usará sus ejemplos de traducción preferidos como datos paralelos para personalizar el resultado de su traducción, eliminando el tiempo y el costo necesarios para crear y entrenar un nuevo modelo de aprendizaje automático.

La solución cubierta en esta publicación explica cómo crear un flujo de trabajo humano en el circuito usando IA aumentada de Amazon (Amazon A2I) para mejorar continuamente la traducción personalizada. Amazon A2I proporciona una forma sencilla de integrar la supervisión humana en sus flujos de trabajo de ML, sin necesidad de experiencia en ML. Amazon A2I facilita la integración del juicio humano y la IA en cualquier aplicación de ML, independientemente de si se ejecuta en AWS o en otra plataforma.

Para obtener más información, consulte Diseño de flujos de trabajo de revisión humana con Amazon Translate y Amazon Augmented AI enviar.

El siguiente diagrama muestra el flujo de comandos y el flujo de datos de la solución. El flujo de comandos muestra la secuencia lógica de eventos en el flujo de trabajo. Un flujo de datos indica cómo los diversos componentes de la solución crean o utilizan los datos.

Cree un flujo de trabajo de traducción de documentos en varios idiomas con la personalización específica del dominio y del idioma PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

El siguiente diagrama de secuencia muestra dos procesos separados en la solución: el flujo de trabajo de traducción (A) y el proceso para actualizar datos paralelos (B).

El flujo de trabajo de traducción es iniciado por un Reloj en la nube de Amazon evento programado que inicia el invocador de trabajo de traducción AWS Lambda función. Esta función crea un trabajo de traducción asincrónica en Amazon Translate, pasando el documento a traducir y la ubicación de los datos paralelos para personalizar la traducción. El trabajo de traducción lee los datos paralelos, realiza la traducción y vuelve a escribir el resultado traducido en un Amazon S3 balde. A partir de este escrito, solo los trabajos de traducción asíncrona pueden usar datos paralelos.

Cuando se completa el trabajo de traducción, se genera un evento que activa la función Lambda del controlador de finalización del trabajo de traducción. Esta función crea un bucle de flujo de trabajo humano, el componente principal de la parte del flujo de trabajo de Amazon A2I.

Los revisores humanos evalúan la traducción y aceptan o modifican la traducción. Las correcciones se utilizan para actualizar el documento traducido y también se agregan a un diccionario de personalización. Cuando finaliza la revisión, se genera otro evento para activar la función del controlador de finalización del flujo de trabajo. Esta función vuelve a escribir el último documento traducido en Amazon S3. Los datos de personalización se utilizan para actualizar un Amazon DynamoDB tabla con los pares de texto fuente y traducido.

Para cerrar el ciclo, debemos incorporar estos datos de personalización almacenados en DynamoDB nuevamente a los datos paralelos almacenados en Amazon S3. Para lograr esto, usamos un evento de CloudWatch programado para activar la función de actualización de datos paralelos, que lee los datos de la tabla de DynamoDB, los vuelve a formatear como datos paralelos y actualiza el depósito S3, almacenando los datos paralelos.

Implemente la solución con AWS CloudFormation

Inicie el proporcionado Formación en la nube de AWS plantilla para implementar la solución en su cuenta. Esta pila solo funciona en la región us-east-1. Si desea implementar esta solución en otras regiones, consulte el siguiente Repositorio GitHub.

  1. Elige Pila de lanzamiento:
    Cree un flujo de trabajo de traducción de documentos en varios idiomas con la personalización específica del dominio y del idioma PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.
  2. Siga las instrucciones para completar los parámetros necesarios. Si está ejecutando esta pila por primera vez, Correo electrónico de red social es el único parámetro requerido.
  3. En Revisar página, en el Capacidades sección, seleccione la casilla de verificación y elija Crear pila.

Cree un flujo de trabajo de traducción de documentos en varios idiomas con la personalización específica del dominio y del idioma PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

La pila crea los siguientes componentes clave:

  • Datos de personalización – Una tabla de DynamoDB (translate_parallel_data) para mantener los datos de personalización. Migre los datos de personalización existentes a esta tabla. Esta tabla se utiliza para agregar y actualizar continuamente personalizaciones.
  • Actualización de datos paralelos – La función Lambda para convertir los datos de personalización en la tabla de DynamoDB a un formato de datos paralelos (CSV, TSV o TMX) y almacenarlos en Amazon S3. Crea y actualiza datos paralelos con el nuevo archivo de datos paralelos en Amazon S3.
  • Invocador de trabajo de traducción – La función Lambda para iniciar el trabajo por lotes de Amazon Translate con datos paralelos.
  • Controlador de finalización de trabajos de traducción – Esta función de Lambda se activa cuando se completa el trabajo por lotes de Amazon Translate. La función crea un bucle humano por documento (refinaremos esto en el futuro para crear un bucle humano solo para un porcentaje seleccionado de documentos procesados). Utiliza los documentos originales y traducidos para crear el bucle humano.
  • Plantilla personalizada Amazon A2I – Esta plantilla se utiliza para representar el par de traducción para revisión humana. La plantilla tiene la Añada opción para cada segmento de traducción. Los usuarios pueden seleccionar esta opción para agregar las correcciones a los datos de personalización. Los nuevos datos de personalización se utilizan en el siguiente trabajo de traducción por lotes.
  • Controlador de finalización de flujo de trabajo – Esta función de Lambda se activa cuando se completa el flujo de trabajo humano. La función actualiza el documento traducido con correcciones y comprueba si hay actualizaciones de datos paralelas. Se agregan nuevos datos paralelos a la tabla de DynamoDB.
  • Equipo privado de Amazon A2I – Se crea un equipo privado de Amazon A2I con un trabajador humano utilizando el correo electrónico proporcionado. Las credenciales iniciales se envían por correo electrónico después de la creación exitosa del equipo privado. Utilice este correo electrónico y esta credencial para iniciar sesión en el portal de trabajadores de Amazon A2I.

Prueba la solución

El sample_text.txt el archivo se habría creado con el prefijo de entrada del depósito S3 creado por la pila. Usamos este archivo para nuestras pruebas. Contiene el siguiente contenido:

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.

Para probar la solución, complete los siguientes pasos:

  1. Invoque la función de invocador de trabajo de traducción de forma manual o espere a que CloudWatch la active en función de la programación cron que haya especificado.
    Esta función activa el trabajo por lotes de Amazon Translate. Puede observar el progreso del trabajo en la consola de Amazon Translate.
    Cree un flujo de trabajo de traducción de documentos en varios idiomas con la personalización específica del dominio y del idioma PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Este trabajo por lotes tarda aproximadamente 30 minutos en completarse. Cuando esté completo, el TextTranslationJob El evento de cambio de estado activa la función del controlador de finalización del trabajo de traducción. Esta función crea un bucle humano por documento traducido.
  2. Navegue hasta la Fuerzas de trabajo de Amazon A2I .
  3. Elija el Privado .
    Cree un flujo de trabajo de traducción de documentos en varios idiomas con la personalización específica del dominio y del idioma PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.
  4. Inicie sesión en el portal de trabajadores de Amazon A2I eligiendo el enlace para URL de inicio de sesión del portal de etiquetado.
  5. Seleccione la tarea Human review task en la lista de trabajos.
  6. Elige Empezar a trabajar.
    Cree un flujo de trabajo de traducción de documentos en varios idiomas con la personalización específica del dominio y del idioma PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.
    Puede ver que se muestra la siguiente página.
    Cree un flujo de trabajo de traducción de documentos en varios idiomas con la personalización específica del dominio y del idioma PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.
  7. Siga las instrucciones para realizar correcciones específicas del dominio y del idioma.
    En la captura de pantalla anterior, la frase "El uso del estado de salud en cualquier póliza de seguro médico de grupo está prohibido por ley" se tradujo a "La ley prohíbe el uso del estado de salud en cualquier póliza de seguro médico de grupo". Aunque la traducción es precisa, las frases se han reorganizado.
  8. Modifiquemos esto a “El uso del estado de salud en cualquier póliza de seguro de salud grupal está prohibido por ley” para que sea una traducción más directa que refleje la fraseología original.
  9. Seleccione Añada para agregar esto al diccionario.
  10. Cuando termines, elige Enviar.
    Cree un flujo de trabajo de traducción de documentos en varios idiomas con la personalización específica del dominio y del idioma PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Esto activa la función del controlador de finalización del flujo de trabajo y los datos de personalización se actualizan en la tabla de DynamoDB. La función también almacena la traducción corregida bajo el prefijo de ediciones posteriores.

Puede observar las personalizaciones que se agregan a translate_parallel_data tabla en la consola de DynamoDB.

Cree un flujo de trabajo de traducción de documentos en varios idiomas con la personalización específica del dominio y del idioma PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

flujo de comandos

La función de actualización de datos paralelos se activa cada hora por un evento programado de CloudWatch. Esta función busca nuevas actualizaciones en el translate_parallel_data tabla, crea un nuevo archivo TMX de datos paralelos en Amazon S3 bajo el parallel_data prefijo y actualiza el componente de datos paralelos de Amazon Translate. Puede activar esta función manualmente si no desea esperar a que se active el evento programado.

Puede observar cómo se actualizan los datos paralelos en la consola de Amazon Translate.

Cree un flujo de trabajo de traducción de documentos en varios idiomas con la personalización específica del dominio y del idioma PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Cuando esté completo, el estado del trabajo debería ser Active y el valor para Registros actualizados debe reflejar la cantidad de personalizaciones que agregó (en este caso, 1).

Cree un flujo de trabajo de traducción de documentos en varios idiomas con la personalización específica del dominio y del idioma PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Ahora podemos ejecutar el trabajo de traducción nuevamente con los datos actualizados. Vuelva a activar la función de invocador de trabajo de traducción para observar cómo se agrega la personalización a la traducción en la segunda iteración. Amazon Translate ahora utiliza los datos paralelos proporcionados para personalizar la traducción.

Cree un flujo de trabajo de traducción de documentos en varios idiomas con la personalización específica del dominio y del idioma PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Puede observar el cambio en la salida de la traducción en el portal de etiquetado. En lugar de la traducción predeterminada, vemos que se aplica la traducción personalizada.

Cree un flujo de trabajo de traducción de documentos en varios idiomas con la personalización específica del dominio y del idioma PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Este flujo de trabajo ayuda a crear un círculo virtuoso para mejorar continuamente el resultado de la traducción mediante las funciones de personalización de Amazon A2I y Amazon Translate.

Cost

Con Amazon Translate y Amazon A2I, paga sobre la marcha según la cantidad de caracteres de texto que procesó y por cada objeto revisado por humanos. Usamos el modo bajo demanda de DynamoDB para este ejemplo. DynamoDB le cobra por las lecturas y escrituras realizadas en sus tablas. Consulte las páginas de precios para Traductor de Amazon, AmazonA2Iy Amazon DynamoDB por costos reales.

Limpiar

Cuando termine de experimentar con esta solución, limpie sus recursos mediante la consola de AWS CloudFormation para eliminar todos los recursos implementados en este ejemplo. Esto le ayuda a evitar costos continuos en su cuenta.

Conclusión

Puede usar la solución presentada en esta publicación para crear un flujo de trabajo de traducción multilingüe que use y aumente la personalización específica del dominio de manera incremental para mejorar continuamente los resultados de la traducción. Brindamos un mecanismo simple para integrar sus activos de personalización existentes con servicios de IA administrados como Amazon Translate y Amazon A2I para crear un servicio de traducción sólido para su aplicación. Amazon Translate puede ayudarlo a escalar esta solución para admitir más de 5,550 pares de traducción listos para usar. Amazon A2I puede ayudarlo a integrarse fácilmente con su experto lingüístico interno o aprovechar una fuerza laboral externa para escalar la solución.

Para obtener más información sobre Amazon Translate, visite Recursos de Amazon Translate para encontrar recursos de video y publicaciones de blog, y consulte Preguntas frecuentes sobre el traductor de AWS. Comparta sus opiniones con nosotros en la sección de comentarios o en la sección de problemas del proyecto. Repositorio de Github.


Acerca de los autores

Cree un flujo de trabajo de traducción de documentos en varios idiomas con la personalización específica del dominio y del idioma PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Sathya Balakrishnan es Arquitecto Sr. de Entrega al Cliente en el equipo de Servicios Profesionales de AWS, especializado en soluciones de Datos/ML. Trabaja con clientes financieros federales de EE.UU. Le apasiona construir soluciones pragmáticas para resolver los problemas comerciales de los clientes. En su tiempo libre, disfruta ver películas y hacer caminatas con su familia.

Cree un flujo de trabajo de traducción de documentos en varios idiomas con la personalización específica del dominio y del idioma PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Paul W. Joireman es arquitecto sénior de entrega al cliente en servicios profesionales en AWS, se especializa en migración de aplicaciones y trabaja con clientes financieros federales de EE. UU. A Paul le gusta crear soluciones tecnológicas, viajar con la familia y hacer caminatas en el Parque Nacional Shenandoah, siempre que la caminata termine en una cervecería artesanal local.

Sello de tiempo:

Mas de Aprendizaje automático de AWS