Sobes.tech
Middle — Senior

¿Qué son los embeddings contextuales? Proporcione ejemplos de modelos.

sobes.tech AI

Respuesta de la IA

Los embeddings contextuales son representaciones vectoriales de palabras o tokens que dependen del contexto en el que se utilizan esas palabras. A diferencia de los embeddings estáticos (por ejemplo, Word2Vec o GloVe), donde cada palabra tiene una representación fija, los embeddings contextuales cambian según el texto circundante, lo que permite una mejor captura de la polisemia y las características sintácticas.

Ejemplos de modelos que generan embeddings contextuales:

  • ELMo (Embeddings from Language Models) — utiliza LSTM bidireccionales para crear embeddings dependientes del contexto.
  • BERT (Bidirectional Encoder Representations from Transformers) — un transformador entrenado en tareas de lenguaje enmascarado que genera embeddings considerando el contexto a la izquierda y a la derecha.
  • GPT (Generative Pre-trained Transformer) — un modelo autoregresivo que genera embeddings teniendo en cuenta el contexto previo.

Ejemplo de uso de BERT para obtener embeddings de una palabra en contexto:

from transformers import BertTokenizer, BertModel
import torch

tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertModel.from_pretrained('bert-base-uncased')

sentence = "The bank will not approve the loan."
inputs = tokenizer(sentence, return_tensors='pt')
outputs = model(**inputs)

# outputs.last_hidden_state contiene los embeddings para cada token considerando el contexto
embeddings = outputs.last_hidden_state