Tworzenie embeddingów zdań za pomocą BERT
Wyodrębnij kontekstowe wektory w kodzie
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_stateAgregacja 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. ✅
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
- Dlaczego kontekst zmienia znaczenie słowa
- Masked language modeling
- Tworzenie embeddingów zdań za pomocą BERT
- Wybór właściwego wstępnie wytrenowanego modelu