Menyiapkan data untuk pelatihan
Dalam latihan ini, Anda akan melanjutkan menyiapkan data untuk melatih model. Setelah membuat array kalimat dan karakter berikutnya, Anda perlu mengubahnya menjadi nilai numerik yang dapat digunakan oleh model.
Langkah ini diperlukan karena model RNN hanya menerima angka, bukan string. Anda akan membuat array numerik yang berisi nol atau satu pada posisi yang mewakili karakter yang ada di dalam kalimat. Angka satu (atau True) menandakan karakter tersebut ada, sedangkan nol (atau False) menandakan tidak adanya karakter pada posisi tersebut dalam kalimat.
Variabel sentences, next_char, n_vocab, chars_window, num_seqs (jumlah kalimat dalam data pelatihan) sudah dimuat di lingkungan, begitu juga numpy sebagai np.
Latihan ini merupakan bagian dari kursus
Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras
Instruksi latihan
- Instansiasi
np.array()berisi nol dengan shape(jumlah kalimat, jendela karakter, ukuran kosakata). - Gunakan kamus
char_to_indexuntuk mengatur posisi karakter saat ini menjadi1. - Atur karakter berikutnya saat ini menjadi
1. - Cetak posisi pertama dari masing-masing array.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Instantiate the variables with zeros
numerical_sentences = np.zeros((____, ____, ____), dtype=np.bool)
numerical_next_chars = np.zeros((num_seqs, n_vocab), dtype=np.bool)
# Loop for every sentence
for i, sentence in enumerate(sentences):
# Loop for every character in sentence
for t, char in enumerate(sentence):
# Set position of the character to 1
numerical_sentences[i, t, ____] = ____
# Set next character to 1
____[i, char_to_index[next_chars[i]]] = 1
# Print the first position of each
print(____, ____, sep="\n")