Förbered textdata för modellinmatning
Tidigare lärde du dig att skapa ordböcker med index-till-ord-mappningar och vice versa. I den här övningen delar du upp texten tecken för tecken och fortsätter att förbereda datan för supervised learning.
Att dela upp texter i enskilda tecken kan verka oväntat, men det är en vanlig metod vid textgenerering. Processen för att förbereda datan är densamma – den enda skillnaden är hur texten delas upp.
Du skapar träningsdatan som en lista med texter av fast längd och deras etiketter, vilka är de motsvarande nästa tecknen.
Du fortsätter att använda datamängden med citat från Sheldon (The Big Bang Theory), tillgänglig i variabeln sheldon_quotes.
Funktionen print_examples() skriver ut paren så att du kan se hur datan har transformerats. Använd help() för mer information.
Den här övningen är en del av kursen
Återkommande neurala nätverk (RNN) för språkmodellering med Keras
Övningsinstruktioner
- Sätt
steptill2ochchars_windowtill10. - Lägg till nästa mening i variabeln
sentences. - Lägg till rätt position i texten
sheldoni variabelnnext_chars. - Använd funktionen
print_examples()för att skriva ut10meningar och nästa tecken.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Create lists to keep the sentences and the next character
sentences = [] # ~ Training data
next_chars = [] # ~ Training labels
# Define hyperparameters
step = ____ # ~ Step to take when reading the texts in characters
chars_window = ____ # ~ Number of characters to use to predict the next one
# Loop over the text: length `chars_window` per time with step equal to `step`
for i in range(0, len(sheldon_quotes) - chars_window, step):
sentences.____(sheldon_quotes[i:i + chars_window])
next_chars.append(sheldon_quotes[____])
# Print 10 pairs
print_examples(____, ____, 10)