Middle — Senior
Ce sunt embedding-urile contextuale? Oferiți exemple de modele.
sobes.tech AI
Răspuns de la AI
Embeddingsle contextuale sunt reprezentări vectoriale ale cuvintelor sau tokenurilor care depind de contextul în care sunt utilizate aceste cuvinte. Spre deosebire de embeddings statice (de exemplu, Word2Vec sau GloVe), unde fiecare cuvânt are o reprezentare fixă, embeddingsle contextuale se schimbă în funcție de textul înconjurător, ceea ce permite o captare mai bună a polisemiei și a caracteristicilor sintactice.
Exemple de modele care generează embeddings contextuale:
- ELMo (Embeddings from Language Models) — utilizează LSTM bidirecționale pentru a crea embeddings dependente de context.
- BERT (Bidirectional Encoder Representations from Transformers) — un transformator antrenat pe o sarcină de limbaj mascat și care generează embeddings care țin cont de contextul din stânga și dreapta.
- GPT (Generative Pre-trained Transformer) — un model autoregresiv care generează embeddings ținând cont de contextul anterior.
Exemplu de utilizare a BERT pentru obținerea embeddings-urilor unui cuvânt în context:
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 conține embeddings pentru fiecare token, ținând cont de context
embeddings = outputs.last_hidden_state