Predici il carattere successivo
In questo esercizio, scriverai la funzione che predice il carattere successivo dato un modello addestrato. Userai gli ultimi 20 caratteri per prevedere il prossimo. Imparerai come addestrare il modello nella prossima lezione, dato che questo passaggio è fondamentale prima dell’addestramento del modello.
Questo è il primo passo per creare regole per generare frasi, paragrafi, brevi testi o altri blocchi di testo secondo necessità.
Le variabili n_vocab, chars_window e il dizionario index_to_char sono già caricati nell’ambiente. Inoltre, le funzioni qui sotto sono già state create per te:
initialize_X(): Trasforma l’input testuale in una sequenza di indici numerici con la forma corretta.predict_next_char(): Ottiene il carattere successivo usando il metodo.predict()della classe del modello e il dizionarioindex_to_char.
Questo esercizio fa parte del corso
Reti Neurali Ricorrenti (RNN) per il Language Modeling con Keras
Istruzioni dell'esercizio
- Definisci la funzione
get_next_char()e aggiungi i parametriinitial_textechars_windowsenza valori predefiniti. - Usa la funzione
initialize_X()e passa la variabilechar_to_indexper ottenere un vettore di zeri da usare per la previsione. - Usa la funzione
predict_next_char()per ottenere la previsione e memorizzarla nella variabilenext_char. - Stampa il carattere previsto applicando la funzione definita al
initial_textfornito.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
def ____(model, ____, ____, char_to_index, index_to_char):
# Initialize the X vector with zeros
X = ____(initial_text, chars_window, ____)
# Get next character using the model
____ = predict_next_char(model, X, ____)
return next_char
# Define context sentence and print the generated text
initial_text = "I am not insane, "
print("Next character: {0}".format(____(model, ____, 20, char_to_index, index_to_char)))