Sonraki karakteri tahmin et
Bu egzersizde, eğitilmiş bir model verildiğinde bir sonraki karakteri tahmin eden fonksiyonu yazacaksın. Sonraki karakteri tahmin etmek için geçmiş 20 karakteri kullanacaksın. Modeli nasıl eğiteceğini bir sonraki derste öğreneceksin; çünkü bu adım, model eğitimi öncesinde kritik bir adımdır.
Bu, gerektiğinde cümleler, paragraflar, kısa metinler veya diğer metin blokları üretmek için kurallar oluşturmanın ilk adımıdır.
n_vocab, chars_window değişkenleri ve index_to_char sözlüğü ortamda zaten yüklü. Ayrıca aşağıdaki fonksiyonlar senin için hazırlandı:
initialize_X(): Metin girdisini doğru şekle sahip bir indeks numaraları dizisine dönüştürür.predict_next_char(): Model sınıfının.predict()yöntemini veindex_to_charsözlüğünü kullanarak bir sonraki karakteri alır.
Bu egzersiz, kursun bir parçasıdır
Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)
Egzersiz talimatları
get_next_char()fonksiyonunu tanımla ve varsayılan değeri olmayaninitial_textvechars_windowparametrelerini ekle.initialize_X()fonksiyonunu kullan ve tahmin için kullanılacak sıfırlardan oluşan vektörü elde etmek üzerechar_to_indexdeğişkenini geçir.- Tahmini almak için
predict_next_char()fonksiyonunu kullan ve sonucunext_chardeğişkeninde sakla. - Verilen
initial_textüzerinde tanımladığın fonksiyonu uygulayarak tahmin edilen karakteri yazdır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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)))