2.ª parte: Modelo de inversión de texto - Codificador
Ahora implementarás el resto del codificador del modelo de inversión de texto. El codificador se alimenta de los vectores «one-hot» producidos por la función « words2onehot() » que implementaste anteriormente.
Aquí implementarás la función « encoder() ». La función « encoder() » toma un conjunto de vectores «one-hot» y los convierte en una lista de identificadores de palabras.
Para este ejercicio, se han proporcionado la función « words2onehot() » y el diccionario « word2index » (que contiene las palabras « We », « like » y « dogs »).
Este ejercicio forma parte del curso
Traducción automática con Keras
Instrucciones del ejercicio
- Convierte
onehoten un arreglo de ID de palabras utilizando la funciónnp.argmax()y devuelve los ID de las palabras. - Define una lista de palabras con las palabras «
We», «like» y «dogs». - Convierte la lista de palabras en vectores onehot utilizando la función «
words2onehot()». Recuerda quewords2onehot()toma una lista de palabras y un diccionario Python como argumentos. - Obtén el vector de contexto de los vectores onehot utilizando la función «
encoder()».
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
def encoder(onehot):
# Get word IDs from onehot vectors and return the IDs
word_ids = np.____(____, axis=____)
return ____
# Define "We like dogs" as words
words = ____
# Convert words to onehot vectors using words2onehot
onehot = ____(____, ____)
# Get the context vector by using the encoder function
context = encoder(____)
print(context)