Zacznij terazZacznij za darmo

Przewidywanie następnego znaku

W tym ćwiczeniu napiszesz funkcję przewidującą następny znak na podstawie wytrenowanego modelu. Do predykcji kolejnego znaku wykorzystasz 20 poprzednich znaków. Trenowania modelu nauczysz się w następnej lekcji – ten krok jest jednak niezbędny przed przystąpieniem do trenowania.

To pierwszy etap tworzenia reguł generowania zdań, akapitów, krótkich tekstów lub innych bloków treści.

Zmienne n_vocab, chars_window oraz słownik index_to_char są już załadowane w środowisku. Poniższe funkcje zostały już dla ciebie przygotowane:

  • initialize_X(): Przekształca tekst wejściowy w sekwencję numerów indeksów o odpowiednim kształcie.
  • predict_next_char(): Pobiera następny znak, korzystając z metody .predict() klasy modelu oraz słownika index_to_char.

To ćwiczenie jest częścią kursu

Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj funkcję get_next_char() i dodaj parametry initial_text oraz chars_window bez wartości domyślnych.
  • Użyj funkcji initialize_X() i przekaż zmienną char_to_index, aby uzyskać wektor zer potrzebny do predykcji.
  • Użyj funkcji predict_next_char(), aby uzyskać predykcję, i zapisz wynik w zmiennej next_char.
  • Wyświetl przewidywany znak, wywołując zdefiniowaną funkcję na podanym initial_text.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)))
Edytuj i uruchom kod