Kom igångKom igång gratis

Del 1: Modell för textomvändning – encoder

Att skapa en enkel modell för textomvändning är ett bra sätt att förstå hur encoder-decoder-modeller fungerar och hur de hänger ihop. Nu ska du implementera encoder-delen av en sådan modell.

Implementationen av encodern är uppdelad i två övningar. I den här övningen definierar du hjälpfunktionen words2onehot(). Funktionen words2onehot() ska ta emot en lista med ord och ett lexikon word2index, och konvertera ordlistan till en array av one-hot-vektorer. Lexikonet word2index finns tillgängligt i arbetsytan.

Den här övningen är en del av kursen

Maskinöversättning med Keras

Visa kurs

Övningsinstruktioner

  • Konvertera ord till id:n med hjälp av lexikonet word2index i funktionen words2onehot().
  • Konvertera ord-id:n till one-hot-vektorer med längden 3 (använd argumentet num_classes) och returnera den resulterande arrayen.
  • Anropa funktionen words2onehot() med orden I, like och cats och tilldela resultatet till onehot.
  • Skriv ut orden och deras motsvarande one-hot-vektorer med funktionerna print() och zip(). Funktionen zip() gör det möjligt att iterera över flera listor samtidigt.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

import numpy as np

def words2onehot(word_list, word2index):
  # Convert words to word IDs
  word_ids = [____[w] for w in ____]
  # Convert word IDs to onehot vectors and return the onehot array
  onehot = ____(____, num_classes=3)
  return ____

words = ["I", "like", "cats"]
# Convert words to onehot vectors using words2onehot
onehot = ____(____, ____)
# Print the result as (, ) tuples
print([(w,ohe.tolist()) for ____,____ in zip(words, ____)])
Redigera och kör kod