Sobes.tech
Middle — Senior

Czym są osadzenia kontekstowe? Podaj przykłady modeli.

sobes.tech AI

Odpowiedź od AI

Kontekstowe osadzenia to wektorowe reprezentacje słów lub tokenów, które zależą od kontekstu, w którym te słowa są używane. W przeciwieństwie do statycznych osadzeń (np. Word2Vec czy GloVe), gdzie każde słowo ma stałe przedstawienie, kontekstowe osadzenia zmieniają się w zależności od otaczającego tekstu, co pozwala lepiej uwzględnić wieloznaczność i cechy składniowe.

Przykłady modeli generujących kontekstowe osadzenia:

  • ELMo (Embeddings from Language Models) — używa dwukierunkowych LSTM do tworzenia osadzeń zależnych od kontekstu.
  • BERT (Bidirectional Encoder Representations from Transformers) — transformator uczony na zadaniu maskowanego języka, który generuje osadzenia uwzględniające kontekst po lewej i prawej stronie.
  • GPT (Generative Pre-trained Transformer) — model autoregresywny, który generuje osadzenia z uwzględnieniem poprzedniego kontekstu.

Przykład użycia BERT do uzyskania osadzeń słowa w kontekście:

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 zawiera osadzenia dla każdego tokena z uwzględnieniem kontekstu
embeddings = outputs.last_hidden_state