Middle — Senior
O que são embeddings contextuais? Forneça exemplos de modelos.
sobes.tech IA
Resposta da IA
Os embeddings contextuais são representações vetoriais de palavras ou tokens que dependem do contexto em que essas palavras são usadas. Ao contrário dos embeddings estáticos (por exemplo, Word2Vec ou GloVe), onde cada palavra tem uma representação fixa, os embeddings contextuais mudam dependendo do texto ao redor, permitindo uma melhor captura da polissemia e das características sintáticas.
Exemplos de modelos que geram embeddings contextuais:
- ELMo (Embeddings from Language Models) — usa LSTMs bidirecionais para criar embeddings dependentes do contexto.
- BERT (Bidirectional Encoder Representations from Transformers) — um transformador treinado em tarefas de linguagem mascarada que gera embeddings considerando o contexto à esquerda e à direita.
- GPT (Generative Pre-trained Transformer) — um modelo autoregressivo que gera embeddings levando em conta o contexto anterior.
Exemplo de uso do BERT para obter embeddings de uma palavra em 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 contém os embeddings para cada token considerando o contexto
embeddings = outputs.last_hidden_state