Generera en mening med kontext
I den här övningen ska du experimentera med en förtränad modell för textgenerering. Modellen är redan inläst i miljön via variabeln model, tillsammans med funktionerna initialize_params() och get_next_token().
Den sistnämnda använder den förtränade modellen för att förutsäga nästa tecken och returnerar tre variabler: nästa tecken next_char, den uppdaterade meningen res och den förskjutna texten seq som används för att förutsäga nästa tecken.
Du ska definiera en funktion som tar emot en förtränad modell och en sträng – som utgör början på den genererade meningen – som indata. Det här är ett bra sätt att generera text med kontext. Teckengränsen på 100 tecken är ett exempel; du kan använda andra gränser (eller inga alls) i dina egna tillämpningar.
Den här övningen är en del av kursen
Återkommande neurala nätverk (RNN) för språkmodellering med Keras
Övningsinstruktioner
- Skicka variabeln
initial_texttill funktioneninitialize_params(). - Skapa villkor för att avbryta loopen när räknaren når 100 eller en punkt (
r'.') påträffas. - Skicka startvärden
res,seqtill funktionenget_next_token()för att hämta nästa tecken. - Skriv ut den exempelfras som den definierade funktionen genererar.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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, "))