Preprocesare în Keras
Al doilea cel mai important modul din Keras este keras.preprocessing. Vei vedea cum să folosești cele mai importante module și funcții pentru a pregăti datele brute în formatul de intrare corect. Keras oferă funcționalități care înlocuiesc abordarea bazată pe dicționar pe care ai învățat-o anterior.
Vei folosi modulul keras.preprocessing.text.Tokenizer pentru a crea un dicționar de cuvinte cu ajutorul metodei .fit_on_texts() și pentru a transforma textele în id-uri numerice ce reprezintă indexul fiecărui cuvânt din dicționar, folosind metoda .texts_to_sequences().
Apoi, folosește funcția .pad_sequences() din keras.preprocessing.sequence pentru a face ca toate secvențele să aibă aceeași dimensiune (necesară pentru model) — prin adăugarea de zerouri la textele scurte și trunchierea celor lungi.
Acest exercițiu face parte din cursul
Rețele Neuronale Recurente (RNN) pentru Modelare a Limbajului cu Keras
Instrucțiuni pentru exercițiu
- Importă
Tokenizerșipad_sequencesdin modulele corespunzătoare. - Antrenează obiectul
tokenizerpe datele exemplu stocate întexts. - Transformă textele în secvențe de indecși numerici folosind metoda
.texts_to_sequences(). - Standardizează dimensiunea textelor prin aplicarea padding-ului.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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]))