Skip to main content
SearchLoginLogin or Signup

La importancia del contexto y el registro coloquial en los traductores PLN basados en Inteligencia Artificial

La precisión de Google Translate, DeepL y Bing para la traducción del registro coloquial del lenguaje es de 29'52%, 36'96% y 17'39%, respectivamente. El desarrollo de la traducción automática ha motivado un elevado desinterés por conocer el idioma, su cultura y creatividad.

Published onMay 29, 2022
La importancia del contexto y el registro coloquial en los traductores PLN basados en Inteligencia Artificial
·

Abstracto

Se ha desarrollado un modelo tradicional basado en Inteligencia Artificial para el procesamiento del lenguaje natural fundamentado en RNN, además de un dataset que compila un número de versos poéticos y frases en lenguaje coloquial. Su mayor aportación es mejorar la precisión y calidad en la traducción dentro de este tipo de registro en los principales traductores automáticos de Google Translate, DeepL y Bing Microsoft Translate, estudiando el modelo de entrenamiento que aplica cada uno de ellos. Para llevar a cabo el estudio hemos creado un conjunto de datos que combina más de 200 registros de versos poéticos y 230 frases populares, entre dichos y refranes. Nuestra intención es la de entrenar un modelo, validar los resultados y hacer una comparativa con los resultados obtenidos de los traductores automáticos.

Palabras clave: #IA #InteligenciaArtificial #traducciónautomática #redesneuronales #funcionesdeactivación #modelosdetraducción

Key words: #AI #ArtificialIntelligence #machinetranslation #neuralnetworks #activationfunctions #translationmodels

Nota: para una mejor lectura se ha optado por usar cursiva de forma ortodoxa en las frases completas provenientes del inglés (neologismos). Y se han puesto en cursiva sólo a veces otras con el ánimo de notar su etimología inglesa porque o bien son nombres propios o bien son nombres de determinados elementos o componentes de uno o varios sistemas que aquí se describen.

1.- Introducción

El inicio de la traducción automática se sitúa en 1954 con las primeras pruebas entre los idiomas inglés y ruso. Con el paso de los años, se desarrollan ciertas estrategias como la interlengua y la de transferencia para completar una traducción que ponga en valor las características del lenguaje origen y su funcionamiento. La historia de la traducción automática tuvo su esplendor en el año 1997 con la aparición de Babel Fish, pues permitía el acceso a la traducción automática gratuitamente a través de Internet [1].

En el año 2013, la traducción automática sufrió transformaciones que impulsaron esta tarea, entre ellas, la renovación del modelado lingüístico condicional, permitiendo que la predicción de las palabras estuviera condicionada por el texto de origen. Fue a partir de este momento cuando alguno de los principales sistemas multilingües de traducción automática, como Google Translate, comenzó a utilizar modelos basados en transformadores [2]. A día de hoy, el aprendizaje automático y la programación del lenguaje natural son elementos medulares en la traducción automática.

2.- Modelos de aprendizaje automático

Un modelo de aprendizaje automático es un archivo entrenado para reconocer patrones. El entrenamiento se puede realizar utilizando un conjunto de datos y un algoritmo que permita obtener información de esos datos. Una vez entrenado el modelo, se pueden desglosar los datos que no se hayan visto antes y hacer predicciones [3].

El aprendizaje profundo es un campo nuevo en la investigación del aprendizaje automático. En general, se trata de una clase de algoritmos ideados para el aprendizaje automático [4]. Su principal objetivo es simular una red neuronal para el análisis y el aprendizaje del cerebro humano, por ejemplo, en la interpretación de datos: imágenes, sonidos y textos. Los algoritmos de aprendizaje profundo son el desarrollo de redes neuronales artificiales [5].

Las redes neuronales artificiales (RNA) se definen como “un conjunto de unidades, llamadas neuronas artificiales, conectadas entre sí para transmitir señales. La información de entrada traspasa la red neuronal, donde se somete a varias operaciones, generando unos valores de salida. Cada neurona está conectada con otras a través de unos enlaces. En estos enlaces, el valor de salida de la neurona anterior es multiplicado por un valor de peso“ [6].

En el siguiente apartado explicamos cómo funcionan las redes neuronales artificiales convolucionales y recurrentes.

2.2 Redes neuronales convolucionales (CNN)

Las redes neuronales convolucionales son un tipo de RNA con aprendizaje supervisado que procesa sus capas imitando el córtex cerebral humano para identificar las distintas características en las entradas que hacen que pueda identificar objetos. Para ello, las CNN contienen varias capas ocultas con una jerarquía, esto es, analizan la oración de izquierda a derecha o de derecha a izquierda [7]. Las primeras capas pueden detectar líneas, curvas y se especializan hasta llegar a capas más profundas que reconocen formas complejas como una cara o un animal.

Image 1

Crédito de imagen: estructura de las redes neuronales convolucionales por Diana Díaz, 2022 (.) URL: https://www.aprendemachinelearning.com/como-funcionan-las-convolutional-neural-networks-vision-por-ordenador/ (imagen publicada con permiso de su autor, con fecha: 17/05/2022)

Una red CNN recibe un input y nos devuelve tantos outputs como hayamos definido. En el caso anterior, en el que se utiliza una red convolucional para clasificar imágenes, encontramos como input la imagen que pretendemos clasificar. Esta imagen de entrada pasa por una serie de filtros detallados en el siguiente punto.

2.2.1 Filtros y capas intermedias - redes neuronales convolucionales (CNN)

2.2.1.1 Capa convolución

Las capas de convolución consisten en tomar grupos de píxeles cercanos de la imagen de entrada e ir operando matemáticamente (producto escalar) contra una pequeña matriz llamada núcleo o kernel. El núcleo, que tiene un tamaño definido, por ejemplo de 3×3 píxeles, recorre todas las neuronas de entrada (de izquierda a derecha y de arriba a abajo) y genera una nueva matriz de salida [8].

2.2.1.2 Subsampling

Es un proceso a través del cual tratamos de reducir el número de neuronas de la próxima capa pero sin perder las características más importantes que detectó cada filtro [9].

2.2.1.3 Capa maxPooling

Las capas de maxPooling son un proceso de subsampling en el que reducimos la dimensionalidad, recorriendo la imagen. Por ejemplo, en una matriz de 10x10 y una capa de maxPooling de 2x2, recorremos la matriz de izquierda a derecha y de arriba a abajo y la salida de esta capa será un único valor por cada 4 píxeles. Ese valor será el máximo correspondiente a cada iteración [10].

Image 2

Crédito de imagen: capa maxPooling por Adrián Hernández, 2022

2.2.1.4 Capa softmax

Softmax convierte un vector de valores en una distribución de probabilidad. Los elementos del vector de salida están en el rango (0, 1) y suman 1. Cada vector se maneja de forma independiente. El argumento del eje establece a lo largo de qué eje de la entrada se aplica la función. Esta función se usa a menudo como la activación de la última capa de una red de clasificación, ya que el resultado podría interpretarse como una distribución de probabilidad [11].

2.3 Redes neuronales recurrentes (RNN)

Una red neuronal recurrente, en cambio, no tiene una estructura de capas definida, sino que sus conexiones entre las neuronas son arbitrarias. Incluye conexiones que apuntan “hacia atrás”, de manera que se retroalimentan entre las neuronas dentro de las capas. En cada timestep o instante de tiempo, esta neurona recurrente recibe la entrada de la capa anterior, así como su propia salida del instante de tiempo anterior para generar su salida.

El nombre de estas redes se atribuye por un conjunto de algoritmos que “realizan un intercambio de información entre neuronas de una manera más compleja y por sus características pueden propagar la información hacia adelante en el tiempo, lo cual equivale a predecir eventos” [12]. Tienen una enorme potencia para todo lo relacionado con el análisis secuencial, como el análisis de textos, sonidos y vídeos.

Image 3

Crédito de imagen: redes neuronales recurrentes por Diana Díaz, 2022 (.) Basada en URL: https://commons.wikimedia.org/wiki/File:RecurrentLayerNeuralNetwork.png

La propagación hacia atrás de errores o retropropagación (backpropagation) es un método de cálculo del gradiente utilizado en algoritmos de aprendizaje supervisado para entrenar redes neuronales artificiales. El método emplea un ciclo propagación - adaptación de dos fases. Una vez que se ha aplicado un patrón a la entrada de la red como estímulo, se propaga desde la primera capa a través de las capas siguientes de la red hasta generar una salida. La señal de salida se compara con la salida deseada y se calcula una señal de error para cada una de las salidas [13].

Existen diferentes tipos de redes neuronales dependiendo del número de capas ocultas y la forma de realizar la retroalimentación. Las más utilizadas son las redes de gran memoria de corto plazo (LSTM).

2.3.1 Redes de memoria a corto plazo (LSTM)

Las redes LSTM o Long Short Term Memory son redes neuronales recurrentes convencionales que amplían su memoria para aprender de experiencias importantes que han pasado hace mucho tiempo. Incorporan una serie de pasos para decidir qué información va a ser almacenada y eliminada. Gracias a esto se solventan los problemas de las redes recurrentes convencionales, pues tienden a crecer enormemente o a desvanecerse con el tiempo. Esta información se almacena o no en función de su importancia. La asignación de importancia se decide a través de los pesos, que también se aprenden mediante el algoritmo. En una neurona LSTM hay tres “puertas de información”: input gate, forget gate y output gate. Estas puertas determinarán si se permite o no una nueva entrada, se elimina la información porque no es importante o se deja que afecte a la salida en el paso de tiempo actual [14].

Image 4

Crédito de imagen: redes de memoria a corto plazo por Diana Díaz, 2022 (.). Basada en URL: https://commons.wikimedia.org/wiki/File:Long_Short-Term_Memory.svg

3.- Funciones de activación

Las funciones de activación son las encargadas de activar los pesos de una neurona de la red neuronal en función de su resultado. Este procedimiento permite eliminar la linealidad de las redes neuronales, mejorando la precisión y el resultado final. Los valores de entrada se corresponden con los valores del eje de abscisas (X) y los valores de salida con el eje de ordenadas (Y) [15].

ELU

Esta función de activación devuelve el mismo valor para valores de entrada positivos, y un valor de ex - 1 para todos los valores de entrada menores que 0. Su función matemática se describe así:

f(x) = ex - 1 si x < 0
f(x) = x si x ≥ 0

Por ejemplo, para un valor de entrada de x=0, el valor de salida de la función sería 0. Para un valor de entrada de x = -1, el valor de salida seria e-1 - 1, o lo que es lo mismo: -0.6321….

Image 5

Crédito de imagen: función de activación ELU por Adrián Hernández, 2022

RELU

Esta función de activación devuelve el mismo valor para valores de entrada positivos y devuelve 0 para valores menores o iguales a 0. Su función matemática se describe así:

f(x) = max(0,x)

Image 6

Crédito de imagen: función de activación RELU por Adrián Hernández, 20222

Leaky RELU

Esta función de activación es una variante de la función de activación RELU habitual, pero si admite valores negativos. Su función se describe así:

f(x) = x*α si x > 0
f(x) = x si x ≤ 0

Siendo α un número elegido previamente. Lo que se consigue con esta función es que para valores de entrada negativos, mantenemos ese mismo valor a la salida y acentuamos los valores positivos.

Por ejemplo para:

x=5 y α=2 -> f(5) = 5*2 = 10

x=-5 y α=2 -> f(-5) = -5

Image 7

Crédito de imagen: función de activación Leaky RELU por Adrián Hernández, 2022

Lineal

La función de activación lineal devuelve como output el mismo input que recibe. Su función se puede describir así: f(x) = x

Por ejemplo para:

x=1 -> f(1) = 1

Image 8

Crédito de imagen: función de activación lineal por Adrián Hernández, 2022

Sigmoide

La función de activación sigmoide devuelve para valores pequeños (<-5), un valor cercano a cero, y para valores grandes (>5) el resultado de la función se acerca a 1. Sigmoide es equivalente a un Softmax de 2 elementos, donde se supone que el segundo elemento es cero. La función sigmoidea siempre devuelve un valor entre 0 y 1.

Su función se describe así:

f(x) = 1 / (1 + exp(-x))

Por ejemplo para:

x=5 -> f(5) = 1 / (1+exp(-5))= 0.9933

x=-10 -> f(5) = 1 / (1+exp(10))= 0.0000453

Image 9

Crédito de imagen: función de activación sigmoide por Adrián Hernández, 2022

4.- Modelos de Lenguaje Natural

El procesamiento del lenguaje natural es el campo de conocimiento de la Inteligencia Artificial que investiga la comunicación de las máquinas con las personas a través de lenguas naturales, como el español o el inglés [16]. Cuando hablamos de lengua natural nos referimos a la forma del lenguaje humano con fines comunicativos, que obedece a los principios económicos y de optimalidad [17].

Algunos de los componentes lingüísticos que se emplean en el procesamiento del lenguaje natural, dependiendo del objetivo de su aplicación son:

  • Morfología, rama lingüística que estudia la estructura interna de las palabras [18].

  • Sintaxis, parte de la gramática que estudia la forma en la que se combinan las palabras, además de las relaciones sintagmáticas y paradigmáticas existentes entre ellas [19].

  • Semántica, enfocada a diversos aspectos entre el significado, sentido e interpretación de signos lingüísticos [20].

  • Pragmática, relacionada con la influencia del contexto en la interpretación del significado [21].

4.1 Modelos de lenguaje enmascarado (MLM)

Los modelos de lenguaje enmascarado o Masked Language Models (MLM) deben su nombre a que se encubre un cierto porcentaje de palabras en una oración determinada y se espera que el modelo prediga esas palabras en función de otras palabras de la oración. Este modelo es de naturaleza bidireccional porque la representación de la palabra enmascarada se aprende en función de las palabras que aparecen tanto a la izquierda como a la derecha.  Un ejemplo de este tipo de modelo es Bert [22]:

Image 10

Crédito de imagen: modelo de lenguaje enmascarado por Diana Díaz, 2022 (.). URL: https://towardsdatascience.com/understanding-masked-language-models-mlm-and-causal-language-models-clm-in-nlp-194c15f56a5 (imagen publicada con permiso de su autor, con fecha: 17/05/2022)

4.2 Modelos de lenguaje causal (CLM)

Los modelos de lenguaje causal o Causal language models (CLM) siguen el mismo concepto que el modelo anterior, es decir, predicen las palabras enmascaradas, pero en este caso solo se tienen en cuenta las palabras que ocurren a su izquierda para repetir el proceso. Por esta razón, el modelo es de naturaleza unidireccional. Un ejemplo de esto es el traductor DeepL [23].

Image 11

Crédito de imagen: modelos de lenguaje causal por Diana Díaz, 2022 (.). URL: https://towardsdatascience.com/understanding-masked-language-models-mlm-and-causal-language-models-clm-in-nlp-194c15f56a5 (imagen publicada con permiso de su autor, con fecha: 17/05/2022)

5.- Modelos de traducción automática

5.1 Traducción automática (TA)

Es el proceso mediante el cual se utiliza software de computadora para traducir un texto de un lenguaje natural, como el inglés, a otro, como el español [24].

En la traducción automática se distinguen dos tipos principalmente:

  • Traducción automática basada en reglas. Se utilizan diccionarios bilingües y funcionan mediante la construcción de reglas lingüísticas. Su hándicap son las excepciones a las reglas gramaticales, ya que no podrá traducir una frase si no aparece en su manual de gramática [25].

  • Traducción automática basada en corpus, desde 1989. Este es un método de traducción predominante en la actualidad, convirtiéndose en uno de los sistemas más extendidos. Consiste en usar grandes corpus bilingües paralelos para crear el sistema de traducción. Destaca sobre todo la traducción automática estadística [26].

5.2 Traducción automática estadística (TAE)

La traducción automática estadística (TAE) o más conocida en inglés por Statistical Machine Translation (SMT) se define como la traducción de un texto de una lengua a otra, realizada por un ordenador que ha aprendido a traducir en base a una gran cantidad de textos traducidos, utilizando la estadística [27]. Es un tipo de traducción automática basada en corpus. El motor de traducción utiliza grandes volúmenes de corpus y textos paralelos, tanto bilingües como monolingües. Un claro ejemplo de la traducción automática estadística es el sistema de Bing Microsoft Translate [28].

Image 12

Crédito de imagen: traducción automática estadística por Diana Díaz, 2022 (.) URL: http://people.csail.mit.edu/koehn/publications/tutorial2003.pdf (imagen publicada con permiso de su autor, con fecha: 17/05/2022)

5.3 Traducción automática neuronal (TAN)

Es un sistema de traducción basado en algoritmos de redes neuronales artificiales. La TAN es una aproximación a la TA basada en deep learning y redes neuronales. Grandes empresas han mostrado interés en este tipo de traducción, como Google, Microsoft y DeepL, puesto que han creado proyectos de traducción automática neuronal para evaluar su rendimiento. Un ejemplo de ello es transformer, un prototipo de Google del que hablaremos más adelante. En él destaca su capacidad de autoaprendizaje, sobre todo cuando la máquina tiene que contender con la sintaxis, la semántica, el léxico y las referencias culturales que existen de un idioma a otro. En la traducción automática neuronal a diferencia de la estadística, “los modelos de traducción automática neuronal requieren sólo una fracción de la memoria que necesitan los modelos tradicionales de traducción automática estadística” [29].

Image 13

Crédito de imagen: Traducción automática neuronal (TAN) por Diana Díaz, 2022 (.). Basada en URL: https://commons.wikimedia.org/wiki/File:MultiLayerNeuralNetwork_english.png

5.4 Comparativa entre TA, TAE Y TAN

Image 14

Crédito de imagen: tabla comparativa entre TA, TAE y TAN por Diana Díaz, 2022 (.) URL: https://attesor.com/traduccion-automatica/ (imagen publicada con permiso de su autor, con fecha: 18/05/2022)

Existen 6 parámetros para comparar los distintos tipos de traducciones automáticas: las 3C (calidad, coherencia y consistencia), fluidez, espacio, coste, conocimiento gramatical y excepciones gramaticales. Las 3C en la cual TAN y TA son mejor frente a TAE. En lo que a capacidad se refiere, en este caso quien contaría con el menor sería TA y en una cuestión de fluidez también, pues son sistemas de traducción más antiguos. A pesar de que los costes son relativos, ya que este proceso exige un análisis más exhaustivo, comparando unos y otros, los que tienen menor costes son los TAE. Finalmente, en cuanto a gramática se refiere, TA es el único que sabe gramática, TAE no sabe y TAN tan sólo lo replica. Contrariamente, TA es el único que tiene problemas con las reglas gramaticales, ya que TAE y TAN se manejan mejor.

6.- Modelo utilizado por los principales traductores de Internet

6.1 Google Translate

Breve descripción

Se lanzó en abril de 2006 y es actualmente una herramienta de referencia para la traducciones en línea. Aunque surgió como motor de traducción automática estadística en 2016, Google cambió su método de traducción adoptando TAN, el sistema de traducción automática neuronal de Google (GNMT, por sus siglas en inglés). Este tipo de TAN fue creado para mejorar la calidad de traducción de otros sistemas de traducción neuronal, ya que suelen tener dificultades para traducir ciertas palabras, problemas de velocidad y precisión, entre otros (Quoc Le y Schuster, 2016). Utiliza técnicas de aprendizaje profundo para traducir frases y así poder garantizar una mayor precisión contextual. El servicio ofrece a día de hoy traducciones en 103 idiomas y cuenta con más de 500 millones de usuarios diarios [30].

Modelo que utiliza: Utiliza BERT (transformer)

Google utiliza en su traductor online un modelo basado en la arquitectura Transformer. El modelo transformer se compone de dos partes; input y output. De acuerdo con la RAE, la palabra input se refiere al conjunto de datos introducido en un sistema informático [31], mientras, output, hace referencia a la información que sale procesada de un sistema informático [32].

El codificador mapea desde una secuencia de entrada a una secuencia de representaciones continuas, que luego se alimenta a un decodificador. El decodificador recibe la salida del codificador junto con la salida del decodificador y genera una secuencia de salida.

En un modelo encoder-decoder, la salida busca las diferencias con la entrada en base al entrenamiento que se le ha dado a la arquitectura. Es decir, cuando una imagen entra en un bloque encoder-decoder se codifica siguiendo el entrenamiento dado al salir del bloque, se decodifica y se compara con la imagen original, midiendo el error entre ambas imágenes. Si la imagen de entrada se corresponde con el entrenamiento, el error tras el bloque encoder-decoder será mínimo.

Dentro de estas dos partes podemos observar diferentes bloques: embedding (input y output), add & norm, multi-head attention y feed forward. Nx intrega add & norm, multi-head attention y feed forward tanto en el input como en el output. El output también dispone de las funciones linear y softmax utilizada como capa final habitualmente en clasificadores basados en redes neuronales.

Image 15

Crédito de imagen: transformer por Diana Díaz, 2022 (.) URL: https://github.com/VictorBusque/DeepL-Transformer (imagen publicada con permiso de su autor, con fecha: 17/05/2022)

El bloque embedding dispone de varias capas de incrustación para así poder realizar el seguimiento de las palabras. El segundo bloque multi-head por la parte del input implementa un mecanismo de autoatención de varios cabezales que reciben una versión proyectada linealmente de las consultas para producir salidas en paralelo, que se utilizarán para generar un resultado final. Por otro lado, el codificador está diseñado para atender todas las palabras en la secuencia de entrada independientemente de su posición en la secuencia. Por lo tanto, la predicción de una palabra en la posición solo puede depender de las salidas conocidas para las palabras que le preceden en la secuencia.

En el lado del decodificador, observamos otra capa que constituye el mecanismo de cabezales múltiples, quien recibe las consultas de la subcapa del decodificador anterior y las claves y valores de la salida del codificador. De esta manera, permite que el decodificador preste atención a todas las palabras en la secuencia de entrada.

El tercer bloque feed forward, similar en ambos lados, es una red de avance totalmente conectada que consta de dos transformaciones lineales con activación de unidad lineal rectificada (ReLU) en su parte central. 

La salida del decodificador finalmente pasa a través de una capa completamente conectada, seguida de una capa de activación Softmax, para generar una predicción para la siguiente palabra de la secuencia de salida.

6.2 DeepL

Breve descripción

DeepL se apoya en el diccionario en línea Linguee, funciona a través de corpus paralelos multilingües y de los algoritmos de IA y aprendizaje automático ya existentes. Las traducciones en línea de DeepL son el resultado de una combinación entre aprendizaje automático y redes neuronales convolucionales, así como de una enorme base de datos de búsquedas en línea y traducciones de las que tomar referencia para poder entrenar el motor de traducción y mejorarlo [30].

Modelo que utiliza

La mayoría de los sistemas de traducción disponibles públicamente son modificaciones directas de la arquitectura transformer. Por supuesto, las redes neuronales de DeepL también contienen partes de esta arquitectura como los mecanismos de atención, utilizados en las redes neuronales para modelar la interacción de largo alcance, por ejemplo, a través de un texto en NLP.  [33]

Para explicar el modelo que utiliza DeepL hay que tener en cuenta las similitudes que tiene con el modelo transformer [34]. A simple vista, se compone de las mismas partes, es decir, embedding (input y output), add & norm, multi-head attention y feed forward y linear y función softmax en el output.

DeepL se compone de tres bloques:

  • Token and Position Embedding

  • MultiHeadSelfAttention

  • MultiHeadSelfAttention.casual_attention_mask

Image 16

Crédito de imagen: modelo que utiliza DeepL por Diana Díaz, 2022 (.) URL: https://github.com/VictorBusque/DeepL-Transformer (imagen publicada con permiso de su autor, con fecha: 17/05/2022)

El bloque embedding dispone de varias capas de incrustación para así poder realizar el seguimiento de las palabras al igual que el transformer, pero la incrustación de posición, en este caso, se entrena a diferencia del modelo transformer que se obtiene calculando el seno y el coseno. 

Image 17

Crédito de imagen: DeepL-Transformer_4 por Diana Díaz, 2022 (.) URL: https://github.com/VictorBusque/DeepL-Transformer (imagen publicada con permiso de su autor, con fecha: 17/05/2022)

La función seno representa la variación de la ordenada del punto en función de su ángulo x. La función seno tiene la ecuación f (x) = A sin (x). La función coseno representa la variación de la abscisa del punto en función de su ángulo x. La función coseno tiene la ecuación f (x) = A cos (x).

Image 18

Crédito de imagen: función coseno por Diana Díaz, 2022 (.) (Creada en Geogebra)

Otra de las diferencias más relevantes es que no se aplica el método codificador-decodificador. Es el bloque multiheadselfattention por el que a través de múltiples capas implementará todo el decodificador del transformador.

Image 19

Crédito de imagen: DeepL-Transformer_1 por Diana Díaz, 2022 (.) URL: https://github.com/VictorBusque/DeepL-Transformer (imagen publicada con permiso de su autor, con fecha: 17/05/2022)

Combina un embedding con un número arbitrario de capas de multi-head y feed award . El modelo “empuja” el vector de contexto desde esta parte a través de una capa lineal para luego transformarlo en una distribución de probabilidad de palabras a través de una función softmax.

Image 20

Crédito de imagen: DeepL-Transformer_2 por Diana Díaz, 2022 (.) URL: https://github.com/VictorBusque/DeepL-Transformer (imagen publicada con permiso de su autor, con fecha: 17/05/2022)


6.3 Bing Microsoft Translator

Breve descripción

Bing Microsoft Translate es un servicio creado por Microsoft que permite a los usuarios traducir textos o páginas web completas en diferentes idiomas [35]. Este traductor incorpora dos tecnologías; la traducción de la máquina estadística (SMT) y la traducción automática neuronal basada en Inteligencia Artificial [36]

Modelo que utiliza

Microsoft Bing Translate incorpora XYZ-Code que combina texto monolingüe (X), señales sensoriales de audio y visuales (Y), y multilingüe (Z) y permite potenciar las aplicaciones basadas en IA, mejorando la comprensión humana. Su principal objetivo es tener modelos pre entrenados que puedan aprender simultáneamente representaciones que respalden las tareas subsiguientes de la Inteligencia Artificial [37].

La arquitectura del modelo Zcode es un tipo de arquitectura que emplea el aprendizaje por transferencia de dos formas: primero, el modelo se entrena en muchos lenguajes para que el conocimiento se transfiera entre idiomas y segundo, se utiliza el entrenamiento multitarea para transferir conocimientos entre tareas. Por ejemplo, la tarea de traducción automática puede ayudar a la tarea de comprensión del lenguaje natural. La imagen del modelo Zcode podemos verlo aquí: https://www.microsoft.com/en-us/research/project/project-zcode/

DeltaLM: pre entrenamiento de codificador-descodificador para la generación y traducción de idiomas mediante el aumento de codificadores multilingües pre entrenados. Los experimentos realizados demuestran que DeltaLM supera varias líneas de base sólidas tanto en la generación del lenguaje natural, como en las tareas de traducción, incluida la traducción automática, el resumen de texto, la conversión de datos a texto y la generación y la generación de preguntas [38]. El código y los modelos preentrenados están disponibles en la siguiente URL: https://aka.ms/deltalm

Representación gráfica del modelo DeltaLM:

Image 21

Crédito de imagen: Modelo DeltaLM por Diana Díaz, 2022 (.) URL: https://www.semanticscholar.org/paper/DeltaLM%3A-Encoder-Decoder-Pre-training-for-Language-Ma-Dong/0a03d2c46ba4c3160e4e011eb52cb5a13cde1fbd  (imagen publicada con permiso de su autor, con fecha: 23/05/2022)

Y la representación gráfica del modelo ZCode-DeltaLM podemos verla en el siguiente enlace: https://www.microsoft.com/en-us/translator/blog/2021/11/22/multilingual-translation-at-scale-10000-language-pairs-and-beyond/ 

7. Conjunto de datos de entrada para entrenamiento, validación y test

Para traducir ciertos elementos lingüísticos como las frases hechas y los refranes hay que conocer perfectamente tanto el idioma de origen como el de destino, de otra manera, la traducción sería unas cuantas frases compuestas por palabras absurdas [39]. Sistemas multilingües de traducción conocidos como Google Translate traducen en base a la información disponible en su base de datos, y a no ser que la frase hecha introducida sea popular, el traductor arroja un resultado literal, modificando absolutamente el significado de la oración [40]. Veamos un par de ejemplos:

I) La frase hecha en inglés hit a club se traduce en español como darse un garbeo, pero, ¿cómo la traducirán los traductores automáticos elegidos para nuestro estudio? Google Translate: golpear un club, DeepL: golpear un club y Bing Microsoft Translate: golpear un club.

II) El refrán moderno en inglés deal it se traduce en español como el que lo huele, debajo lo tiene. Comprobemos cómo lo traducen los traductores. Google Translate: tratado, DeepL: lo repartió y Bing Microsoft Translate: lo repartí.

De igual forma ocurre con los géneros literarios, por ejemplo, la poesía, también supone una dificultad en la traducción automática, pues la literalidad se adueña del 80% de los resultados obtenidos, dejando de lado su esencia; evasión de la mente del lector, belleza, sentido estético, rima, uso de figuras retóricas y comunicación del mensaje [41]. Veamos un par de ejemplos en diferentes versos:

I) En el poema “Camina bella” de Lord Byron, el verso 15 The smiles that win, the tints that glow se traduce al español como las sonrisas que triunfan, los matices que refulgen. Veamos cómo es la traducción de Google Translate: las sonrisas que ganan, los tintes que brillan, DeepL: las sonrisas que ganan, los tintes que brillan y Bing Microsoft Translate: las sonrisas que ganan, los tintes que brillan.

II) En el “Soneto XXIX” de William Shakespeare, el verso 6 Featur’d like him, like him with friends possess’d se traduce al español como deseando ser mejor compañía para disfrutar de la amistad. ¿Cuál es la traducción que hace Google Translate? Tiene como él, como lo posee él con amigas, ¿DeepL? Como un aspecto él de él, como el de los amigos que posee, ¿y Bing Microsft Translate? Como él, como él con amigos poseídos.

Para llevar a cabo el estudio hemos creado un dataset o conjunto de datos que combina más de 200 registros de versos poéticos y 230 frases populares, entre dichos y refranes. Nuestra intención es la de entrenar un modelo, validar los resultados y hacer una comparativa con los obtenidos de los traductores automáticos. Los conjuntos utilizados pueden visualizarse aquí:

8. Comparativa de precisión Google (BERT), DeepL y Bing utilizando registro del lenguaje informal y emociones

En la traducción del dataset, referido en el punto 7, comparamos las precisiones de los resultados por los tres modelos más utilizados. En lo que a versos poéticos se refiere, es importante atender al contexto, pues brinda la oportunidad de conocer más allá de las líneas de lectura. La metodología establecida para llevar a cabo el análisis de la traducción consiste en interpretar la composición de inglés a español, una vez se ha hecho la división de los datos; el 70%, aludido al entrenamiento, el 20% a la validación y el restante, 10%, al test. Los resultados obtenidos en los 3 traductores automáticos reflejan literalidad y la pérdida de la contextualización, de tal forma que las frases son un conjunto de palabras sin sentido y sin ápice de composición poética. En la siguiente tabla podemos observar la precisión alcanzada por cada uno de ellos. Cabe destacar Google Translate:

Table 1

Google Translate

DeepL

Bing Microsoft Translate

27,18%

18,45%

10,19%

En relación a las frases hechas, dichos populares y refranes, se mantiene la baja precisión para los tres modelos, a excepción de la singularidad de DeepL:

Table 2

Google Translate

DeepL

Bing Microsoft Translate

29,52%

36,96%

17,39%

En esta ocasión los 3 traductores mejoran con respecto a las precisiones logradas en los poemas, siendo el peor nuevamente el traductor de Microsoft; Bing Translate.

9. Desarrollo de distintos modelos de inteligencia artificial personalizados para PLN

A partir del dataset generado en el punto 7, se entrenan distintos modelos de traducción automática basados en arquitecturas de redes neuronales recurrentes y en los modelos transformer.

Estos modelos son:

  1. RNN Simple.

  2. RNN con bloque Embeding.

  3. Modelo Transformer.

9.1 Desarrollo de un modelo tradicional de inteligencia artificial personalizado para PLN basado en RNN simple

El modelo RNN - simple utilizado tiene la siguiente estructura:

Image 22

Crédito de imagen: Modelo RNN simple por Adrián Hernández, 2022

Utilizando nuestro propio dataset y entrenando el modelo durante 30 épocas, obtenemos una precisión del 53,65%, que asciende a 58,41% si utilizamos 60 épocas en la traducción de frases populares y una precisión de 39,83%, que se incrementa en 2.94, a 42,77%, si utilizamos 60 épocas en la traducción de poemas.

El modelo tiene alrededor de 800.000 parámetros entrenables en 3 capas distintas, añadiendo una capa dropout para reducir/eliminar la posibilidad de incluir neuronas muertas durante el entrenamiento.

9.2 Desarrollo de un modelo tradicional de inteligencia artificial personalizado para PLN basado en RNN con un bloque embedding

El modelo RNN - embedding utilizado tiene la siguiente estructura:

Image 23

Crédito de imagen: Modelo RNN Embeding por Adrián Hernández, 2022

Utilizando nuestro propio dataset y entrenando el modelo durante 30 épocas, obtenemos una precisión del 71,52%, que aumenta al 73,27% si utilizamos 60 épocas en la traducción de frases populares y una precisión de 62,46%, que se remonta a 68,26% si utilizamos 60 épocas en la traducción de poemas.

El modelo tiene alrededor de 1 millón de parámetros entrenables en 4 capas, utilizando un bloque embedding.

9.3 Desarrollo de un modelo Transformer de inteligencia artificial personalizado para traducción automática. (lenguaje menos formal y emociones)

El modelo transformer utilizado tiene la siguiente estructura:

Image 24

Crédito de imagen: Modelo Transformer por Adrián Hernández, 2022

Utilizando nuestro propio dataset y entrenando el modelo durante 30 épocas, obtenemos una precisión del 81,02%, que crece al 87,56% si utilizamos 60 épocas en la traducción de frases populares y una precisión de 71,51% que aumenta a 76,33% si utilizamos 60 épocas en la traducción de poemas.

El modelo tiene alrededor de 20 millones de parámetros entrenables en 3 capas, además de un modelo encoder-decoder.

La precisión podría mejorar si aplicamos un ajuste fino en cada una de las capas, incrementando el número de ellas o realizando un pre-procesado al conjunto de datos de entrada de nuestro modelo.

10. Conclusiones

Actualmente los traductores más populares no alcanzan su magnificencia en el desempeño de las traducciones en entornos menos formales o poéticos (emociones).

Image 25

Crédito de imagen: Precisión en la traducción de frases populares (en términos de porcentaje) por Adrián Hernández, 2022

La precisión en el caso del conjunto de datos referente al lenguaje más informal se sitúa por debajo del 30%, superada por arquitecturas menos complejas como RNN Simple, al igual que se observa en las composiciones poéticas:

Image 26

Crédito de imagen: Precisión de la traducción en poesía (en términos de porcentaje) por Adrián Hernández, 2022

Teniendo en cuenta estos datos y con el añadido de que los tres traductores, Google Translate, DeepL y Bing Microsoft Translate, utilizan arquitecturas transformer, se puede inferir que el problema de las traducciones automáticas no se centra en su totalidad en la arquitectura del modelo, sino más bien en el desinterés que las grandes compañías, que ofrecen servicios de traducción, muestran por el lenguaje oral, el que más riqueza y sabiduría nos proporciona; el popular. Además, se pone de manifiesto que la Inteligencia Artificial sigue siendo altamente dependiente del conjunto de datos de entrenamiento y como de bien procesados esté la información.

11. Agradecimientos

Agradecemos a las organizaciones y personalidades que hicieron posible la elaboración de este proyecto, colaborando en la actualización de información y testimonios que engrandecen el valor de la investigación.

D. Juan Ignacio Bagnato - https://twitter.com/jbagnato

D. Prakhar Mishra - https://www.linkedin.com/in/prakhar21

D. Kevin Knight - https://www.linkedin.com/in/kevin-knight-169230162

D. ª Carla Parra Escartín - https://www.linkedin.com/in/carlaparraescartin

D. Víctor Busqué - https://www.linkedin.com/in/vbusque

D. Dongdong Zhang - https://www.linkedin.com/in/dongdong-zhang-6081a147

D. Roberto Rivas Couce - https://www.linkedin.com/in/roberto-rivas-couce

Connections
A Reply to this Pub
Comments
0
comment

No comments here

Why not start the discussion?