Prediksi karakter berikutnya
Dalam latihan ini, Anda akan menulis fungsi untuk memprediksi karakter berikutnya menggunakan model yang sudah dilatih. Anda akan menggunakan 20 karakter sebelumnya untuk memprediksi karakter selanjutnya. Anda akan mempelajari cara melatih model pada pelajaran berikutnya, karena langkah ini merupakan bagian integral sebelum pelatihan model.
Ini adalah langkah awal untuk membuat aturan dalam menghasilkan kalimat, paragraf, teks pendek, atau blok teks lain sesuai kebutuhan.
Variabel n_vocab, chars_window, dan kamus index_to_char sudah dimuat di lingkungan. Selain itu, fungsi-fungsi berikut sudah dibuat untuk Anda:
initialize_X(): Mengubah masukan teks menjadi urutan nomor indeks dengan bentuk yang benar.predict_next_char(): Mengambil karakter berikutnya menggunakan metode.predict()dari kelas model dan kamusindex_to_char.
Latihan ini merupakan bagian dari kursus
Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras
Instruksi latihan
- Definisikan fungsi
get_next_char()dan tambahkan parameterinitial_textdanchars_windowtanpa nilai bawaan. - Gunakan fungsi
initialize_X()dan teruskan variabelchar_to_indexuntuk memperoleh vektor nol yang akan digunakan untuk prediksi. - Gunakan fungsi
predict_next_char()untuk memperoleh prediksi dan simpan dalam variabelnext_char. - Cetak karakter yang diprediksi dengan menerapkan fungsi yang didefinisikan pada
initial_textyang diberikan.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
def ____(model, ____, ____, char_to_index, index_to_char):
# Initialize the X vector with zeros
X = ____(initial_text, chars_window, ____)
# Get next character using the model
____ = predict_next_char(model, X, ____)
return next_char
# Define context sentence and print the generated text
initial_text = "I am not insane, "
print("Next character: {0}".format(____(model, ____, 20, char_to_index, index_to_char)))