Middle — Senior
Qu'est-ce que les embeddings contextuels ? Donnez des exemples de modèles.
sobes.tech IA
Réponse de l'IA
Les embeddings contextuels sont des représentations vectorielles de mots ou de tokens qui dépendent du contexte dans lequel ces mots sont utilisés. Contrairement aux embeddings statiques (par exemple, Word2Vec ou GloVe), où chaque mot a une représentation fixe, les embeddings contextuels changent en fonction du texte environnant, ce qui permet de mieux prendre en compte la polysémie et les caractéristiques syntaxiques.
Exemples de modèles générant des embeddings contextuels :
- ELMo (Embeddings from Language Models) — utilise des LSTM bidirectionnels pour créer des embeddings dépendants du contexte.
- BERT (Bidirectional Encoder Representations from Transformers) — un transformateur entraîné sur une tâche de langage masqué qui génère des embeddings tenant compte du contexte à gauche et à droite.
- GPT (Generative Pre-trained Transformer) — un modèle autoregressif qui génère des embeddings en tenant compte du contexte précédent.
Exemple d'utilisation de BERT pour obtenir des embeddings d'un mot dans un contexte :
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 contient les embeddings pour chaque token en tenant compte du contexte
embeddings = outputs.last_hidden_state