NLP Academy · Lekcja

Tworzenie embeddingów zdań za pomocą BERT

Wyodrębnij kontekstowe wektory w kodzie

Lekcja 3 z 413 kroki

Tworzenie embeddingów zdań za pomocą BERT to bezpłatna lekcja NLP Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej NLP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs NLP Academy zawiera 4 lekcji w sumie.

Od słów do zdań

BERT nadaje każdemu tokenowi własny wektor. Często potrzebny jest jednak jeden wektor dla całego zdania, a nie osobny dla każdego słowa.

Token CLS

BERT dodaje specjalny token o nazwie CLS na samym początku każdego wejścia. Jego wyjście jest często używane jako podsumowanie zdania.

Uśrednianie

Innym popularnym rozwiązaniem jest uśrednienie wszystkich wektorów tokenów do jednego wektora. Ten etap, mean pooling, często daje lepsze wyniki niż surowy wektor CLS.

Wczytywanie modelu

Hugging Face ułatwia wczytywanie: tokenizer i model można pobrać, używając po jednym wierszu kodu dla każdego z nich. Razem tworzą Państwa pipeline do embeddingów.

from transformers import AutoTokenizer, AutoModel
tok = AutoTokenizer.from_pretrained("bert-base-uncased")
model = AutoModel.from_pretrained("bert-base-uncased")

Tokenizacja tekstu

Tokenizer zamienia zdanie na numery identyfikatorów i maskę uwagi, które rozumie BERT. To etap kodowania.

inputs = tok("I love NLP", return_tensors="pt")

Uruchamianie modelu

Przekaż zakodowane dane wejściowe do BERT, aby uzyskać stany ukryte dla każdego tokenu. Te wektory to surowe wyjście, które następnie poddasz agregacji.

out = model(**inputs)
states = out.last_hidden_state

Agregacja do jednego wektora

Uśrednij stany tokenów wzdłuż sekwencji, aby połączyć je w pojedynczy embedding zdania, który możesz zapisać.

vec = states.mean(dim=1)

Prostsza ścieżka

Biblioteka Sentence-Transformers wykonuje za Ciebie wszystkie te kroki. Jedno wywołanie zwraca gotowy do użycia wektor zdania. ✨

from sentence_transformers import SentenceTransformer
m = SentenceTransformer("all-MiniLM-L6-v2")
vec = m.encode("I love NLP")

Porównywanie zdań

Mając dwa wektory zdań, możesz zmierzyć ich podobieństwo za pomocą podobieństwa cosinusowego. Wyższe wyniki oznaczają, że zdania mają podobne znaczenie.

Co można zbudować

Embeddingi zdań umożliwiają wyszukiwanie semantyczne, grupowanie i wykrywanie duplikatów. Zamieniają znaczenie w coś, co można wyszukiwać.

Uwaga dotycząca jakości

Modele dostrojone do pracy ze zdaniami, takie jak MiniLM, zwykle sprawdzają się tutaj lepiej niż zwykły BERT. Wybierz model wytrenowany do konkretnego zadania.

Szybkie sprawdzenie

Jak zamienić wiele wektorów tokenów w jeden wektor zdania?

Podsumowanie

Podziel tekst na tokeny, uruchom BERT, a następnie wykonaj agregację lub użyj CLS, aby uzyskać jeden embedding zdania. Sentence-Transformers sprowadza to do jednego wywołania. ✅

Bezpłatny start

Ucz się Python dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Tworzenie embeddingów zdań za pomocą BERT” jest bezpłatna?

Tak — pełny tekst „Tworzenie embeddingów zdań za pomocą BERT” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu NLP Academy, przejdź na CoddyKit PRO. Kurs NLP Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Tworzenie embeddingów zdań za pomocą BERT”?

Wyodrębnij kontekstowe wektory w kodzie Ćwiczysz NLP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć NLP Academy?

Nie wymagamy żadnego doświadczenia. NLP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Tworzenie embeddingów zdań za pomocą BERT”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji NLP Academy?

Tak. Każda lekcja NLP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Dlaczego kontekst zmienia znaczenie słowa
  2. Masked language modeling
  3. Tworzenie embeddingów zdań za pomocą BERT
  4. Wybór właściwego wstępnie wytrenowanego modelu
← Powrót do NLP Academy