Procesamiento de lenguaje, de los word embeddings hasta BERT

Nuevas representaciones con contexto

En posts pasados vimos las representaciones distribuidas de palabras y cómo han mejorado la eficiencia en tareas de procesamiento de lenguaje.

Estas representaciones mapean cada palabra del espacio original en un elemento de un espacio vectorial en el que la proximidad entre vectores se corresponde con la proximidad sintáctica y semántica entre palabras.

De esta forma, en lugar de trabajar en un espacio de símbolos, trabajamos en un nuevo espacio, donde se pueden realizar operaciones algebraicas sobre los elementos para procesamiento del lenguaje.

Uno de los modelos de más éxito es Word2vec, que usa redes neuronales de pocas capas y en una de sus posibles arquitecturas predice la palabra central a partir de las palabras contexto.

Sin embargo, este tipo de modelos, mapean cada palabra del lenguaje en un único vector del espacio transformado. Así, por ejemplo, la palabra “bolsa” tendrá el mismo vector asociado cuando se use en las siguientes frases:

  • “Se está incrementando la inversión en la bolsa”.
  • “Metió todos los productos en una bolsa”:

Es necesario entonces tener en cuenta el contexto de la palabra a la hora de crear la representación o embedding y poder así captar funciones de más alto nivel como polisemias, relaciones de acuerdo o negación con palabras cercanas, etc.

Uno de los ejemplos de este nuevo enfoque es ELMo (Embeddings from language Models) que, como se ve en la figura, asigna un vector a cada palabra o token en función de toda la secuencia que contiene a la palabra y tiene las siguientes características:

  • Usa una arquitectura para modelado de lenguaje con dos capas de LSTM bidireccionales.
  • Cada palabra o token pasa por una CNN (Convolutional neural network) para ser la entrada de la primera capa del modelo.
  • La transformación forward captura el contexto anterior de la palabra y la backward el contexto posterior y la concatenación de ambas forma el vector intermedio.
  • La representación final de la palabra es la suma ponderada de la entrada y los dos vectores intermedios, de forma que combina información de todas las capas y el contexto de la palabra.
  • Estas representaciones se pueden añadir a cualquier modelo y mejoran el rendimiento de tareas como preguntas-respuestas, análisis de sentimiento, etc.
ELMo, representaciones contextuales de lenguaje

De usar representaciones generadas previamente al fine-tuning

Una de las características de ELMo y otros similares es que las representaciones en cada dirección se entrenan de manera independiente y las representaciones de cada palabra se añaden como un elemento adicional y prefijado a un modelo específico.

Para solventar estas limitaciones, Google creó BERT (Bidirectional Encoder Representations  from Transformer), un modelo que crea representaciones usando el contexto anterior y posterior de cada palabra y que, una vez entrenado previamente, se puede ajustar (fine-tuning) para una tarea específica posterior. BERT tiene las siguientes características:

  • Usa un modelo de múltiples capas de transformadores (módulos de self-attention). Usando estos módulos, en lugar de LSTMs, se consigue aprender los pesos de atención de cada palabra del contexto anterior y posterior.
  • El modelo se pre-entrena en dos tareas no-supervisadas.  La primera, ocultando  aleatoriamente un porcentaje de los tokens (palabras) de entrada y aprendiendo a predecirlos. La segunda, eligiendo dos frases, que el modelo debe predecir si son consecutivas o no.
  • Una vez que el modelo se ha pre-entrenado, se puede ajustar en una tarea posterior y afinar (fine-tuning) los parámetros para dicha tarea.

Como hemos visto, desde Word2Vec ha habido una gran evolución en las representaciones de lenguaje para tener en cuenta el contexto de las palabras y poder ajustar el modelo para tareas posteriores. Cada vez veremos más modelos que, en función de la tarea específica a desarrollar, combinan diferentes módulos diferenciables que han sido pre-entrenados previamente (transfer learning).

Un comentario sobre “Procesamiento de lenguaje, de los word embeddings hasta BERT

Agrega el tuyo

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Orgullosamente ofrecido por WordPress | Tema: Baskerville 2 por Anders Noren.

Subir ↑

A %d blogueros les gusta esto: