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
Oefeninstructies
- Loop door de lijst
new_textmet de zinnen. - Stel de index in op
0als 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]]))