Menyiapkan data teks untuk masukan model
Sebelumnya, Anda telah mempelajari cara membuat kamus indeks-ke-kata dan sebaliknya. Pada latihan ini, Anda akan memecah teks berdasarkan karakter dan melanjutkan menyiapkan data untuk pembelajaran terawasi.
Memecah teks menjadi karakter mungkin terasa janggal, tetapi ini sering dilakukan untuk pembuatan teks. Selain itu, proses menyiapkan datanya sama; yang berbeda hanyalah cara membagi teksnya.
Anda akan membuat data pelatihan yang berisi daftar teks berdurasi tetap dan labelnya, yaitu karakter berikutnya yang bersesuaian.
Anda akan terus menggunakan himpunan data yang berisi kutipan dari Sheldon (The Big Bang Theory), yang tersedia dalam variabel sheldon_quotes.
Fungsi print_examples() mencetak pasangan agar Anda dapat melihat bagaimana data ditransformasikan. Gunakan help() untuk detailnya.
Latihan ini merupakan bagian dari kursus
Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras
Instruksi latihan
- Tetapkan
stepsama dengan2danchars_windowsama dengan10. - Tambahkan kalimat berikutnya ke variabel
sentences. - Tambahkan posisi yang benar dari teks
sheldonke variabelnext_chars. - Gunakan fungsi
print_examples()untuk mencetak10kalimat dan karakter berikutnya.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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)