Middle — Senior
Was sind kontextuelle Einbettungen? Geben Sie Beispiele für Modelle.
sobes.tech KI
Antwort von AI
Kontextuelle Einbettungen sind Vektor-Darstellungen von Wörtern oder Tokens, die vom Kontext abhängen, in dem diese Wörter verwendet werden. Im Gegensatz zu statischen Einbettungen (z.B. Word2Vec oder GloVe), bei denen jedes Wort eine feste Darstellung hat, ändern sich kontextuelle Einbettungen je nach umgebendem Text, was eine bessere Berücksichtigung von Mehrdeutigkeit und syntaktischen Merkmalen ermöglicht.
Beispiele für Modelle, die kontextuelle Einbettungen erzeugen:
- ELMo (Embeddings from Language Models) — verwendet bidirektionale LSTMs zur Erstellung kontextabhängiger Einbettungen.
- BERT (Bidirectional Encoder Representations from Transformers) — ein Transformer, der auf einer Maskierungsaufgabe trainiert wird und Einbettungen generiert, die den Kontext links und rechts berücksichtigen.
- GPT (Generative Pre-trained Transformer) — ein autoregressives Modell, das Einbettungen unter Berücksichtigung des vorherigen Kontexts generiert.
Beispiel für die Verwendung von BERT, um Einbettungen eines Wortes im Kontext zu erhalten:
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 enthält die Einbettungen für jedes Token unter Berücksichtigung des Kontexts
embeddings = outputs.last_hidden_state