Pregătirea datelor text pentru intrarea în model
Anterior, ai învățat cum să creezi dicționare de indecși la cuvinte și invers. În acest exercițiu, vei împărți textul pe caractere și vei continua să pregătești datele pentru învățarea supervizată.
Împărțirea textelor în caractere poate părea ciudată, dar este o tehnică frecvent folosită pentru generarea de text. De altfel, procesul de pregătire a datelor este același – singura diferență este modul în care se împart textele.
Vei crea datele de antrenament sub forma unei liste de texte de lungime fixă și etichetele corespunzătoare acestora, adică următoarele caractere.
Vei continua să folosești setul de date cu citate ale lui Sheldon (The Big Bang Theory), disponibil în variabila sheldon_quotes.
Funcția print_examples() afișează perechile, astfel încât să poți vedea cum au fost transformate datele. Folosește help() pentru detalii.
Acest exercițiu face parte din cursul
Rețele Neuronale Recurente (RNN) pentru Modelare a Limbajului cu Keras
Instrucțiuni pentru exercițiu
- Definește
stepegal cu2șichars_windowegal cu10. - Adaugă propoziția următoare în variabila
sentences. - Adaugă poziția corectă din textul
sheldonîn variabilanext_chars. - Folosește funcția
print_examples()pentru a afișa10propoziții și caracterele următoare.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Create lists to keep the sentences and the next character
sentences = [] # ~ Training data
next_chars = [] # ~ Training labels
# Define hyperparameters
step = ____ # ~ Step to take when reading the texts in characters
chars_window = ____ # ~ Number of characters to use to predict the next one
# Loop over the text: length `chars_window` per time with step equal to `step`
for i in range(0, len(sheldon_quotes) - chars_window, step):
sentences.____(sheldon_quotes[i:i + chars_window])
next_chars.append(sheldon_quotes[____])
# Print 10 pairs
print_examples(____, ____, 10)