ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Carga el modelo de inglés de spaCy llamando a spacy.load() con el argumento 'en'.
  • Calcula la longitud de sentences usando len() y la dimensionalidad de los vectores de palabras usando nlp.vocab.vectors_length.
  • Para cada frase, llama al objeto nlp con sentence como único argumento. Guarda el resultado como doc.
  • Usa el atributo .vector de doc para obtener la representación vectorial de cada frase y guarda este vector en la fila correspondiente de X.

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, :] = ____
Editar y ejecutar código