Aan de slagGa gratis aan de slag

Projectie van woordvectoren

Je kunt woordvectoren visualiseren in een scatterplot om beter te begrijpen hoe woorden in de woordenschat gegroepeerd zijn. Om woordvectoren te visualiseren, moet je ze projecteren naar een tweedimensionale ruimte. Dit kan door de twee hoofdcomponenten te extraheren met Principal Component Analysis (PCA).

In deze oefening ga je oefenen met het extraheren van woordvectoren en ze projecteren naar tweedimensionale ruimte met behulp van de PCA-bibliotheek uit sklearn.

Een korte lijst met woorden staat in de lijst words en het en_core_web_md-model is beschikbaar. Het model is geladen als nlp. Alle benodigde libraries en packages zijn al voor je geïmporteerd (PCA, numpy als np).

Deze oefening maakt deel uit van de cursus

Natural Language Processing met spaCy

Cursus bekijken

Oefeninstructies

  • Haal de woord-ID's op van de gegeven woorden en sla ze op in de lijst word_ids.
  • Haal de eerste vijf elementen van de woordvectoren van de woorden op en stapel ze vervolgens verticaal met np.vstack() in word_vectors.
  • Gegeven een pca-object, bereken de getransformeerde woordvectoren met de functie .fit_transform() van de pca-klasse.
  • Print de eerste component van de getransformeerde woordvectoren met [:, 0]-indexering.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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])
Code bewerken en uitvoeren