vectores de palabras con spaCy
En este ejercicio vas a tener tu primera experiencia con vectores de palabras. Vas a usar el conjunto de datos ATIS, que contiene miles de frases de personas reales interactuando con un sistema de reserva de vuelos.
Las expresiones de los usuarios están en la lista sentences, y las intenciones correspondientes en labels.
Tu tarea es crear una matriz 2D X con tantas filas como frases haya en el conjunto de datos, donde cada fila sea un vector que describa esa frase.
Este ejercicio forma parte del curso
Creación de chatbots en Python
Instrucciones del ejercicio
- Carga el modelo de inglés de
spaCyllamando aspacy.load()con el argumento'en'. - Calcula la longitud de
sentencesusandolen()y la dimensionalidad de los vectores de palabras usandonlp.vocab.vectors_length. - Para cada frase, llama al objeto
nlpconsentencecomo único argumento. Guarda el resultado comodoc. - Usa el atributo
.vectordedocpara obtener la representación vectorial de cada frase y guarda este vector en la fila correspondiente deX.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Load the spacy model: nlp
nlp = ____
# Calculate the length of sentences
n_sentences = ____
# Calculate the dimensionality of nlp
embedding_dim = ____
# Initialize the array with zeros: X
X = np.zeros((n_sentences, embedding_dim))
# Iterate over the sentences
for idx, sentence in enumerate(sentences):
# Pass each each sentence to the nlp object to create a document
doc = ____
# Save the document's .vector attribute to the corresponding row in X
X[idx, :] = ____