Projekce word vektorů
Slovní vektory si můžeš vizualizovat v bodovém grafu, což ti pomůže pochopit, jak jsou slova ze slovníku seskupena. Aby bylo možné word vektory vizualizovat, je potřeba je promítnout do dvourozměrného prostoru. K tomu slouží extrakce dvou hlavních komponent metodou analýzy hlavních komponent (PCA).
V tomto cvičení si vyzkoušíš, jak extrahovat word vektory a promítnout je do dvourozměrného prostoru pomocí knihovny PCA z balíčku sklearn.
K dispozici máš krátký seznam slov uložený v proměnné words a model en_core_web_md, který je načtený jako nlp. Všechny potřebné knihovny a balíčky jsou již importovány (PCA, numpy jako np).
Toto cvičení je součástí kurzu
Zpracování přirozeného jazyka s knihovnou spaCy
Pokyny k cvičení
- Extrahuj ID slov z daného seznamu a ulož je do proměnné
word_ids. - Extrahuj prvních pět prvků word vektorů daných slov a vertikálně je skládej pomocí
np.vstack()do proměnnéword_vectors. - Pomocí objektu
pcaa funkce.fit_transform()třídypcavypočítej transformované word vektory. - Vypiš první komponentu transformovaných word vektorů pomocí indexování
[:, 0].
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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])