Zacznij terazZacznij za darmo

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

Zobacz kurs

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 zmiennej word_vectors.
  • Korzystając z obiektu pca, oblicz przekształcone wektory słów przy użyciu funkcji .fit_transform() klasy pca.
  • 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])
Edytuj i uruchom kod