Sobes.tech
Middle — Senior

Wat zijn contextuele embeddings? Geef voorbeelden van modellen.

sobes.tech AI

Antwoord van AI

Contextuele embeddings zijn vectorrepresentaties van woorden of tokens die afhankelijk zijn van de context waarin deze woorden worden gebruikt. In tegenstelling tot statische embeddings (bijvoorbeeld Word2Vec of GloVe), waarbij elk woord een vaste representatie heeft, veranderen contextuele embeddings afhankelijk van de omliggende tekst, waardoor ze beter rekening houden met polysemie en syntactische kenmerken.

Voorbeelden van modellen die contextuele embeddings genereren:

  • ELMo (Embeddings from Language Models) — gebruikt bidirectionele LSTM's om afhankelijk van de context embeddings te creëren.
  • BERT (Bidirectional Encoder Representations from Transformers) — een transformer die getraind is op een masked language task en embeddings genereert die rekening houden met de context links en rechts.
  • GPT (Generative Pre-trained Transformer) — een autoregressief model dat embeddings genereert met inachtneming van de voorafgaande context.

Voorbeeld van het gebruik van BERT om embeddings van een woord in context te verkrijgen:

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 bevat embeddings voor elk token met inachtneming van de context
embeddings = outputs.last_hidden_state