Aan de slagGa gratis aan de slag

Maak vectoren van zinnen en volgende tekens

Deze oefening laat zien hoe belangrijk een goede datavoorbereiding is. Je gebruikt teksten met zinnen van het personage Sheldon uit de tv-serie The Big Bang Theory als input en maakt vectoren met zinsindexen en volgende tekens die nodig zijn voordat je een tekstgeneratiemodel bouwt.

De tekst staat in de variabele sheldon, het vocabulaire (tekens) in de variabele vocabulary, en de hyperparameters chars_window en step zijn ingesteld op respectievelijk 20 en 3. Dit betekent dat een reeks van 20 tekens wordt gebruikt om het volgende teken te voorspellen, en dat het venster bij elke iteratie 3 tekens opschuift.

Daarnaast is het pakket pandas als pd geladen in de omgeving.

Deze oefening maakt deel uit van de cursus

Recurrent Neural Networks (RNN's) voor taalmodellen met Keras

Cursus bekijken

Oefeninstructies

  • Split de tekst op regeleinden om over zinnen te kunnen loopen.
  • Loop tot het einde van de zin min chars_window.
  • Voeg het deel van de zin met chars_window tekens toe aan de variabele sentences en voeg het daaropvolgende teken toe aan de variabele next_chars.
  • Gebruik de verkregen vectoren om een pd.DataFrame() te maken en print de eerste rijen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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())
Code bewerken en uitvoeren