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
Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)
kursunun bir parçasıdırEgzersiz 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ı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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)))