Sobes.tech
Middle — Senior

Čo sú kontextové vkladania? Uveďte príklady modelov.

sobes.tech AI

Odpoveď od AI

Kontekstové vložky sú vektorové reprezentácie slov alebo tokenov, ktoré závisia od kontextu, v ktorom sú tieto slová používané. Na rozdiel od statických vložiek (napríklad Word2Vec alebo GloVe), kde má každé slovo pevné zobrazenie, kontextové vložky sa menia v závislosti od okolia, čo umožňuje lepšie zachytiť viacvýznamnosť a syntaktické vlastnosti.

Príklady modelov, ktoré generujú kontextové vložky:

  • ELMo (Embeddings from Language Models) — používa obojstranné LSTM na vytváranie vložiek závislých od kontextu.
  • BERT (Bidirectional Encoder Representations from Transformers) — transformátor, ktorý je trénovaný na úlohe maskovaného jazyka a generuje vložky, ktoré zohľadňujú kontext vľavo aj vpravo.
  • GPT (Generative Pre-trained Transformer) — autoregresívny model, ktorý generuje vložky s prihliadnutím na predchádzajúci kontext.

Príklad použitia BERT na získanie vložiek slova v kontexte:

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 obsahuje vložky pre každý token s prihliadnutím na kontext
embeddings = outputs.last_hidden_state