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
onehot
en 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 completando 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)