Proyección de vectores de palabras
Puedes visualizar los vectores de palabras en un diagrama de dispersión para entender cómo se agrupan las palabras del vocabulario. Para visualizar los vectores, necesitas proyectarlos en un espacio bidimensional. Puedes proyectar los vectores extrayendo los dos componentes principales mediante Análisis de Componentes Principales (PCA).
En este ejercicio, practicarás cómo extraer vectores de palabras y proyectarlos a un espacio bidimensional usando la librería PCA de sklearn.
Tienes disponible una lista corta de palabras almacenada en words y el modelo en_core_web_md. El modelo está cargado como nlp. Todas las librerías y paquetes necesarios ya están importados para que los uses (PCA, numpy como np).
Este ejercicio forma parte del curso
Procesamiento del Lenguaje Natural con spaCy
Instrucciones del ejercicio
- Extrae los IDs de las palabras dadas y guárdalos en la lista
word_ids. - Extrae los primeros cinco elementos de los vectores de esas palabras y apílalos verticalmente con
np.vstack()enword_vectors. - Dado un objeto
pca, calcula los vectores transformados usando la función.fit_transform()de la clasepca. - Imprime el primer componente de los vectores transformados usando el indexado
[:, 0].
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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])