Metin Üretim Modelleri

Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)

David Cecchini

Data Scientist

Sınıflandırma modeline benzer

Metin Üretim Modeli:

  • Sözcük dağarcığını sınıflar olarak kullanır
  • Son katman, sözcük dağarcığı boyutunda birimlerle softmax uygular
  • Kayıp fonksiyonu olarak categorical_crossentropy kullanır
Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)

Keras ile örnek model

model = Sequential()

model.add(LSTM(units, input_shape=(chars_window, n_vocab), dropout=0.15, recurrent_dropout=0.15, return_sequences=True))
model.add(LSTM(units, dropout=dropout, recurrent_dropout=0.15, return_sequences=False))
model.add(Dense(n_vocab, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam')
Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)

Ama tam bir sınıflandırma modeli değil

Sınıflandırmadan farkı:

  • Kayıp hesaplar, ancak performans metriklerini (doğruluk) hesaplamaz
    • Sonuçları insanlar görür ve değerlendirir.
    • İyi değilse, daha fazla epoch eğitin veya modele karmaşıklık ekleyin (daha fazla bellek hücresi, katman vb.).
  • Göreve göre üretim kurallarıyla kullanılır
    • Sonraki karakteri üret
    • Bir kelime üret
    • Bir cümle üret
    • Bir paragraf üret
Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)

Diğer uygulamalar

  • İsim oluşturma
    • Bebek isimleri
    • Yeni yıldız adları vb.
  • İşaretli metin üretimi
    • LaTeX
    • Markdown
    • XML vb.
    • Programlama kodu
  • Haber yazıları
  • Sohbet botları
Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)

Veri hazırlığı

Metin üretim görevi için veri hazırlama sürecini gösterir. Metni sayı dizilerine dönüştürür ve X’te sabit uzunluklu dizileri, Y’de sonraki karakteri tutarak eğitim setini X ve Y’ye böler.

Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)

Hadi pratik yapalım!

Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)

Preparing Video For Download...