Voorspel het volgende teken
In deze oefening schrijf je de functie die het volgende teken voorspelt met een getraind model. Je gebruikt de afgelopen 20 tekens om het volgende te voorspellen. In de volgende les leer je hoe je het model traint, omdat deze stap essentieel is voordat je met trainen begint.
Dit is de eerste stap om regels te maken voor het genereren van zinnen, alinea’s, korte teksten of andere tekstblokken naar behoefte.
De variabelen n_vocab, chars_window en het woordenboek index_to_char zijn al in de omgeving geladen. Ook zijn de onderstaande functies al voor je gemaakt:
initialize_X(): Zet de tekstinvoer om naar een reeks indexnummers met de juiste vorm.predict_next_char(): Haalt het volgende teken op met de.predict()-methode van de modelklasse en hetindex_to_char-woordenboek.
Deze oefening maakt deel uit van de cursus
Recurrent Neural Networks (RNN's) voor taalmodellen met Keras
Oefeninstructies
- Definieer de functie
get_next_char()en voeg de parametersinitial_textenchars_windowtoe zonder standaardwaarden. - Gebruik de functie
initialize_X()en geef de variabelechar_to_indexdoor om een vector van nullen te krijgen voor de voorspelling. - Gebruik de functie
predict_next_char()om de voorspelling te krijgen en sla deze op in de variabelenext_char. - Print het voorspelde teken door de gedefinieerde functie toe te passen op de gegeven
initial_text.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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)))