Aan de slagGa gratis aan de slag

Nieuwe tekst transformeren

In deze oefening transformeer je een nieuwe tekst naar reeksen numerieke indexen op basis van de eerder gemaakte dictionaries.

Dit is handig wanneer je al een getraind model hebt en het wilt toepassen op een nieuwe gegevensset. De voorbewerking die je op de trainingsgegevens hebt gedaan, moet je ook toepassen op de nieuwe tekst, zodat het model voorspellingen/classificaties kan maken.

Hier gebruik je ook een speciaal token '<UKN/>' om woorden weer te geven die niet in de woordenschat voorkomen. Doorgaans zijn dit soort speciale tokens de eerste indexen van de dictionaries, dus positie 0.

De variabelen word_to_index, index_to_word en vocabulary zijn al in de omgeving geladen. Ook de variabele met de nieuwe tekst is geladen als new_text. De nieuwe tekst is voor je afgedrukt zodat je ernaar kunt kijken.

Deze oefening maakt deel uit van de cursus

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

Cursus bekijken

Oefeninstructies

  • Loop door de lijst new_text met de zinnen.
  • Stel de index in op 0 als het woord niet in de dictionary wordt gevonden.
  • Voeg de zin met indexen toe aan de variabele new_text_split.
  • Zet de indexen terug om naar tekst met de dictionary index_to_word.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Loop through the sentences and get indexes
new_text_split = []
for sentence in ____:
    sent_split = []
    for wd in sentence.split(' '):
        index = word_to_index.get(wd, ____)
        sent_split.append(index)
    new_text_split.append(____)

# Print the first sentence's indexes
print(new_text_split[0])

# Print the sentence converted using the dictionary
print(' '.join([index_to_word[____] for index in new_text_split[0]]))
Code bewerken en uitvoeren