Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Geef de variabele initial_text door aan de functie initialize_params().
  • Maak voorwaarden om de lus te stoppen wanneer de teller 100 bereikt of wanneer een punt (r'.') wordt gevonden.
  • Geef de beginwaarden res, seq door aan de functie get_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, "))
Code bewerken en uitvoeren