Transformers: El Procesamiento de Lenguaje Natural contextualizado

Daniel Monsalve Muñoz
Bancolombia Tech
Published in
3 min readJun 14, 2023

A pesar de no ser llamados así por la película, sí es posible realizar un símil con los carros que tienen varios usos (taxis, camiones, particular…) y se convierten en robots. Los modelos Transformers surgieron luego de que en 2017 fuera publicado el paper “Attention is all you need”; y en principio son modelos que se adaptan según un contexto para diferentes funcionalidades con procesamiento de lenguaje natural.

Los Transformers son modelos de redes neuronales que funcionan basados en el concepto de atención, que logró cambiar la manera de procesar texto. Anteriormente el procesamiento de texto se realizaba de manera secuencial y esto causaba que frases que tenían mismo significado, pero orden diferente eran entendidas como distintas, dentro de otros problemas también empezaba a presentar errores cuando las secuencias de texto eran muy largas. Estos nuevos modelos permitieron resolver estos problemas y adicionalmente mejorar la capacidad de procesamiento.

La arquitectura está basada en Encoders y Decoders que son los encargados de leer la información, procesarla y luego entregar los resultados de acuerdo con la transformación necesaria. Internamente es necesario hablar de 3 conceptos que son los que hacen todo esto posible:

·Positional Encoding:

Esto, de manera simplificada, consiste en coger cada una de las palabras de una frase y enumerarlas según su posición para que el modelo mantenga el orden de procesamiento.

· Attention:

Se refiere a la capacidad del modelo de dar más peso en el análisis a las palabras que más importancia tienen dentro de una frase, esto permite capturar las conexiones y relaciones importantes.

· Self-attention:

Es un mecanismo de atención que se enfoca en la relación entre las palabras que contiene una frase, esto ayuda a mejorar la comprensión del texto que recibe.

En la práctica, estos 3 conceptos se pueden explicar con el siguiente ejemplo, en la frase “El gato está sobre la mesa”:

· Positional Encondig enumera las palabras de la siguiente manera -> 1 — El, 2 — gato, 3 — está, 4 — sobre, 5 — la y 6 — mesa.

· El mecanismo de atención identifica que “El gato” es el sujeto principal dentro de la frase y dará más importancia a estas palabras.

· Por último, el mecanismo de self-attention captura la relación entre “gato” y “mesa”, permitiendo entender el contexto general de la frase.

Lo último que es necesario entender, para comprender el funcionamiento de los Transformers, son los embedding, que básicamente consisten en una representación numérica (vectorial) de una palabra, esta representación es la que entra en el modelo para ser procesado de acuerdo con los pasos mencionados anteriormente. Los embedding son generados a partir de técnicas de aprendizaje automático, que al ser entrenados con un gran volumen de texto pueden ubicar las palabras en un espacio vectorial.

De una forma simplificada, el proceso que usan los Transformers es el siguiente:

De esta manera, los Transformers tienen la capacidad de entender la información que reciben y a partir de esto, ser utilizado en diferentes tareas de procesamiento de lenguaje natural.

Para tu conocimiento, estos son algunos de los usos que se le dan a los Transformers:

· Traducción

· Generación de textos

· Resumen de textos

· Preguntas y respuestas de textos

· Clasificación de textos

· Similitud de textos

Estos son solo algunos, hay muchos más. ¿Se te ocurre algún caso de uso para esto? ¿Ya has probado algún Transformer en tu día a día?

--

--