Menu Close

Cómo crear nuestro propio sistema de traducción automática neuronal

La calidad de la traducción automática ha mejorado muchísimo desde la aparición de una metodología basada en inteligencia artificial: la traducción automática neuronal. Si utilizamos habitualmente sistemas como Google Translate, nos habremos dado cuenta que los resultados ahora son mucho mejores y que además hay muchos más pares de lenguas disponibles.

Una primera mejora significativa se obtuvo con el paso del los sistemas basados en reglas a los sistemas estadísticos. Los sistemas basados en reglas los desarrollaban equipos de lingüistas e informáticos. Esta era una tarea compleja y larga.

Los sistemas estadísticos, en cambio, se entrenan. Esto significa que los sistemas aprenden a traducir a partir de una gran cantidad de textos originales y sus traducciones: los denominados corpus paralelos. Los sistemas estadísticos aprenden las probabilidades de que unas palabras en la lengua de llegada sean la traducción de unas palabras en la lengua de partida. A partir de estas probabilidades el sistema puede traducir textos enteros.

Los sistemas neuronales también se entrenan a partir de grandes conjuntos de textos y sus traducciones y se basan en técnicas de inteligencia artificial. El sistema construye redes neuronales capaces de transformar una oración en inglés, por ejemplo, en su traducción al español.

¿Qué es una red neuronal?

Las redes neuronales, en cierta manera, imitan la estructura del cerebro humano. Están constituidas por una serie de unidades, las neuronas artificiales, que están interconectadas entre sí, formando redes complejas formadas por diversas capas.

Los sistemas de traducción automática neuronal están disponibles a través de los servicios que ofrecen grandes empresas como Google o DeepL, entre otras. Estos servicios son en parte gratuitos, y para un uso más profesional y continuado se pueden utilizar subscripciones a precios realmente competitivos.

Utilizando estos sistemas se obtienen muy buenos resultados. Pero el usuario pierde totalmente el control. El usuario simplemente envía una oración a traducir a un servidor conectado a Internet y recibe una oración traducida. No tiene margen de maniobra para ajustar el sistema. Además, existen problemas de confidencialidad, ya que se envían los textos a un servidor externo.

Crear nuestro propio sistema

Lo que quizá sea menos conocido es que todo el software necesario para entrenar y utilizar sistema neuronales se distribuye gratuitamente bajo licencias libres. Existen los llamados toolkits que proporcionan todos los componentes necesarios para utilizarlos. Toolkits muy utilizados son Marian y OpenNMT.

El uso de estos toolkits por parte de profesionales y empresas comporta algunos problemas. Por un lado, se necesita un hardware específico: ordenadores dotados de unidades GPU potentes.

Una GPU (Graphic Processing Unit) es una unidad de procesamiento adicional que se dedica al procesamiento de gráficos. Habitualmente las GPU disponen de centenares o miles de procesadores relativamente sencillos, pero capaces de realizar las operaciones necesarias para tareas de inteligencia artificial. Al disponer de muchísimos procesadores de este tipo, los cálculos se pueden paralelizar, es decir, realizar centenares o miles de operaciones al mismo tiempo.

Prueba y error

Otra dificultad para el uso de los toolkits es que se necesitan conocimientos informáticos relativamente especializados y dedicar bastante tiempo a prueba y error, ya que la documentación de los toolkits no es excesivamente detallada.

Pero estos problemas tienen fácil solución: las unidades GPU han bajado considerablemente de precio y para entrenar sistemas neuronales podemos utilizar ordenadores de gaming, es decir, los específicos para los aficionados a los juegos de ordenador.

Por otro lado existen diversos proyectos que tienen como objetivo facilitar el entrenamiento y el uso de sistemas neuronales y que además ofrecen sistemas entrenados de forma gratuita. Se pueden destacar dos: el proyecto MTUOC de la Universitat Oberta de Catalunya y el proyecto OPUS-CAT MT de la Universidad de Helsinki.

Confidencialidad y personalización

¿Qué ventajas tiene utilizar nuestros propios sistemas en lugar de Google Translate o DeepL? Probablemente la principal sea que aseguramos totalmente la confidencialidad de la traducción, ya que los sistemas van a funcionar en nuestros propios ordenadores y no vamos a tener que enviar textos a servidores remotos. Este aspecto puede llegar a ser de suma importancia en algunos sectores donde la confidencialidad estricta es un requisito indispensable.

Si disponemos de suficientes textos originales y traducidos podremos entrenar nuestros propios sistemas. La calidad de estos sistemas especializados va a poder llegar a ser superior a la de Google Translate o DeepL, que son sistemas de ámbito general.

Además, para profesionales y empresas de traducción, el entrenamiento y uso de sistemas personalizados puede llegar a ser un servicio de valor añadido que las distingan de su competencia.

Mejoras pendientes

¿Y cuáles son los retos de futuro para la traducción automática? Se está trabajando para mejorar aún más la calidad de los sistemas. También se está investigando mucho en la creación de sistemas de traducción automática para pares de lenguas con pocos textos paralelos. Actualmente están apareciendo metodologías para entrenar sistemas de traducción automática a partir de textos en las dos lenguas, pero sin la necesidad de que sean originales y traducciones.

Es muy importante recordar que, aunque la calidad de la traducción automática ha mejorado muchísimo, todavía es necesaria una revisión a fondo por parte de un profesional de la traducción. Los toolkits de traducción automática neuronal pueden ayudar también a poner la tecnología al servicio del profesional y no al revés, como pasa a veces cuando la tecnología está en manos de unas pocas empresas.

Want to write?

Write an article and join a growing community of more than 125,000 academics and researchers from 3,978 institutions.

Register now