Parte 1: Esplorare la funzione to_categorical()
Lo sapevi che, nei problemi reali, la dimensione del vocabolario può diventare molto grande (ad esempio oltre le centomila unità)?
Questo esercizio è diviso in due parti e ti farà capire l'importanza di impostare l'argomento num_classes della funzione to_categorical(). Nella parte 1, implementerai la funzione compute_onehot_length() che genera vettori one-hot per una lista di parole e ne calcola la lunghezza.
La funzione to_categorical() è già stata importata.
Questo esercizio fa parte del corso
Traduzione automatica con Keras
Istruzioni dell'esercizio
- Crea gli ID delle parole usando
wordseword2indexincompute_onehot_length(). - Crea i vettori one-hot usando la funzione
to_categorical()a partire dagli ID delle parole. - Restituisci la lunghezza di un singolo vettore one-hot usando la sintassi
<array>.shape. - Calcola e stampa la lunghezza dei vettori one-hot usando
compute_onehot_length()per la lista di paroleHe,drank,milk.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
def compute_onehot_length(words, word2index):
# Create word IDs for words
word_ids = [____[w] for w in ____]
# Convert word IDs to onehot vectors
onehot = ____(____)
# Return the length of a single one-hot vector
return onehot.____[1]
word2index = {"He":0, "drank": 1, "milk": 2}
# Compute and print onehot length of a list of words
print(____([____,____,____], ____))