0Pricing
Learn AI with Python · Lekcja

Osadzenia GloVe i FastText

Globalne statystyki współwystępowania, podsłowa FastText, wczytywanie wstępnie wytrenowanych osadzeń.

Osadzenia GloVe i FastText to bezpłatna lekcja Learn AI with Python na CoddyKit. To lekcja 2 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 Learn AI with Python, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

Poza Word2Vec

Word2Vec uczy się na podstawie lokalnych okien kontekstu. Dwa inne ważne modele embeddingów stosują odmienne podejścia: GloVe wykorzystuje statystyki globalne, a FastText — fragmenty znaków.

Czym jest GloVe

GloVe (Global Vectors) jest trenowany na globalnej macierzy współwystępowania, która określa, jak często każda para słów pojawia się razem w całym korpusie, a nie tylko w lokalnych oknach.

Dlaczego statystyki globalne pomagają

Rozkładając pełną macierz współwystępowania na czynniki, GloVe odwzorowuje zależności i proporcje między słowami w całym korpusie. Często tworzy wysokiej jakości wektory, które dorównują Word2Vec lub przewyższają go w zadaniach związanych z analogiami.

Wczytywanie wstępnie wytrenowanych wektorów

Trenowanie embeddingów wymaga ogromnych korpusów, dlatego zwykle pobiera się modele wstępnie wytrenowane. gensim.downloader pobiera popularne modele, takie jak wektory GloVe, za pomocą jednej linii kodu.

import gensim.downloader as api

glove = api.load("glove-wiki-gigaword-100")
print(glove["computer"].shape)   # (100,)

Korzystanie z wstępnie wytrenowanego GloVe

Po wczytaniu wektory GloVe obsługują te same operacje co Word2Vec: obliczanie podobieństwa i analogii.

import gensim.downloader as api

glove = api.load("glove-wiki-gigaword-100")
print(glove.most_similar("king", topn=3))
print(glove.most_similar(positive=["king", "woman"], negative=["man"], topn=1))

Problem słów spoza słownika

Word2Vec i GloVe przypisują wektory wyłącznie słowom obecnym w danych treningowych. Nowe lub błędnie zapisane słowo (spoza słownika, out-of-vocabulary, OOV) nie ma wektora, co stanowi rzeczywiste ograniczenie w przypadku nieuporządkowanego tekstu.

Czym jest FastText

FastText rozwiązuje problem OOV, reprezentując każde słowo jako zbiór n-gramów znakowych. Słowo "playing" zawiera fragmenty takie jak "pla", "lay" i "ing", dzięki czemu dzieli strukturę z powiązanymi słowami.

Jak pomagają n-gramy znakowe

Ponieważ wektor słowa jest tworzony z jego fragmentów, FastText może skonstruować wektor dla nieobserwowanego słowa na podstawie jego n-gramów. Model odwzorowuje również morfologię, co pomaga w przypadku przedrostków, przyrostków i rzadkich słów.

Trenowanie FastText

Biblioteka gensim udostępnia FastText z interfejsem podobnym do Word2Vec. Parametry min_n i max_n określają zakres n-gramów znakowych.

from gensim.models import FastText

model = FastText(
    sentences,
    vector_size=100,
    window=5,
    min_count=1,
    min_n=3,
    max_n=6,
)

FastText obsługuje OOV

Nawet słowo, którego model nigdy nie widział podczas trenowania, otrzymuje wektor złożony z jego n-gramów znakowych. Jest to charakterystyczna przewaga FastText nad Word2Vec i GloVe.

from gensim.models import FastText

model = FastText(sentences, vector_size=100, min_n=3, max_n=6, min_count=1)
# works even if "catlike" was never in training
vec = model.wv["catlike"]

Wybór embeddingu

Należy użyć GloVe lub Word2Vec w przypadku czystego tekstu i ustalonego słownika. FastText warto wybrać dla języków o bogatej morfologii, zaszumionego tekstu lub wtedy, gdy często występują słowa OOV. Wstępnie wytrenowane wektory są dobrym punktem wyjścia w każdym przypadku.

Szybkie sprawdzenie

Sprawdź swoją wiedzę o embeddingach.

Podsumowanie

Podsumowanie: GloVe uczy się na podstawie globalnych statystyk współwystępowania, a FastText wykorzystuje n-gramy znakowe do obsługi słów spoza słownika i morfologii. Wstępnie wytrenowane wektory należy wczytywać za pomocą gensim.downloader.load. Oba modele obsługują podobieństwa i analogie. FastText należy wybrać dla zaszumionego tekstu lub języków o bogatej morfologii, a GloVe/Word2Vec dla czystego tekstu ze stałym słownikiem.

Często zadawane pytania

Czy lekcja „Osadzenia GloVe i FastText” jest bezpłatna?

Tak — pełny tekst „Osadzenia GloVe i FastText” 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 Learn AI with Python, przejdź na CoddyKit PRO. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

Co nauczysz się w „Osadzenia GloVe i FastText”?

Globalne statystyki współwystępowania, podsłowa FastText, wczytywanie wstępnie wytrenowanych osadzeń. Ćwiczysz Learn AI with Python 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ąć Learn AI with Python?

Nie wymagamy żadnego doświadczenia. Learn AI with Python 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 2 z 4.

Ile czasu zajmuje lekcja „Osadzenia GloVe i FastText”?

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 Learn AI with Python?

Tak. Każda lekcja Learn AI with Python 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. Word2Vec: Skip-gram i CBOW
  2. Osadzenia GloVe i FastText
  3. Klasyfikacja tekstu za pomocą BERT
  4. Podobieństwo semantyczne i osadzenia zdań
← Powrót do Learn AI with Python