Del 2: Modell för textomvändning – Encoder
Nu ska du implementera resten av encodern i textomvändningsmodellen. Encodern tar emot de one-hot-vektorer som produceras av funktionen words2onehot(), som du implementerade tidigare.
Här implementerar du funktionen encoder(). Den tar emot en uppsättning one-hot-vektorer och konverterar dem till en lista med ord-ID:n.
För den här övningen har funktionen words2onehot() och ordboken word2index (med orden We, like och dogs) redan tillhandahållits.
Den här övningen är en del av kursen
Maskinöversättning med Keras
Övningsinstruktioner
- Konvertera
onehottill en array med ord-ID:n med hjälp av funktionennp.argmax()och returnera ord-ID:na. - Definiera en lista med orden
We,like,dogs. - Konvertera ordlistan till one-hot-vektorer med funktionen
words2onehot(). Kom ihåg attwords2onehot()tar en ordlista och en Python-ordbok som argument. - Hämta kontextvektorn för one-hot-vektorerna med funktionen
encoder().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)