Předpověz další znak
V tomto cvičení napíšeš funkci pro předpověď dalšího znaku na základě natrénovaného modelu. K předpovědi dalšího znaku použiješ posledních 20 znaků. Jak model natrénovat se dozvíš v další lekci – tento krok je ale nezbytný ještě před samotným trénováním.
Jde o první krok při vytváření pravidel pro generování vět, odstavců, krátkých textů nebo jiných textových bloků.
Proměnné n_vocab, chars_window a slovník index_to_char jsou v prostředí už načteny. K dispozici máš také tyto připravené funkce:
initialize_X(): Převede textový vstup na posloupnost indexových čísel se správným tvarem.predict_next_char(): Získá další znak pomocí metody.predict()třídy modelu a slovníkuindex_to_char.
Toto cvičení je součástí kurzu
Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras
Pokyny k cvičení
- Definuj funkci
get_next_char()a přidej parametryinitial_textachars_windowbez výchozích hodnot. - Pomocí funkce
initialize_X()předej proměnnouchar_to_indexa získej vektor nul, který použiješ pro předpověď. - Pomocí funkce
predict_next_char()získej předpověď a ulož ji do proměnnénext_char. - Vytiskni předpovězený znak tak, že nadefinovanou funkci zavoláš s daným
initial_text.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)))