Skapa vektorer av meningar och nästa tecken
Den här övningen lyfter fram hur viktig dataförberedelse är. Du använder text med fraser från karaktären Sheldon i TV-serien The Big Bang Theory som indata och skapar vektorer med meningsindex och nästa tecken – något som behövs innan du bygger en textgenereringsmodell.
Texten finns tillgänglig i variabeln sheldon, vokabulären (tecknen) i variabeln vocabulary, och hyperparametrarna chars_window och step är definierade med värdena 20 respektive 3. Det innebär att en sekvens på 20 tecken används för att förutsäga nästa tecken, och att fönstret förflyttas 3 tecken för varje iteration.
Paketet pandas är också inläst i miljön som pd.
Den här övningen är en del av kursen
Återkommande neurala nätverk (RNN) för språkmodellering med Keras
Övningsinstruktioner
- Dela upp texten vid radbrytningar för att iterera igenom meningarna.
- Loopa till slutet av meningen minus
chars_window. - Lägg till den del av meningen som innehåller
chars_windowtecken i variabelnsentences, och lägg till nästa tecken i variabelnnext_chars. - Använd de erhållna vektorerna för att skapa en
pd.DataFrame()och skriv ut dess första rader.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Instantiate the vectors
sentences = []
next_chars = []
# Loop for every sentence
for sentence in sheldon.____:
# Get 20 previous chars and next char; then shift by step
for i in range(0, len(sentence) - ____, step):
sentences.append(sentence[i:i + ____])
next_chars.append(sentence[____ + chars_window])
# Define a Data Frame with the vectors
df = pd.DataFrame({'sentence': ____, 'next_char': ____})
# Print the initial rows
print(df.head())