Proiezione dei word vector
Puoi visualizzare i word vector in uno scatter plot per capire come sono raggruppate le parole del vocabolario. Per visualizzare i word vector, devi proiettarli in uno spazio bidimensionale. Puoi effettuare la proiezione estraendo le due componenti principali tramite Principal Component Analysis (PCA).
In questo esercizio farai pratica su come estrarre i word vector e proiettarli in uno spazio bidimensionale usando la libreria PCA di sklearn.
Hai a disposizione un breve elenco di parole nella lista words e il modello en_core_web_md, caricato come nlp. Tutte le librerie e i pacchetti necessari sono già importati per te (PCA, numpy come np).
Questo esercizio fa parte del corso
Natural Language Processing con spaCy
Istruzioni dell'esercizio
- Estrai gli ID delle parole fornite e salvali nella lista
word_ids. - Estrai i primi cinque elementi dei word vector delle parole e poi impilali verticalmente con
np.vstack()inword_vectors. - Dato un oggetto
pca, calcola i word vector trasformati usando la funzione.fit_transform()della classepca. - Stampa la prima componente dei word vector trasformati usando l'indicizzazione
[:, 0].
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
words = ["tiger", "bird"]
# Extract word IDs of given words
word_ids = [nlp.____.____[w] for w in words]
# Extract word vectors and stack the first five elements vertically
word_vectors = np.vstack([nlp.____.____[i][:5] for i in word_ids])
# Calculate the transformed word vectors using the pca object
pca = PCA(n_components=2)
word_vectors_transformed = pca.____(____)
# Print the first component of the transformed word vectors
print(____[:, 0])