Projection de vecteurs de mots
Vous pouvez visualiser des vecteurs de mots dans un nuage de points pour mieux comprendre comment les mots du vocabulaire sont regroupés. Pour les visualiser, vous devez les projeter dans un espace bidimensionnel. Vous pouvez projeter les vecteurs en extrayant les deux composantes principales à l'aide d'une analyse en composantes principales (PCA).
Dans cet exercice, vous pratiquerez l'extraction de vecteurs de mots et leur projection dans un espace bidimensionnel en utilisant la bibliothèque PCA de sklearn.
Une courte liste de mots est fournie dans la liste words, et le modèle en_core_web_md est disponible, chargé dans nlp. Toutes les bibliothèques et tous les modules nécessaires sont déjà importés pour vous (PCA, numpy sous np).
Cette activité fait partie du cours
Traitement du langage naturel avec spaCy
Instructions de l’exercice
- Extraire les IDs des mots fournis et les stocker dans la liste
word_ids. - Extraire les cinq premiers éléments des vecteurs de mots correspondants, puis les empiler verticalement avec
np.vstack()dansword_vectors. - Étant donné un objet
pca, calculer les vecteurs de mots transformés en utilisant la fonction.fit_transform()de la classepca. - Afficher la première composante des vecteurs de mots transformés en utilisant l'indexation
[:, 0].
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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])