Tahminlerini çözümle
LSTM modelin (beklememen için önceki egzersizin başarı mesajında ayrıntıları verilen) zaten eğitildi. Şimdi bu tahminleri çözümlenecek bir fonksiyon tanımlama zamanı. Eğitilmiş model, bu fonksiyona varsayılan bir parametre olarak geçirilecek.
Modelin çıkışında softmax kullanıldığı için, olasılık vektöründen en olası bir sonraki kelimeyi temsil eden indeks/pozisyonu elde etmek üzere numpy'nın argmax() fonksiyonunu kullanabilirsin.
Önceden oluşturup eğittiğin tokenizer senin için yüklendi. modelin bir sonraki kelime tahminini (bir tamsayı) temsil ettiği yazılı kelimeye dönüştürmek için içindeki index_word sözlüğünden yararlanacaksın.
Modelinle denemeler yapmaya çok yaklaştın!
Bu egzersiz
Keras ile Deep Learning'e Giriş
kursunun bir parçasıdırEgzersiz talimatları
test_textparametresini sayı dizisine dönüştürmek içintexts_to_sequences()kullan.test_seqdeğerini modele vererek bir sonraki kelime tahminini al. En yüksek olasılığa sahip kelimeyi temsil eden indeks/pozisyonu, tahmin numpy dizisi üzerinde.argmax(axis=1)[0]çağırarak elde et.- Tahmine karşılık gelen kelimeyi, tokenizer'ın
index_wordsözlüğünü kullanarak döndür.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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.____[____]