El aprendizaje automático ha resultado ser una herramienta muy útil para la traducción, pero tiene algunos puntos débiles. La tendencia de los modelos de traducción a hacer su trabajo palabra por palabra es una de ellas, y puede llevar a errores graves. Google detalla la naturaleza de este problema, y su solución, en un interesante post en su blog de Investigación.
El problema se explica bien por Jakob Uszkoreit, del departamento de procesamiento del lenguaje natural de la empresa. Considere las dos oraciones siguientes:
Llegué al banco después de cruzar la calle.
Llegué al banco después de cruzar el río.
Obviamente,»banco» significa algo diferente en cada oración, pero un algoritmo que mastica su camino podría fácilmente escoger el equivocado, ya que no sabe qué «banco» es el correcto hasta que llega al final de la oración. Esta clase de ambigüedad está en todas partes una vez que empiezas a buscarla.
Yo, yo sólo reescribiría la oración (Strunk and White advirtió sobre esto), pero por supuesto que no es una opción para un sistema de traducción. Y sería muy ineficaz modificar las redes neuronales para traducir básicamente toda la oración y ver si está pasando algo raro, y luego intentarlo de nuevo si lo hay.
La solución de Google es lo que se llama un mecanismo de atención, integrado en un sistema que llama Transformer. Compara cada palabra con cada palabra de la oración para ver si alguna de ellas afectará la una a la otra de alguna manera clave – para ver si «él» o «ella» está hablando, por ejemplo, o si una palabra como «banco» significa algo en particular.
Cuando la oración traducida está siendo construida, el mecanismo de atención compara cada palabra como se agrega a cada otra. Este gif ilustra todo el proceso. Bueno, más o menos.
Una empresa de traducción competidora de Google, DeepL, también utiliza un mecanismo de atención. Su co-fundador citó este problema como uno en el que también habían trabajado duro, e incluso mencionó queestá basado en el artículo de Google (atención es todo lo que necesitas), aunque obviamente hicieron su propia versión. Y una muy efectiva, quizás incluso mejor que la de Google.
Un efecto secundario interesante del enfoque de Google es que da una ventana a la lógica del sistema: porque Transformer le da a cada palabra una puntuación en relación con cada otra palabra, se puede ver qué palabras «piensa» que están relacionadas, o potencialmente relacionadas:
Este es otro tipo de ambigüedad, donde «él» podría referirse a la calle o al animal, y sólo la última palabra lo delata. Lo resolveríamos automáticamente, pero las máquinas deben ser enseñadas.