Projeção de vetores de palavras
Você pode visualizar vetores de palavras em um gráfico de dispersão para ajudar a entender como as palavras do vocabulário se agrupam. Para visualizar vetores, você precisa projetá-los em um espaço bidimensional. Isso pode ser feito extraindo os dois componentes principais via Análise de Componentes Principais (PCA).
Neste exercício, você vai praticar como extrair vetores de palavras e projetá-los em um espaço bidimensional usando a biblioteca PCA do sklearn.
Uma pequena lista de palavras está armazenada em words, e o modelo en_core_web_md está disponível como nlp. Todas as bibliotecas e pacotes necessários já foram importados para você (PCA, numpy como np).
Este exercício faz parte do curso
Processamento de Linguagem Natural com spaCy
Instruções do exercício
- Extraia os IDs das palavras fornecidas e armazene-os na lista
word_ids. - Extraia os cinco primeiros elementos dos vetores dessas palavras e empilhe-os verticalmente usando
np.vstack()emword_vectors. - Dado um objeto
pca, calcule os vetores transformados usando a função.fit_transform()da classepca. - Imprima o primeiro componente dos vetores transformados usando a indexação
[:, 0].
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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])