Inizia subitoInizia gratis

Parte 1: Modello di inversione del testo - Encoder

Creare un semplice modello che inverte il testo è un ottimo modo per capire la meccanica dei modelli encoder-decoder e come si collegano tra loro. Ora implementerai la parte di encoder di un modello di inversione del testo.

L’implementazione dell’encoder è suddivisa in due esercizi. In questo esercizio, definirai la funzione di supporto words2onehot(). La funzione words2onehot() deve prendere in input una lista di parole e un dizionario word2index e convertire la lista di parole in un array di vettori one-hot. Il dizionario word2index è disponibile nell’ambiente di lavoro.

Questo esercizio fa parte del corso

Traduzione automatica con Keras

Visualizza corso

Istruzioni dell'esercizio

  • Converti le parole in ID usando il dizionario word2index nella funzione words2onehot()
  • Converte gli ID delle parole in vettori one-hot di lunghezza 3 (usando l’argomento num_classes) e restituisci l’array risultante.
  • Chiama la funzione words2onehot() con le parole I, like e cats e assegna il risultato a onehot.
  • Stampa le parole e i rispettivi vettori one-hot usando le funzioni print() e zip(). La funzione zip() ti permette di iterare su più liste allo stesso tempo.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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, ____)])
Modifica ed esegui il codice