Wizualizacja i porównywanie osadzeń słów
Osadzenia słów (embeddings) mają wysoką wymiarowość, przez co trudno je bezpośrednio interpretować. W tym ćwiczeniu zrzutujesz kilka wektorów słów do przestrzeni 2D za pomocą analizy głównych składowych (PCA) i zwizualizujesz je. Pozwoli to odkryć semantyczne grupowania i podobieństwa między słowami w przestrzeni osadzeń. Następnie porównasz reprezentacje z dwóch modeli: glove-wiki-gigaword-50 dostępnego przez zmienną model_glove_wiki oraz glove-twitter-25 dostępnego przez model_glove_twitter.
To ćwiczenie jest częścią kursu
Przetwarzanie języka naturalnego (NLP) w Pythonie
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
words = ["lion", "tiger", "leopard", "banana", "strawberry", "truck", "car", "bus"]
# Extract word embeddings
word_vectors = [____[____] for word in words]
# Reduce dimensions with PCA
pca = PCA(n_components=2)
word_vectors_2d = pca.____(____)
plt.scatter(word_vectors_2d[:, 0], word_vectors_2d[:, 1])
for word, (x, y) in zip(words, word_vectors_2d):
plt.annotate(word, (x, y))
plt.title("GloVe Wikipedia Word Embeddings (2D PCA)")
plt.show()