Embedding GloVe e FastText
Statistiche globali di co-occorrenza, sottoparole con FastText, caricamento di embedding preaddestrati
Embedding GloVe e FastText è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.
Oltre Word2Vec
Word2Vec apprende da finestre di contesto locali. Altri due embedding importanti adottano approcci diversi: GloVe utilizza statistiche globali, mentre FastText utilizza parti delle parole basate sui caratteri.
Che cos'è GloVe
GloVe (Global Vectors) viene addestrato su una matrice di co-occorrenza globale: la frequenza con cui ogni coppia di parole compare insieme nell'intero corpus, non solo nelle finestre locali.
Perché le statistiche globali sono utili
Scomponendo la matrice di co-occorrenza completa, GloVe cattura le relazioni e i rapporti tra le parole dell'intero corpus, producendo spesso vettori di alta qualità che eguagliano o superano Word2Vec nelle attività sulle analogie.
Caricamento dei vettori preaddestrati
L'addestramento degli embedding richiede corpus enormi, quindi di solito si scaricano vettori preaddestrati. gensim.downloader consente di recuperare con una sola riga modelli diffusi come i vettori GloVe.
import gensim.downloader as api
glove = api.load("glove-wiki-gigaword-100")
print(glove["computer"].shape) # (100,)Utilizzo di GloVe preaddestrato
Una volta caricati, i vettori GloVe supportano le stesse operazioni di Word2Vec: similarità e analogie.
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))Il problema delle parole fuori vocabolario
Word2Vec e GloVe assegnano vettori solo alle parole presenti nei dati di addestramento. Una parola nuova o scritta in modo errato (fuori vocabolario, OOV) non ha alcun vettore: una limitazione concreta per il testo non strutturato.
Che cos'è FastText
FastText risolve il problema OOV rappresentando ogni parola come un insieme di n-grammi di caratteri. La parola «playing» include parti come «pla», «lay» e «ing», quindi condivide la propria struttura con le parole correlate.
Come aiutano gli n-grammi di caratteri
Poiché un vettore di parole viene costruito a partire dalle sue sottoparti, FastText può costruire un vettore per una parola non presente nei dati di addestramento a partire dai suoi n-grammi. Cattura inoltre la morfologia, aiutando a gestire prefissi, suffissi e parole rare.
Addestramento di FastText
gensim fornisce FastText con un'API simile a quella di Word2Vec. I parametri min_n e max_n impostano l'intervallo degli n-grammi di caratteri.
from gensim.models import FastText
model = FastText(
sentences,
vector_size=100,
window=5,
min_count=1,
min_n=3,
max_n=6,
)FastText gestisce le parole OOV
Anche una parola mai vista durante l'addestramento restituisce un vettore, assemblato a partire dai suoi n-grammi di caratteri. Questo è il vantaggio distintivo di FastText rispetto a Word2Vec e 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"]Scelta dell'embedding
Utilizzi GloVe o Word2Vec per testo pulito con un vocabolario fisso. Scelga FastText per lingue morfologicamente ricche, testo rumoroso o quando le parole OOV sono frequenti. In tutti i casi, i vettori preaddestrati sono un'ottima base di partenza.
Verifica rapida
Verifichi le Sue conoscenze sugli embedding.
Riepilogo
Riepilogo: GloVe apprende dalle statistiche globali di co-occorrenza; FastText utilizza n-grammi di caratteri per gestire le parole fuori vocabolario e la morfologia. Carichi i vettori preaddestrati con gensim.downloader.load. Entrambi supportano similarità e analogie. Scelga FastText per testo rumoroso o morfologicamente ricco, e GloVe/Word2Vec per vocabolari puliti e fissi.
Impara Python con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 53
- Lezioni
- 225
Domande Frequenti
La lezione «Embedding GloVe e FastText» è gratuita?
Sì — il testo completo di «Embedding GloVe e FastText» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.
Cosa imparerò in «Embedding GloVe e FastText»?
Statistiche globali di co-occorrenza, sottoparole con FastText, caricamento di embedding preaddestrati Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Learn AI with Python?
Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Embedding GloVe e FastText»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?
Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Word2Vec: Skip-gram e CBOW
- Embedding GloVe e FastText
- Classificazione del testo con BERT
- Similarità semantica ed embedding delle frasi