Mulai sekarangMulai gratis

Dekode prediksi Anda

LSTM model Anda sudah dilatih (detailnya ada di pesan sukses latihan sebelumnya) sehingga Anda tidak perlu menunggu. Sekarang saatnya mendefinisikan sebuah fungsi yang mendekode prediksinya. model terlatih akan diteruskan sebagai parameter default ke fungsi ini.

Karena Anda melakukan prediksi pada model yang menggunakan fungsi softmax, argmax() dari numpy dapat digunakan untuk memperoleh indeks/posisi yang merepresentasikan kata berikutnya yang paling mungkin dari vektor keluaran probabilitas.

tokenizer yang sebelumnya Anda buat dan latih sudah dimuat untuk Anda. Anda akan menggunakan kamus internalnya, index_word, untuk mengubah prediksi kata berikutnya dari model (yang berupa bilangan bulat) menjadi kata tertulis yang diwakilinya.

Anda sudah sangat dekat untuk bereksperimen dengan model Anda!

Latihan ini merupakan bagian dari kursus

Pengantar Deep Learning dengan Keras

Lihat Kursus

Instruksi latihan

  • Gunakan texts_to_sequences() untuk mengubah parameter test_text menjadi urutan angka.
  • Dapatkan prediksi kata berikutnya dari model dengan memasukkan test_seq. Indeks/posisi yang merepresentasikan kata dengan probabilitas tertinggi diperoleh dengan memanggil .argmax(axis=1)[0] pada array prediksi numpy.
  • Kembalikan kata yang dipetakan ke prediksi tersebut menggunakan kamus index_word dari tokenizer.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

def predict_text(test_text, model = model):
  if len(test_text.split()) != 3:
    print('Text input should be 3 words!')
    return False
  
  # Turn the test_text into a sequence of numbers
  test_seq = tokenizer.texts_to_sequences([____])
  test_seq = np.array(test_seq)
  
  # Use the model passed as a parameter to predict the next word
  pred = ____.predict(____).argmax(axis = 1)[0]
  
  # Return the word that maps to the prediction
  return tokenizer.____[____]
Edit dan Jalankan Kode