Projektion av ordvektorer
Du kan visualisera ordvektorer i ett punktdiagram för att förstå hur ordförrådet grupperas. För att visualisera ordvektorer behöver du projicera dem i ett tvådimensionellt rum. Det gör du genom att extrahera de två huvudkomponenterna med hjälp av principalkomponentanalys (PCA).
I den här övningen får du träna på att extrahera ordvektorer och projicera dem i ett tvådimensionellt rum med hjälp av biblioteket PCA från sklearn.
En kortare ordlista finns lagrad i listan words, och modellen en_core_web_md är tillgänglig för användning. Modellen är laddad som nlp. Alla nödvändiga bibliotek och paket är redan importerade (PCA, numpy som np).
Den här övningen är en del av kursen
Naturlig språkbehandling med spaCy
Övningsinstruktioner
- Extrahera ord-ID:n från de givna orden och lagra dem i listan
word_ids. - Extrahera de fem första elementen av ordvektorerna och stapla dem vertikalt med
np.vstack()i variabelnword_vectors. - Beräkna de transformerade ordvektorerna med hjälp av ett
pca-objekt och funktionen.fit_transform()i klassenpca. - Skriv ut den första komponenten av de transformerade ordvektorerna med indexering via
[:, 0].
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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])