Rzutowanie wektorów słów
Wizualizacja wektorów słów na wykresie punktowym pomaga zrozumieć, jak słowa z zasobu leksykalnego są ze sobą pogrupowane. Aby to zrobić, trzeba najpierw rzutować wektory do przestrzeni dwuwymiarowej. Można to osiągnąć, wyodrębniając dwie główne składowe za pomocą analizy głównych składowych (PCA).
W tym ćwiczeniu przećwiczysz wyodrębnianie wektorów słów i ich rzutowanie do przestrzeni dwuwymiarowej przy użyciu biblioteki PCA z pakietu sklearn.
Dostępna jest krótka lista słów zapisana w zmiennej words oraz model en_core_web_md załadowany jako nlp. Wszystkie niezbędne biblioteki i pakiety są już zaimportowane (PCA, numpy jako np).
To ćwiczenie jest częścią kursu
Przetwarzanie języka naturalnego z użyciem spaCy
Instrukcje do ćwiczenia
- Wyodrębnij ID słów z podanej listy i zapisz je w zmiennej
word_ids. - Wyodrębnij pierwsze pięć elementów wektorów słów, a następnie połącz je pionowo za pomocą
np.vstack()i zapisz wynik w zmiennejword_vectors. - Korzystając z obiektu
pca, oblicz przekształcone wektory słów przy użyciu funkcji.fit_transform()klasypca. - Wyświetl pierwszą składową przekształconych wektorów słów, używając indeksowania
[:, 0].
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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])