Förutsäg nästa tecken
I den här övningen kodar du en funktion som förutsäger nästa tecken givet en tränad modell. Du använder de senaste 20 tecknen för att förutsäga det nästa. Du får lära dig hur man tränar modellen i nästa lektion, eftersom det steget är en förutsättning för modellträningen.
Detta är det första steget mot att skapa regler för att generera meningar, stycken, kortare texter eller andra textblock efter behov.
Variablerna n_vocab, chars_window och ordlistan index_to_char är redan inlästa i miljön. Dessutom är följande funktioner redan skapade åt dig:
initialize_X(): Omvandlar textindata till en sekvens av indexnummer med rätt form.predict_next_char(): Hämtar nästa tecken med hjälp av modellklassens.predict()-metod och ordlistanindex_to_char.
Den här övningen är en del av kursen
Återkommande neurala nätverk (RNN) för språkmodellering med Keras
Övningsinstruktioner
- Definiera funktionen
get_next_char()och lägg till parametrarnainitial_textochchars_windowutan standardvärden. - Använd funktionen
initialize_X()och skicka in variabelnchar_to_indexför att få en nollvektor som används vid förutsägelse. - Använd funktionen
predict_next_char()för att hämta förutsägelsen och lagra den i variabelnnext_char. - Skriv ut det förutsagda tecknet genom att anropa den definierade funktionen på den givna
initial_text.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)))