Prezice următorul caracter
În acest exercițiu, vei scrie funcția care prezice următorul caracter pe baza unui model antrenat. Vei folosi ultimele 20 de caractere pentru a-l prezice pe următorul. Vei învăța cum să antrenezi modelul în lecția următoare, deoarece acest pas este esențial înainte de antrenare.
Acesta este primul pas în crearea regulilor pentru generarea de propoziții, paragrafe, texte scurte sau alte blocuri de text, după necesitate.
Variabilele n_vocab, chars_window și dicționarul index_to_char sunt deja încărcate în mediu. De asemenea, funcțiile de mai jos sunt deja create pentru tine:
initialize_X(): Transformă textul de intrare într-o secvență de numere de index cu forma corectă.predict_next_char(): Obține următorul caracter folosind metoda.predict()a clasei modelului și dicționarulindex_to_char.
Acest exercițiu face parte din cursul
Rețele Neuronale Recurente (RNN) pentru Modelare a Limbajului cu Keras
Instrucțiuni pentru exercițiu
- Definește funcția
get_next_char()și adaugă parametriiinitial_textșichars_windowfără valori implicite. - Folosește funcția
initialize_X()și transmite variabilachar_to_indexpentru a obține un vector de zerouri care va fi utilizat la predicție. - Folosește funcția
predict_next_char()pentru a obține predicția și stocheaz-o în variabilanext_char. - Afișează caracterul prezis aplicând funcția definită pe
initial_text-ul dat.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)))