Blog
Traducción Neural Automática
- Publicado por: Rafael Fernandez
- Categoría: Uncategorized
Uno de los primeros objetivos de las computadoras fue la traducción automática de texto de un idioma a otro. La traducción automática es quizás una de las tareas de inteligencia artificial más desafiantes dada la fluidez del lenguaje humano. Clásicamente, para esta tarea se utilizaron sistemas basados en reglas, que fueron reemplazados en los años noventa por métodos estadísticos. Más recientemente, los modelos de redes neuronales profundas logran resultados de vanguardia en un campo que se denomina acertadamente traducción neuronal automática. En este capítulo, descubrirás el desafío de la traducción automática y la eficacia de los modelos neurales de traducción automática. Después de leer este capítulo, tú sabrás:
- La traducción automática es un reto dada la ambigüedad y flexibilidad inherentes al lenguaje humano.
- La traducción automática estadística reemplaza los sistemas clásicos basados en reglas por modelos que aprenden a traducir a partir de ejemplos.
- Los modelos de traducción automática neural se ajustan a un modelo único en lugar de a una serie de modelos afinados y actualmente logran resultados de vanguardia.
Vamos a empezar.
¿Qué es la Traducción Automática?
La traducción automática es la tarea de convertir automáticamente el texto original de un idioma en texto en otro idioma.
Dada una secuencia de texto en un idioma de origen, no hay una sola traducción óptima de ese texto a otro idioma. Esto se debe a la ambigüedad natural y a la flexibilidad del lenguaje humano. Esto dificulta el reto de la traducción automática, quizás uno de los más difíciles en la inteligencia artificial:
Los métodos clásicos de traducción automática a menudo incluyen reglas para convertir el texto en el idioma de origen al idioma de destino. Las reglas son a menudo desarrolladas por lingüistas y pueden operar a nivel léxico, sintáctico o semántico. Este enfoque en las reglas da el nombre a esta área de estudio: Traducción automática basada en reglas, o RBMT.
Las limitaciones clave de los enfoques clásicos de la traducción automática son tanto la experiencia necesaria para desarrollar las reglas como el gran número de reglas y excepciones requeridas.
¿Qué es la Traducción Automática Estadística?
La traducción automática estadística, o SMT para abreviar, es el uso de modelos estadísticos que aprenden a traducir texto de un idioma de origen a un idioma de destino con un gran corpus de ejemplos. Esta tarea de utilizar un modelo estadístico se puede enunciar formalmente de la siguiente manera:
Esta especificación formal hace explícita la maximización de la probabilidad de la secuencia de salida dada la secuencia de entrada de texto. También explica la noción de que existe un conjunto de traducciones candidatas y la necesidad de un proceso de búsqueda o decodificador para seleccionar la traducción más probable de la distribución de probabilidad de salida del modelo.
El enfoque se basa en datos, y sólo requiere un corpus de ejemplos con texto en el idioma de origen y en el de destino. Esto significa que ya no es necesario que los lingüistas especifiquen las reglas de la traducción.
Rápidamente, el enfoque estadístico de la traducción automática superó a los métodos clásicos basados en reglas y se convirtió en el conjunto de técnicas estándar de hecho.
Aunque eficaces, los métodos estadísticos de traducción automática sufrían de un enfoque estrecho en las frases que se traducían, perdiendo la naturaleza más amplia del texto de destino. El fuerte enfoque en los enfoques basados en datos también significó que los métodos pueden haber ignorado importantes distinciones sintácticas conocidas por los lingüistas. Por último, los enfoques estadísticos requerían un ajuste cuidadoso de cada módulo en proceso de traducción.
¿Qué es la Traducción Automática Neural?
La traducción automática neuronal, o NMT para abreviar, es el uso de modelos de redes neuronales para aprender un modelo estadístico para la traducción automática. El beneficio clave de este enfoque es que un solo sistema puede ser entrenado directamente en el texto de origen y destino, sin necesidad de contar ya con sistemas especializados utilizados en el aprendizaje de máquinas estadísticas.
Como tal, se dice que los sistemas neurales de traducción automática son sistemas de extremo a extremo, ya que sólo se requiere un modelo para la traducción.
Modelo Codificador-Decodificador
Los modelos de red neuronal Perceptron multicapa pueden utilizarse para la traducción automática, aunque los modelos están limitados por una secuencia de entrada de longitud fija en la que la salida debe ser de la misma longitud. Estos primeros modelos han sido mejorados recientemente mediante el uso de redes neuronales recurrentes organizadas en una arquitectura de codificador-decodificador que permite secuencias de entrada y salida de longitud variable.
La clave de la arquitectura codificador-decodificador es la capacidad del modelo para codificar el texto fuente en una representación interna de longitud fija llamada vector de contexto. Curiosamente, una vez codificados, se pueden utilizar diferentes sistemas de decodificación, en principio, para traducir el contexto a diferentes idiomas.
Codificadores-Decodificadores con Atención
Aunque es eficaz, la arquitectura de codificador-decodificador tiene problemas con secuencias largas de texto a traducir. El problema proviene de la representación interna de longitud fija que debe utilizarse para decodificar cada palabra en la secuencia de salida. La solución es el uso de un mecanismo de atención que permite al modelo aprender dónde poner atención en la secuencia de entrada a medida que cada palabra de la secuencia de salida es decodificada.
La arquitectura de red neuronal recurrente de codificador-decodificador con atención es actualmente el estado del arte en algunos problemas de referencia para la traducción automática. Y esta arquitectura se utiliza en el corazón del sistema de traducción automática neural de Google, o GNMT, utilizado en su servicio Google Translate.
Aunque son eficaces, los sistemas de traducción automática neural todavía sufren algunos problemas, como la ampliación de los vocabularios de las palabras y la lentitud con la que se entrenan los modelos. En la actualidad, existen áreas de interés para los sistemas de traducción neuronal de gran producción, como el sistema Google.
➡ Aprende mucho mas con nuestro curso de Procesamiento de Lenguaje Natural: