Genereer zin met context
In deze oefening ga je experimenteren met een voorgetraind model voor tekstgeneratie. Het model is al geladen in de omgeving in de variabele model, net als de functies initialize_params() en get_next_token().
De laatste gebruikt het voorgetrainde model om het volgende teken te voorspellen en geeft drie variabelen terug: het volgende teken next_char, de bijgewerkte zin res en de verschoven tekst seq die wordt gebruikt om de volgende te voorspellen.
Je definieert een functie die een voorgetraind model en een string als invoer krijgt, waarbij die string het begin is van de te genereren zin. Dit is een goede aanpak om tekst met context te genereren. De limiet van 100 tekens is een voorbeeld; in je eigen toepassingen kun je andere limieten gebruiken (of zelfs geen limiet).
Deze oefening maakt deel uit van de cursus
Recurrent Neural Networks (RNN's) voor taalmodellen met Keras
Oefeninstructies
- Geef de variabele
initial_textdoor aan de functieinitialize_params(). - Maak voorwaarden om de lus te stoppen wanneer de teller 100 bereikt of wanneer een punt (
r'.') wordt gevonden. - Geef de beginwaarden
res,seqdoor aan de functieget_next_token()om het volgende teken te verkrijgen. - Print de voorbeeldzin die is gegenereerd door de gedefinieerde functie.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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, "))