Woordembeddings visualiseren en vergelijken
Woordembeddings zijn hoog-dimensionaal, waardoor ze lastig direct te interpreteren zijn. In deze oefening projecteer je een paar woordvectoren naar 2D met Principal Component Analysis (PCA) en visualiseer je ze. Dit helpt om semantische groeperingen of overeenkomsten tussen woorden in de embeddingruimte zichtbaar te maken. Daarna vergelijk je de embeddingrepresentaties van twee modellen: glove-wiki-gigaword-50, beschikbaar via de variabele model_glove_wiki, en glove-twitter-25, beschikbaar via model_glove_twitter.
Deze oefening maakt deel uit van de cursus
Natural Language Processing (NLP) in Python
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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()