Guía de AutoML Translation para principiantes

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

Imagina que diriges un servicio de informes financieros que tiene la oportunidad de expandirse 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 a un traductor especializado, lo que supone un coste elevado debido a su experiencia en el sector y a la necesidad de obtener resultados rápidamente, un modelo personalizado puede ayudarte a automatizar los trabajos de traducción de forma escalable.

Traducción

Pruébalo

Si es la primera vez que utilizas Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud Translation en situaciones reales. Los nuevos clientes también reciben 300 USD en crédito gratuito para ejecutar, probar y desplegar cargas de trabajo.

Probar Cloud Translation gratis

¿Por qué el aprendizaje automático es la herramienta adecuada para este problema?

La programación clásica requiere que el programador especifique paso a paso las instrucciones que debe seguir el ordenador. Sin embargo, este enfoque basado en reglas deja de ser viable rápidamente para la traducción. El lenguaje natural es complejo, y traducirlo también lo es. La traducción automática se realiza casi por completo con un enfoque estadístico, en el que enormes corpus paralelos sustituyen a los expertos lingüísticos que ajustan manualmente conjuntos de reglas especializadas.

Necesitas un sistema que pueda generalizar una amplia variedad de situaciones de traducción, pero que se centre en tu caso práctico y en el dominio lingüístico específico de la tarea en los pares de idiomas que te interesen. En una situación en la que una secuencia de reglas específicas se va a expandir exponencialmente, necesitas un sistema que pueda aprender de ejemplos. Por suerte, los sistemas de aprendizaje automático están en una buena posición para resolver este problema.

¿Debo usar el modelo NMT predeterminado o un modelo personalizado?

El modelo de traducción automática neuronal (NMT) abarca un gran número de pares de idiomas y funciona bien con textos de uso general. Los modelos personalizados son especialmente útiles para cubrir la "última milla" entre las tareas de traducción genéricas y los vocabularios específicos de un nicho. AutoML Translation parte del modelo genérico de TNM y, a continuación, lo ajusta para que se adapte a tus datos de entrenamiento y obtengas 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 usar datos para entrenar algoritmos con el objetivo de conseguir un resultado deseado. Los detalles del algoritmo y los métodos de entrenamiento cambian en función del problema. Hay muchas subcategorías diferentes de aprendizaje automático, cada una de las cuales resuelve problemas distintos y funciona con diferentes restricciones. AutoML Translation te permite llevar a cabo un aprendizaje supervisado, que consiste en entrenar a un ordenador para que reconozca patrones a partir de pares de segmentos traducidos. Con el aprendizaje supervisado, podemos entrenar un modelo personalizado para traducir el contenido específico de un dominio que te interese.

Preparación de datos

Para preparar un modelo personalizado, debes proporcionar pares de segmentos coincidentes en los idiomas de origen y de destino, es decir, pares de segmentos que signifiquen lo mismo en el idioma del que quieras traducir y en el idioma al que quieras traducir. Cuanto más se parezcan los significados de los pares de segmentos, mejor funcionará el modelo.

Evaluar tu caso práctico

Cuando elabores el conjunto de datos, empieza siempre por el caso práctico. Puedes empezar con las siguientes preguntas:

  • ¿Qué resultado quieres conseguir?
  • ¿Qué tipos de segmentos necesitas traducir para conseguir este resultado? ¿Es una tarea que el modelo de TNM puede hacer sin necesidad de configuración?
  • ¿Es posible que los humanos traduzcan estos segmentos de una forma que te satisfaga? Si la tarea de traducción es intrínsecamente ambigua, hasta el punto de que una persona que domine ambos idiomas tendría dificultades para hacer un trabajo satisfactorio, es posible que el modelo de TNM y tu modelo personalizado tengan un rendimiento similar.
  • ¿Qué tipo de ejemplos reflejarían mejor el tipo y el intervalo de datos que necesitará tu sistema para traducir?

Uno de los principios fundamentales de los productos de aprendizaje automático de Google es el aprendizaje automático centrado en las personas, un enfoque que da prioridad a las prácticas responsables de IA, incluida la equidad. El objetivo de la equidad en el aprendizaje automático es comprender y evitar el trato injusto o perjudicial de las personas en relación con la raza, los ingresos, la orientación sexual, la religión, el sexo y otras características históricamente asociadas a la discriminación y la marginación, cuando y donde se manifiestan en sistemas algorítmicos o en la toma de decisiones asistida por algoritmos. Puedes consultar más información en nuestra guía y encontrar notas fair-aware en las directrices que se indican a continuación. A medida que vayas leyendo las directrices para crear tu conjunto de datos, te recomendamos que tengas en cuenta la ecuanimidad en el aprendizaje automático cuando sea pertinente para tu caso práctico.

Incluir la fuente de los datos

Una vez que hayas determinado qué datos necesitas, tendrás que encontrar una forma de obtenerlos. Puedes empezar teniendo en cuenta todos los datos que recoge tu organización. Puede que ya estés recogiendo los datos que necesitas para entrenar un modelo de traducción. Si no tienes los datos que necesitas, puedes obtenerlos manualmente o subcontratarlos a un proveedor externo.

Asigna datos a tu dominio de problema

Estás entrenando un modelo de traducción personalizado porque necesitas un modelo que se ajuste a un ámbito lingüístico concreto. Asegúrate de que tus pares de segmentos cubran de la mejor forma posible el vocabulario, el uso y las peculiaridades gramaticales de tu sector o área de enfoque. Busca documentos que contengan usos típicos que puedas encontrar en las tareas de traducción que quieras completar y asegúrate de que las frases paralelas coincidan lo más posible en cuanto al significado. Por supuesto, a veces los idiomas no se corresponden perfectamente en cuanto a vocabulario o sintaxis, pero intenta captar toda la diversidad semántica que esperas encontrar en el uso, si es posible. Estás usando un modelo que ya hace un buen trabajo con la traducción general. Tus ejemplos son el último paso especial que hace que los modelos personalizados funcionen en tu caso práctico concreto, así que asegúrate de que sean relevantes y representativos del uso que esperas ver.

Captar la diversidad de tu espacio lingüístico

Es tentador suponer que la forma en que los usuarios escriben sobre un dominio específico es lo suficientemente uniforme como para que un pequeño número de muestras de texto traducidas por un pequeño número de traductores sea suficiente para entrenar un modelo que funcione bien para cualquier otra persona que escriba sobre ese dominio. Pero todos somos personas diferentes y cada uno aporta su propia personalidad a las palabras que escribe. Un conjunto de datos de entrenamiento con pares de segmentos de una amplia selección de autores y traductores tiene más probabilidades de proporcionarte un modelo útil para traducir textos de una organización diversa. Además, ten en cuenta la variedad de longitudes y estructuras de los segmentos. Un conjunto de datos en el que todos los segmentos tengan el mismo tamaño o compartan una estructura gramatical similar no proporcionará a Cloud Translation suficiente información para crear un buen modelo que abarque todas las posibilidades.

Mantener la intervención humana

Si es posible, asegúrate de que una persona que domine ambos idiomas haya validado que los pares de segmentos coinciden correctamente y que las traducciones son precisas y comprensibles. Un error tan simple como alinear mal las filas de la hoja de cálculo de los datos de entrenamiento puede dar lugar a traducciones sin sentido. Los datos de alta calidad son lo más importante que puedes proporcionar a Traducción con AutoML para obtener un modelo que se pueda usar en tu empresa.

Limpiar datos desordenados

Es fácil cometer errores al preprocesar datos, y algunos de esos errores pueden confundir mucho a un modelo personalizado. En concreto, busca los siguientes problemas de datos que puedes solucionar:

  • Elimina los segmentos de origen duplicados, sobre todo si tienen traducciones de destino diferentes. AutoML Translation solo usa el primer ejemplo que se encuentra y descarta todos los demás pares en el momento de la importación. Al eliminar los duplicados, te aseguras de que AutoML Translation use la traducción que prefieras.
  • Alinea los segmentos de origen con los de destino correctos.
  • Asigna segmentos al idioma especificado. Por ejemplo, incluye solo segmentos en chino en un conjunto de datos en chino.
  • En los segmentos de destino que incluyan varios idiomas, comprueba que las palabras sin traducir se hayan dejado así intencionadamente, como los nombres de productos u organizaciones. Los segmentos de destino que incluyen palabras sin traducir por error añaden ruido a tus datos de entrenamiento, lo que puede dar lugar a un modelo de menor calidad.
  • Corrige los segmentos que tengan errores tipográficos o gramaticales para que tu modelo no aprenda de ellos.
  • Elimina el contenido que no se pueda traducir, como las etiquetas de marcador de posición y las etiquetas HTML. El contenido no traducible puede provocar errores de puntuación.
  • No incluyas traducciones que sustituyan entidades generales por sustantivos específicos. Por ejemplo, puedes cambiar la palabra "presidente" por el nombre de un presidente concreto, como "JFK" o "John F. Kennedy". El modelo podría aprender a cambiar todas las instancias de "presidente" por "JFK". En su lugar, quita estas traducciones o cambia los sustantivos específicos por uno común.
  • Elimina los segmentos duplicados de los conjuntos de entrenamiento y de prueba. Más información sobre los conjuntos de entrenamiento y de prueba
  • Dividir varios segmentos en diferentes pares de segmentos. Si se entrena con un conjunto de datos en el que muchos elementos tienen más de 50 tokens (palabras), los modelos serán de menor calidad. Divide los elementos en frases individuales siempre que sea posible.
  • Usa las mismas mayúsculas y minúsculas. El uso de mayúsculas y minúsculas influye en cómo aprende un modelo, por ejemplo, a distinguir un título de un texto del cuerpo.
  • Elimina las etiquetas TMX al importar datos de un archivo TSV. En algunos casos, puede exportar su memoria de traducción a un archivo TSV, que puede incluir etiquetas TMX. Sin embargo, AutoML Translation solo limpia las etiquetas de unidades de traducción cuando importas datos de un archivo TMX (no de archivos TSV).

Cómo preprocesa AutoML Translation tus datos

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

  • El formato no es válido
  • Hay un par de segmentos demasiado largo (10 MB)
  • El archivo usa una codificación distinta de UTF-8

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

  • Un elemento <tu> de un archivo TMX no tiene el idioma de origen o de destino.
  • Una de las parejas de segmentos de entrada está vacía.

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

  • Una vez que se ha subido el conjunto de datos, se eliminan los pares de segmentos con segmentos de origen idénticos.
  • Antes del entrenamiento, divide aleatoriamente los datos en tres conjuntos con una proporción de 8:1:1 (entrenamiento, validación y prueba).

Considerar cómo usa AutoML Translation 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 Preparar los datos de entrenamiento) y tu conjunto de datos contiene menos de 100.000 pares de segmentos, AutoML Translation usará 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 superan ese tamaño, tendrás que dividirlos tú mismo.

Conjunto de entrenamiento

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

Conjunto de validación

El conjunto de validación, a veces también llamado conjunto de desarrollo, también se usa durante el proceso de entrenamiento. Durante el aprendizaje del modelo, el framework usa el conjunto de entrenamiento para entrenar un conjunto de modelos candidatos y, a continuación, usa el rendimiento del modelo en el conjunto de validación para elegir el mejor modelo generado. Usa el rendimiento del modelo en el conjunto de validación para ajustar los hiperparámetros del modelo, que son variables que especifican la estructura del modelo. Si has usado el conjunto de entrenamiento para ajustar los hiperparámetros, el modelo se centrará demasiado en los datos de entrenamiento. Usar un conjunto de datos algo novedoso para ajustar la estructura del modelo significa que tu modelo se generalizará mejor.

Conjunto de prueba

El conjunto de prueba no participa en el proceso de entrenamiento. Una vez que el modelo haya completado el entrenamiento, usaremos el conjunto de pruebas como un reto completamente nuevo para tu modelo. El rendimiento de tu modelo en el conjunto de prueba debe darte una idea bastante precisa de cómo se comportará tu modelo con datos reales.

División manual

AutoML Translation puede dividir tus datos en conjuntos de entrenamiento, validación y prueba, o puedes hacerlo tú mismo si quieres tener más control sobre el proceso, si prefieres una división porcentual diferente o si hay ejemplos específicos que quieres incluir en una parte concreta del ciclo de vida del entrenamiento de tu modelo.

 

Preparar los datos para importarlos

Una vez que hayas decidido si te conviene dividir los datos de forma manual o automática, tienes dos formas de añadirlos:

  • Puede importar datos como un archivo de valores separados por tabulaciones (TSV) que contenga segmentos de origen y de destino, un par de segmentos 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 (más información sobre el formato TMX admitido). Si el archivo TMX contiene etiquetas XML no válidas, AutoML las ignora. Si el archivo TMX no tiene el formato XML y TMX adecuado (por ejemplo, si le falta una etiqueta final o un elemento <tmx> ), AutoML no lo procesará. Cloud Translation también finaliza el procesamiento y devuelve un error si se salta más de 1024 elementos <tu> no válidos.

Evaluación

Una vez que se haya entrenado el modelo, 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?

Depurar un modelo consiste más en depurar los datos que el modelo en sí. Si tu modelo empieza a comportarse de forma inesperada mientras evalúas su rendimiento antes y después de implementarlo en producción, deberías volver y revisar tus datos para ver dónde se puede mejorar.

Puntuación BLEU

La puntuación BLEU es una forma 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 has proporcionado como métrica de evaluación principal. Más información sobre las puntuaciones BLEU

El modelo de traducción automática neuronal de Google, que es la base de la API Cloud Translation, se ha creado para un uso general. Puede que no sea la mejor solución para ti si buscas una traducción especializada en tus campos. El modelo personalizado entrenado suele funcionar mejor que el modelo NMT en los campos relacionados con tu conjunto de entrenamiento.

Una vez que hayas entrenado el modelo personalizado con tu propio conjunto de datos, la puntuación BLEU del modelo personalizado y del modelo de TNM de Google se mostrarán en la pestaña Entrenar. También se puede observar una mejora del rendimiento de la puntuación BLEU del modelo personalizado en la pestaña Entrenamiento. Cuanto mayor sea la puntuación BLEU, mejores serán las traducciones que tu modelo podrá ofrecerte para los segmentos que sean similares a tus datos de entrenamiento. Si la puntuación BLEU está entre 30 y 40, se considera que el modelo puede proporcionar traducciones de buena calidad.

Ten en cuenta que no se recomienda usar las puntuaciones BLEU para comparar diferentes corpus e idiomas. Por ejemplo, una puntuación BLEU de 50 en una traducción de inglés a alemán no es comparable con una puntuación BLEU de 50 en una traducción de japonés a inglés. Muchos expertos en traducción han adoptado enfoques métricos basados en modelos, que tienen una mayor correlación con las valoraciones humanas y son más específicos a la hora de identificar escenarios de error.

AutoML Translation solo admite puntuaciones BLEU. Para evaluar tu modelo de traducción con métricas basadas en modelos, consulta el servicio de evaluación de IA generativa de Vertex AI.

Probar el modelo

Aunque la puntuación BLEU parezca correcta, es recomendable que compruebes el modelo para asegurarte de que su rendimiento se ajusta a tus expectativas. Si los datos de entrenamiento y de prueba se extraen del mismo conjunto incorrecto de muestras, las puntuaciones pueden ser excelentes aunque la traducción no tenga sentido. Añade algunos ejemplos como entrada en la pestaña Predecir y compara los resultados del modelo personalizado con el modelo base de NMT de Google. Puede que observes que tu modelo ofrece las mismas predicciones que el modelo base, sobre todo en segmentos cortos o si tienes un conjunto de entrenamiento más pequeño. No es de extrañar, ya que el modelo base es bastante bueno para una gran variedad de casos prácticos. Prueba con segmentos más largos o complejos. Sin embargo, si todos los segmentos son idénticos a las predicciones del modelo base, puede que haya un problema con los datos.

Si hay algún error que te preocupe especialmente que pueda cometer tu modelo (por ejemplo, una característica confusa de tu par de idiomas que suele confundir a los traductores humanos o un error de traducción que podría ser especialmente costoso en términos económicos o de reputación), asegúrate de que tu conjunto de pruebas o procedimiento cubra ese caso adecuadamente para que te sientas seguro al usar tu modelo en las tareas cotidianas.

Siguientes pasos

  • Para crear tu propio conjunto de datos y modelo personalizado, consulta el artículo Preparar datos de entrenamiento, donde se explica cómo preparar los datos.