Aan de slagGa gratis aan de slag

Keras-preprocessing

De op één na belangrijkste module van Keras is keras.preprocessing. Je ziet hoe je de belangrijkste modules en functies gebruikt om ruwe data voor te bereiden op de juiste inputvorm. Keras biedt functionaliteit die de woordenboekaanpak vervangt die je eerder hebt geleerd.

Je gebruikt de module keras.preprocessing.text.Tokenizer om met de methode .fit_on_texts() een woordenboek van woorden te maken en de teksten om te zetten naar numerieke id’s die de index van elk woord in het woordenboek voorstellen met de methode .texts_to_sequences().

Gebruik daarna de functie .pad_sequences() uit keras.preprocessing.sequence om alle sequenties even lang te maken (nodig voor het model) door nullen toe te voegen aan korte teksten en lange teksten af te kappen.

Deze oefening maakt deel uit van de cursus

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

Cursus bekijken

Oefeninstructies

  • Importeer Tokenizer en pad_sequences uit de relevante modules.
  • Fit het object tokenizer op de voorbeelddata in texts.
  • Zet de teksten om in sequenties van numerieke indexen met de methode .texts_to_sequences().
  • Maak de lengte van de teksten gelijk door ze te padden.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Import relevant classes/functions
from tensorflow.keras.preprocessing.text import ____
from tensorflow.keras.preprocessing.sequence import ____

# Build the dictionary of indexes
tokenizer = Tokenizer()
tokenizer.fit_on_texts(____)

# Change texts into sequence of indexes
texts_numeric = tokenizer.____(texts)
print("Number of words in the sample texts: ({0}, {1})".format(len(texts_numeric[0]), len(texts_numeric[1])))

# Pad the sequences
texts_pad = ____(texts_numeric, 60)
print("Now the texts have fixed length: 60. Let's see the first one: \n{0}".format(texts_pad[0]))
Code bewerken en uitvoeren