IniziaInizia gratis

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

Visualizza il corso

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() in word_vectors.
  • Dato un oggetto pca, calcola i word vector trasformati usando la funzione .fit_transform() della classe pca.
  • 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])
Modifica ed esegui il codice