Předzpracování dat v Kerasu
Druhým nejdůležitějším modulem Kerasu je keras.preprocessing. Uvidíš, jak využít jeho klíčové moduly a funkce k přípravě surových dat do správného vstupního formátu. Keras nabízí nástroje, které nahrazují slovníkový přístup, který sis osvojil/a dříve.
Modul keras.preprocessing.text.Tokenizer použiješ k vytvoření slovníku slov pomocí metody .fit_on_texts() a k převodu textů na numerická id reprezentující index každého slova ve slovníku pomocí metody .texts_to_sequences().
Poté použiješ funkci .pad_sequences() z modulu keras.preprocessing.sequence, aby měly všechny sekvence stejnou délku (což model vyžaduje) – krátké texty se doplní nulami a dlouhé se oříznou.
Toto cvičení je součástí kurzu
Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras
Pokyny k cvičení
- Importuj
Tokenizerapad_sequencesz příslušných modulů. - Natrénuj objekt
tokenizerna vzorových datech uložených v proměnnétexts. - Převeď texty na sekvence numerických indexů pomocí metody
.texts_to_sequences(). - Srovnej délku textů jejich doplněním (paddingem).
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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]))