Guía para principiantes de AutoML Translation

AutoML Translation te permite compilar modelos personalizados (sin escribir código) adaptados a tu contenido específico de dominio en comparación con el modelo predeterminado de traducción automática neuronal (NMT) de Google.

Imagina que ejecutas un servicio de informes financieros y existe la oportunidad de expandirlo a nuevos países. En esos mercados, es necesario que tus documentos financieros urgentes se traduzcan en tiempo real. En lugar de contratar personal financiero bilingüe o un traductor especializado, que en ambos casos tienen un precio alto debido a la experiencia en el sector necesaria y a tu necesidad de una respuesta rápida, un modelo personalizado puede ayudarte a automatizar los trabajos de traducción de manera escalable.

Traducción

Pruébalo tú mismo

Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud Translation en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.

Probar Cloud Translation gratis

¿Por qué el aprendizaje automático (AA) es la herramienta correcta para este problema?

La programación clásica requiere que el programador especifique las instrucciones paso a paso para que la computadora las siga. Este enfoque se vuelve rápidamente inviable para la traducción. El lenguaje natural es complejo, y traducirlo también es complejo. La traducción automática se realiza casi por completo con un enfoque estadístico, en el que se usan corpus paralelos enormes en reemplazo de los expertos lingüísticos que ajustan conjuntos especializados de reglas a mano.

Necesitas un sistema que puedas aplicar de forma general a una amplia variedad de situaciones de traducción, pero que se centre con precisión en tu caso práctico y en el dominio lingüístico específico de la tarea en los pares de idiomas que te interesan. En una situación en la que una secuencia de reglas específicas está destinada a expandirse de manera exponencial, necesitas un sistema que pueda aprender de los ejemplos. Por fortuna, los sistemas de aprendizaje automático tienen lo necesario para resolver este problema.

¿El modelo de NMT predeterminado o un modelo personalizado es la herramienta adecuada para mí?

El modelo de traducción automática neuronal (NMT) cubre una gran cantidad de pares de idiomas y funciona bien con texto de uso general. Un modelo personalizado se destaca realmente por el "último kilómetro" entre las tareas de traducción genéricas y los vocabularios específicos y especializados. AutoML Translation comienza con el modelo genérico de NMT y, luego, adapta el modelo para que se ajuste a tus datos de entrenamiento a fin de obtener la traducción adecuada para el contenido específico del dominio que te interesa.

¿Qué implica el aprendizaje automático?

El aprendizaje automático implica el uso de datos para entrenar algoritmos a fin de lograr un resultado deseado. Los detalles de los métodos de entrenamiento y cambian en función del ámbito del problema. Existen muchas subcategorías diferentes de aprendizaje automático; todas ellas resuelven distintos problemas y funcionan con diferentes restricciones. AutoML Translate te permite realizar un aprendizaje supervisado, que conlleva el entrenamiento de una computadora para que reconozca patrones de pares de oraciones traducidas. Mediante el uso del aprendizaje supervisado, podemos entrenar un modelo personalizado para traducir contenido específico del dominio que te interesa.

Preparación de datos

Para entrenar un modelo personalizado, debes proporcionar pares de segmentos coincidentes en los idiomas de origen y de destino, es decir, pares de segmentos que tengan el mismo significado en el idioma del texto original y en el de la traducción. Cuanto más se parezca el significado de los pares de segmentos, mejor funcionará el modelo.

Evalúa tu caso de uso

Para crear el conjunto de datos, comienza siempre con el caso práctico. Puedes empezar con las siguientes preguntas:

  • ¿Cuál es el resultado que buscas?
  • ¿Qué tipos de segmentos necesitas traducir para lograr este resultado? ¿Es esta una tarea que el modelo de NMT puede hacer de manera predeterminada?
  • ¿Podrían los traductores humanos traducir estos segmentos de manera satisfactoria? Si la traducción es inherentemente ambigua hasta el punto de que una persona que domine ambos idiomas tendría dificultades para realizar un trabajo satisfactorio, es posible que el modelo de NMT y tu modelo personalizado tengan un rendimiento similar.
  • ¿Qué tipos de ejemplos reflejarían mejor el tipo y rango de datos que tendrá que traducir tu sistema?

Un principio fundamental en el que se basan los productos del AA de Google es el aprendizaje automático centrado en las personas, un enfoque que destaca las prácticas de IA responsables, incluida la equidad. El objetivo de la equidad en el AA es comprender y evitar un tratamiento injusto o perjudicial de las personas en relación con su origen étnico, orientación sexual, religión, género, ingresos y otras características asociadas a lo largo de la historia con la discriminación y la exclusión, cuando y donde se manifiesten en los sistemas algorítmicos o en la toma de decisiones basada en algoritmos. Puedes leer más en nuestra guía y encontrar notas imparciales en las pautas siguientes. A medida que avances a través de los lineamientos para armar tu conjunto de datos, te recomendamos que consideres la equidad en el aprendizaje automático cuando sea relevante para tu caso práctico.

Obtén tus datos

Después de establecer qué datos necesitas, debes buscar una manera de obtenerlos. Para comenzar, puedes tener en cuenta todos los datos que recopila tu organización. Puede que descubras que ya estás recopilando los datos que necesitarás para entrenar un modelo de traducción. En caso de que no tengas los datos que necesitas, puedes obtenerlos de forma manual o subcontratarlos a un tercero.

Haz corresponder tus datos con el dominio del problema

Estás entrenando un modelo de traducción personalizado porque necesitas un modelo que se ajuste a un dominio lingüístico particular. Asegúrate de que tus pares de segmentos logren abarcar de la mejor manera posible el vocabulario, el uso y las peculiaridades gramáticas de tu industria o área de enfoque. Busca documentos que contengan usos típicos que puedes encontrar en las tareas de traducción que deseas realizar, y asegúrate de que tus frases paralelas tengan un significado lo más similar posible. Por supuesto, a veces el vocabulario y la sintaxis de los idiomas no se corresponden perfectamente, pero intenta capturar toda la diversidad de la semántica que esperas encontrar en uso, si es posible. Estás compilando un modelo que ya realiza un gran trabajo con la traducción de uso general. Tus ejemplos son el último paso especial que hace que los modelos personalizados funcionen para tu caso de uso en particular, así que asegúrate de que sean relevantes y representativos del uso que esperas ver.

Captura la diversidad de tu espacio lingüístico

Es tentador suponer que la manera en la que las personas escriben sobre un dominio específico es lo suficientemente uniforme como para que una cantidad limitada de muestras de textos a cargo de un número reducido de traductores sea suficiente a fin de entrenar un modelo que funcione bien para cualquier persona que escriba sobre ese dominio. Pero todos somos distintos e incluimos nuestra propia personalidad en las palabras que escribimos. Es más probable que un conjunto de datos de entrenamiento con pares de segmentos de una amplia selección de autores y traductores te proporcione un modelo útil para traducir los escritos de una organización diversa. Además, considera la variedad de estructuras y longitudes de los segmentos, ya que un conjunto de datos en el que todos los segmentos tienen la misma longitud o comparten una estructura gramatical similar no le proporcionará a Cloud Translation la información suficiente para crear un buen modelo que capture todas las posibilidades.

Mantén informadas a las personas

Si es posible, asegúrate de que una persona que entienda bien los dos idiomas valide que los pares de segmentos coincidan correctamente y representen traducciones comprensibles y precisas. Un error tan simple como alinear las filas de tu hoja de cálculo para los datos de entrenamiento de forma incorrecta puede dar como resultado traducciones sin sentido. Lo más importante que le puedes brindar a AutoML Translation son datos de buena calidad a fin de obtener un modelo que tu empresa pueda utilizar.

Limpia los datos desordenados

Es fácil cometer errores al realizar el procesamiento previo de los datos, y algunos de estos errores pueden confundir a un modelo personalizado. En particular, busca los siguientes problemas de datos que puedes corregir:

  • Quita los segmentos fuente duplicados, en especial si tienen traducciones de destino diferentes. AutoML Translation usa solo el primer ejemplo visto y descarta todos los otros pares al momento de la importación. Cuando quitas duplicados, te aseguras de que AutoML Translation use tu traducción preferida.
  • Alinea los segmentos de origen con los segmentos de destino correctos.
  • Haz coincidir los segmentos con el idioma especificado. Por ejemplo, incluye solo segmentos en chino en un conjunto de datos en ese idioma.
  • En el caso de los segmentos de destino que incluyen idiomas mixtos, verifica que las palabras no traducidas estén sin traducir de manera intencional, como los nombres de organizaciones o productos. Los segmentos de destino que incluyen palabras no traducidas agregan ruido a tus datos de entrenamiento, lo que puede generar un modelo de baja calidad.
  • Corrige los segmentos con errores tipográficos o gramaticales para que el modelo no aprenda estos errores.
  • Quita el contenido que no se puede traducir, como las etiquetas de marcador de posición y HTML. El contenido que no se puede traducir puede generar errores de puntuación.
  • No incluyas traducciones que reemplacen entidades generales por sustantivos específicos. Por ejemplo, puedes tener un ejemplo que cambie “presidente” a un nombre de presidente específico, como “JFK” o “John F. Kennedy”. El modelo puede aprender a cambiar todas las instancias de “presidente” a “JFK”. En su lugar, quita estas traducciones o cambia los sustantivos específicos a uno común.
  • Quita los segmentos duplicados en los conjuntos de entrenamiento y prueba (más información sobre los conjuntos de entrenamiento y prueba)
  • Divide varios segmentos en diferentes pares de segmentos. Los entrenamientos con conjuntos de datos cuyos elementos tienen alrededor de 50 tokens (palabras) o más dan como resultado modelos de baja calidad. Divide los elementos en oraciones individuales cuando sea posible.
  • Usa mayúsculas y minúsculas coherentes. El uso de mayúsculas y minúsculas afecta la forma en la que un modelo aprende, por ejemplo, a distinguir un título frente al texto del cuerpo.
  • Quita las etiquetas TMX cuando importes datos desde un archivo TSV. En algunos casos, puedes exportar tu memoria de traducción existente a un archivo TSV, que puede incluir etiquetas TMX. Sin embargo, AutoML Translation limpia las etiquetas de unidades de traducción solo cuando importas desde un archivo TMX (no para archivos TSV).

Cómo procesa AutoML Translation tus datos

AutoML Translation deja de analizar tu archivo de entrada de datos cuando:

  • Haya un formato no válido
  • Exista un par de segmentos excesivamente largo (10 MB)
  • El archivo use una codificación que no sea UTF-8

AutoML Translation ignora los errores de problemas que no puede detectar, como:

  • Un elemento <tu> en un archivo TMX no tiene el idioma objetivo o fuente
  • Uno de los pares de segmentos de entrada está vacío.

Para la división automática de datos, AutoML Translation realiza un procesamiento adicional:

  • Luego de que se suba el conjunto de datos, quita los pares de segmentos que tengan segmentos de origen idénticos.
  • Divide aleatoriamente tus datos en tres conjuntos con una proporción de 8:1:1 (entrenamiento:validación:prueba) antes del entrenamiento.

Considera cómo AutoML Translation usa tu conjunto de datos para crear un modelo personalizado

Tu conjunto de datos contiene conjuntos de entrenamiento, validación y prueba. Si no especificas las divisiones (consulta Cómo preparar los datos de entrenamiento) y el conjunto de datos contiene menos de 100,000 pares de segmentos, AutoML Translation usa automáticamente el 80% de tus documentos de contenido para el entrenamiento, el 10% para la validación y el 10% para las pruebas. Si tus datos son más grandes, necesitarás realizar tu propia división de los datos.

Conjunto de entrenamiento

La gran mayoría de tus datos deben estar en el conjunto de entrenamiento. Estos son los datos que tu modelo “ve” durante el entrenamiento; se usan para aprender los parámetros del modelo, es decir, el peso de las conexiones entre los nodos de la red neuronal.

Conjunto de validación

El conjunto de validación, a veces llamado conjunto “dev”, también se usa durante el proceso de entrenamiento. Durante el aprendizaje del modelo, el marco de trabajo utiliza el conjunto de entrenamiento para entrenar un conjunto de modelos candidatos. Luego, usa el rendimiento del modelo en el conjunto de validación para seleccionar el mejor modelo generado. Usa el rendimiento del modelo en el conjunto de validación para ajustar sus hiperparámetros, que son variables que especifican la estructura del modelo. Si usas el conjunto de entrenamiento para ajustar los hiperparámetros, el modelo podría terminar demasiado enfocado en tus datos de entrenamiento. Si usas un conjunto de datos un tanto nuevo para configurar la estructura del modelo, este realizará mejores generalizaciones.

Conjunto de prueba

El conjunto de prueba no interviene para nada en el proceso de entrenamiento. Una vez que el modelo completa todo su entrenamiento, usamos el conjunto de prueba como un desafío nuevo para tu modelo. El rendimiento de tu modelo en el conjunto de prueba sirve para darte una idea bastante clara de cómo será su rendimiento en datos del mundo real.

División manual

AutoML Translation puede dividir tus datos en conjuntos de entrenamiento, validación y prueba, o puedes hacerlo tú mismo si deseas tener un mayor control sobre el proceso, si prefieres una división del porcentaje diferente o si hay ejemplos específicos que deseas incluir con seguridad en alguna parte del ciclo de vida del entrenamiento del modelo.

 

Prepara tus datos para importarlos

Una vez que elijas entre la división manual y la automática, hay dos formas de agregar datos:

  • Puedes importar datos como un archivo de valores separados por tabulaciones (TSV) que contiene segmentos de origen y de destino, con un par de oraciones por línea.
  • Puedes importar datos como un archivo TMX, un formato estándar para proporcionar pares de segmentos a herramientas de modelos de traducción automática (obtén más información sobre el formato TMX compatible). Si el archivo TMX contiene etiquetas XML no válidas, AutoML Translation las ignora. Si el archivo TMX no se ajusta de forma correcta a los formatos XML y TMX (por ejemplo, si falta una etiqueta final o un elemento <tmx>), AutoML no lo procesa. Cloud Translation también finaliza el procesamiento y muestra un error si omite más de 1,024 elementos <tu> no válidos.

Evaluar

Una vez que tu modelo esté entrenado, recibirás un resumen de su rendimiento. Haz clic en la pestaña Entrenar para ver un análisis detallado.

¿Qué debo tener en cuenta antes de evaluar mi modelo?

La depuración de un modelo es más bien una depuración de los datos que del modelo en sí. Si tu modelo comienza a actuar de manera inesperada mientras evalúas su rendimiento antes y después de pasar a producción, debes regresar y verificar tus datos para ver dónde pueden realizarse mejoras.

Puntuación BLEU

La puntuación BLEU es una manera estándar de medir la calidad de un sistema de traducción automática. AutoML Translation usa una puntuación BLEU calculada a partir de los datos de prueba que proporcionaste como su métrica de evaluación primaria (Obtener más información sobre las puntuaciones BLEU).

El modelo de NMT de Google, en el que se basa la API de Cloud Translation, se creó para uso general. Puede que no sea la mejor solución para ti si buscas una traducción especializada en tus propios campos. El modelo personalizado entrenado generalmente funciona mejor que el modelo de NMT en los campos con los que está relacionado tu conjunto de entrenamiento.

Luego de entrenar el modelo personalizado con tu propio conjunto de datos, la puntuación BLEU del modelo personalizado y del modelo de NMT de Google se muestran en la pestaña Entrenar. También se obtiene un aumento en el rendimiento de la puntuación BLEU del modelo personalizado en la pestaña Entrenar. Cuánto más alta sea la puntuación BLEU, mejores traducciones te ofrecerá tu modelo para los segmentos que sean similares a tus datos de entrenamiento. Si la puntuación BLEU se encuentra entre 30 y 40, se considera que el modelo puede proporcionar buenas traducciones.

Prueba el modelo

Incluso si la puntuación BLEU es buena, conviene que verifiques tú mismo el modelo para asegurarte de que el rendimiento coincide con tus expectativas. Si tus datos de entrenamiento y prueba se extraen del mismo conjunto de pruebas incorrecto, las puntuaciones podrían ser excelentes incluso si la traducción no tiene sentido. Agrega algunos ejemplos como entrada en la pestaña Predecir y compara los resultados del modelo personalizado con el modelo base de NMT de Google. Puedes notar que tu modelo presenta las mismas predicciones que el modelo base, especialmente en segmentos cortos o si tienes un conjunto de entrenamiento más pequeño. Esto es normal porque el modelo base ya es bastante bueno para una amplia variedad de casos prácticos. Inténtalo con algunos segmentos más largos o complejos. Sin embargo, si todos tus segmentos resultan idénticos a las predicciones del modelo base, podría ser una indicación de un problema con los datos.

Si estás particularmente preocupado por un error que puede generar tu modelo (por ejemplo, una característica confusa de tu par de idiomas con la que generalmente tropiezan los traductores humanos, o un error de traducción que puede ser especialmente costoso en términos económicos o de reputación), asegúrate de que tu procedimiento o conjunto de prueba abarque ese caso de manera adecuada para que te sientas seguro cuando uses tu modelo en tareas diarias.

¿Qué sigue?

  • Para crear tu propio conjunto de datos y modelo personalizado, consulta Prepara datos de entrenamiento a fin de obtener instrucciones para preparar tus datos.