Revolución IA

La Inteligencia Artificial está llamada a protagonizar la próxima Revolución tecnológica

Inicio Sobre Revolucionia Temas Para saber más Contacto

Traducción automática no supervisada

Fernando P.    01/12/2017

Temas:  Actualidad    Aplicaciones    Divulgación

La traducción automática es una de las aplicaciones de las técnicas de Inteligencia Artificial que más éxito está teniendo en los últimos tiempos. Las redes neuronales artificiales son la técnica usada en los sistemas más modernos, aunque otras técnicas se usaron en el pasado.

La ventaja de una red neuronal artificial (RNA en lo sucesivo) es que se adapta muy bien a un problema que pueda ser resuelto usando un clasificador con aprendizaje supervisado y esta es una aproximación factible en muchas tareas de traducción, porque disponemos de enormes cantidades de textos traducidos en muchos idiomas.

Los problemas vienen cuando no hay suficiente material para llevar a cabo un aprendizaje supervisado y es necesario un esquema de aprendizaje no supervisado. En el presente artículo vamos a tratar sobre los últimos desarrollos en esta línea de trabajo.

La piedra Rosetta de la traducción moderna
En un artículo anterior ya hablamos sobre Google Translate y describíamos como cantidades ingentes de documentos traducidos a múltiples idiomas por organismos como Naciones Unidas o Unión Europea habían servido como piedra Rosetta moderna para entrenar RNA muy complejas que operan en el núcleo de Google Translate.

Naturalmente, se trata de un mecanismo de aprendizaje supervisado en el cual se usan las traducciones existentes (realizadas por humamos) para entrenar la red de forma que aprenda a traducir usando el conocimiento que es capaz de extraer de las traducciones con las que es entrenada.

Entrenar una de estas redes es un proceso bastante masivo porque hacen falta varios millones de frases con sus correspondientes traducciones para que una RNA sea capaz de adquirir una habilidad significativa traduciendo por su cuenta.

Estas cantidades masivas de documentos traducidos existen para algunos idiomas, que son los de uso más común en los ámbitos político, financiero y técnico, como pueden ser el Inglés, Francés, Español ...

Google Translate funciona con una precisión variable, mejor entre pares de idiomas para los que ha podido ser entrenado con muchos documentos y sus traducciones. Pero no funciona bien en pares de idiomas para los que no ha podido ser entrenado de forma tan extensa por la simple razón de que no existen muchos documentos traducidos.

Existiendo suficiente cantidad de documentos traducidos, el aprendizaje supervisado proporciona buenos resultados, tal y como se puede comprobar con Google Translate.

Traducción a partir de aprendizaje no supervisado
El aprendizaje no supervisado es una opción para construir sistemas de traducción automática en pares de idiomas raros, para los que no tenemos la versión moderna de la piedra Rosetta, es decir, grandes bases de datos de documentos traducidos.

Se trata de una opción siempre más compleja que el simple aprendizaje supervisado, ya que necesitamos de algún mecanismo que pueda ir guiando de alguna forma el aprendizaje.

En el caso que nos ocupa, dos equipos independientes de investigadores, uno de la Universidad del país Vasco y otro de Facebook AI/Universidad de París han publicado casi al mismo tiempo (aquí y aquí) dos trabajos en los que demuestran como se pueden construir sistemas de traducción automática basados en RNA entrenadas íntegramente de forma no supervisada.

Curiosamente, se trata de dos trabajos que describen básicamente la misma forma de proceder a la hora de diseñar y entrenar el sistema, con variaciones menores entre ellos.

Codificador y decodificadores Traducción automática no supervisada
La idea central de ambos trabajos consiste en construir un espacio abstracto  S  que modeliza el significado de las palabras y de las frases, así como las relaciones que hay entre ellas, independientemente del idioma en el que nosotros las representamos.

Para centrar las cosas, supongamos que tenemos dos idiomas  L1  y  L2  para los que tenemos una amplia muestra de documentos en cada uno de ellos, pero sin ser traducciones unos de otros, simples colecciones de documentos en cada idioma sin relación entre ellos.

Para implementar la idea central de los trabajos, se construye un clasificador  Cs, denominado codificador, que toma palabras o frases en uno de los dos idiomas  L1  o  L2  y proporciona como salida su representación en el espacio abstracto. Este codificador es el mismo para ambos idiomas, toma una frase y un indicador del idioma en el que está escrita.

Por otro lado, se construyen otros dos clasificadores  D1  y  D2, denominados decodificadores, que toman una representación de un significado (palabra o frase) en el espacio abstracto y devuelven la representación correcta en el idioma correspondiente (L1  para  D1  y  L2  para  D2).

Es decir, en total tenemos 3 RNA que, una vez entrenadas, podemos usar de forma combinada para efectuar traducciones de la siguiente forma:

Frase en  L1  →  Cs  →  S  →  D2  →  Frase en  L2

Frase en  L2  →  Cs  →  S  →  D1  →  Frase en  L1

Entrenamiento de codificador y decodificadores
El entrenamiento del codificador y los decodificadores se plantea como un proceso iterativo que parte de una frase en  L1, la traduce a  L2  y, acto seguido, realiza el proceso inverso para volver a  L1.

Si las RNA están bien entrenadas, la frase resultado de este proceso debería ser equivalente (en significado) a la original, si no están bien entrenadas se ajustan pesos en las RNA intentando minimizar cierta función de coste y se vuelve a probar hasta que el sistema traduce bien en ambos sentidos.

El proceso iterativo se inicia unas veces desde  L1  y otras desde  L2, usando las bases de datos de documentos que existen para ambos.

Inicialización de las redes
Llegados a este punto, el planteamiento del problema parece sencillo, pero no hemos hablado del punto de partida. En un aprendizaje supervisado normal es posible comenzar con valores aleatorios en los pesos de la red, pero en un caso como este, eso haría inviable la convergencia del entrenamiento, hay demasiados grados de libertad en el sistema descrito como para que converja jústamente a lo que deseamos.

Para solventar este problema, se realiza un proceso previo que tiene como objetivo construir un diccionario convencional palabra a palabra (no frases) entre  L1  y  L2. Y esto también se realiza usando aprendizaje no supervisado.

La clave para construir el diccionario consiste en estudiar las relaciones entre palabras usando todas las frases que hay para cada idioma. Palabras que estén estrechamente relacionadas en  L1  también lo estarán en  L2. Si construímos sendas estructuras que codifiquen las relaciones entre palabras dentro de cada idioma, debería suceder que ambas estructuras son similares y podemos superponerlas para obtener la traducción de cada palabra en el otro idioma.

Este proceso de construir diccionarios palabra a palabra no es nuevo. En el caso que nos ocupa se usa para crear una primera versión del codificador  Cs  y los decodificadores  D1  y  D2, versiones que se usan para poder poner en marcha el proceso de entrenamiento de las redes. De esta forma se empieza con una base tosca (las traducciones literales palabra-palabra funcionan mal) pero que es un nivel mínimo que se va a respetar.

Básicamente, se trata de comenzar con un espacio abstracto de significados  S  que consta sólo de palabras. Pero esto permite poner en marcha el proceso iterativo descrito que va a ir forzando a  S  a contener cada vez conceptos más complejos (frases) de forma que las traducciones de frases sean cada vez más precisas.

Al inicializar  S  de esta forma, se eliminan la mayor parte de grados de libertad que tendría todo el sistema si se inicializan pesos a valores aleatorios y se fuerza a todo el sistema a ir por el camino de mejorar las traducciones de frases completas.

Cuestiones adicionales
El sistema completo de codificador y decodificadores descritos es relativamente complicado, con gran cantidad de detalles. Básicamente se trata de tres RNA que funcionan como clasificadores.

Una complicación interesante que se ha introducido consiste en que las frases que se usan para entrenar las redes se alteran de formas sutiles, como si se introdujera ruido en el sistema, pero no tanto como para alterar el significado de la frase y, por tanto, su correspondencia en el espacio abstracto  S. Se trata de una forma de forzar al sistema a que se centre en el significado de las frases en vez de su representación como secuencia de palabras.

Otra posibilidad que tiene el sistema consiste en usar lo que podríamos definir como aprendizaje semi-supervisado. Que vendría a consistir en usar pares de frases que sí que tenemos traducidas para poder empezar con una representación del espacio abstracto  S  más elaborada que un simple diccionario de palabras.

Un problema serio que tiene todo el desarrollo descrito consiste en que asume que los idiomas que traduce tienen muchas similitudes desde un punto de vista estructural. Por ejemplo, idiomas que tienden a respetar la estructura de frases en forma de sujeto+predicado. Estas similitudes no existen entre todos los idiomas y hay diferencias importantes entre idiomas occidentales e idiomas orientales, sin ir más lejos.

Rendimiento de la traducción automática con aprendizaje no supervisado
La cuestión más inmediata que nos surge al ver todo este desarrollo es si uno de estos sistemas funciona mejor que los sistemas de traducción automática al uso.

Los resultados presentados se ciñen a traducciones en parejas de idiomas bien conocidos, como pueden ser Inglés-Francés o Inglés-Alemán y para los que existen sistemas entrenados de forma supervisado con millones de frases.

Básicamente, los sistemas entrenados de forma supervisada son mejores que los descritos aquí cuando el número de frases usadas en el entrenamiento supervisado supera unas 100.000, lo que significa que el sistema de codificador y decodificadores son capaces de extraer información equivalente a 100.000 traducciones, que no está mal.

En el caso de pares de idiomas bien conocidos, por tanto, el rendimiento es superior para sistemas entrenados de forma supervisada, por la disponibilidad de una gran cantidad (del orden de millones) de frases traducidas.

Pero la aplicación natural de un sistema como el visto aquí son los pares de idiomas que no tienen muchos documentos traducidos. En este tipo de pares los sistemas entrenados de forma supervisada suelen tener problemas serios y la alternativa del entrenamiento no supervisado, que con el tiempo puede refinarse a semi-supervisado, seguramente es la mejor para atacar este tipo de traducciones poco comunes.



El aprendizaje no supervisado es más complejo de implementar que el supervisado, pero en determinados problemas es la única opción posible y puede ofrecer soluciones razonables a costa de una elevada complejidad de todo el mecanismo de entrenamiento.



Para saber más:

Artículo original publicado en Arxiv del equipo de la Universidad del País Vasco que describe su solución al problema de la traducción automática entrenada de forma no supervisada. Este artículo no tiene muchos detalles técnicos sobre el funcionamiento interno del sistema, pero describe bien las ideas generales que lo inspiran.

Artículo original publicado en Arxiv del equipo de Facebook AI y la Universidad de París que describe su solución al problema de la traducción automática entrenada de forma no supervisada. Este artículo tiene bastantes detalles sobre el funcionamiento interno del sistema, que es un poco más elaborado que el sistema ideado por el equipo de la Universidad del País Vasco, aunque conceptualmente son iguales.

Artículo de divulgación en medio especializado que hace un resumen interesante del problema y de las soluciones aportadas por los dos equipos de investigadores que han publicado sus trabajos recientemente.



 

Inicio Powered by NetBSD
 
HTML5
 
En general, todo el contenido de este sitio web es original, salvo referencias o enlaces a otros sitios web y citas o reproducciones expresamente presentadas como tales.

No está permitida la reproducción ni la copia del contenido de este sitio web sin el permiso expreso de la propiedad del mismo.

Este sitio web no utiliza cookies ni ningún otro mecanismo para almacenar información en los navegadores de los visitantes ni para realizar seguimiento de los mismos.

2017,2018 Revolucionia.net
Sobre Revolucionia
Temas
Para saber más
Contacto