Generowanie zdania z kontekstem
W tym ćwiczeniu poeksperymentujesz z wstępnie wytrenowanym modelem do generowania tekstu. Model jest już załadowany do środowiska w zmiennej model, podobnie jak funkcje initialize_params() i get_next_token().
Ta ostatnia wykorzystuje wstępnie wytrenowany model do przewidzenia kolejnego znaku i zwraca trzy zmienne: następny znak next_char, zaktualizowane zdanie res oraz przesunięty tekst seq, który posłuży do przewidzenia kolejnego znaku.
Zdefiniujesz funkcję, która przyjmuje wstępnie wytrenowany model oraz ciąg znaków stanowiący początek generowanego zdania. To dobra praktyka pozwalająca generować tekst z określonym kontekstem. Limit 100 znaków to tylko przykład – w swoich aplikacjach możesz używać innych limitów (lub nie stosować żadnego).
To ćwiczenie jest częścią kursu
Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras
Instrukcje do ćwiczenia
- Przekaż zmienną
initial_textdo funkcjiinitialize_params(). - Utwórz warunki zatrzymania pętli, gdy licznik osiągnie 100 lub zostanie znaleziona kropka (
r'.'). - Przekaż wartości początkowe
resiseqdo funkcjiget_next_token(), aby uzyskać następny znak. - Wydrukuj przykładowe zdanie wygenerowane przez zdefiniowaną funkcję.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
def generate_phrase(model, initial_text):
# Initialize variables
res, seq, counter, next_char = initialize_params(____)
# Loop until stop conditions are met
while counter < ____ ____ next_char != r'.':
# Get next char using the model and append to the sentence
next_char, res, seq = get_next_token(model, ____, ____)
# Update the counter
counter = counter + 1
return res
# Create a phrase
print(____(model, "I am not insane, "))