BaşlayınÜcretsiz Başlayın

Veri ön işleme

Artık, iki girişi ve tek çıktısı olan yeni modelimiz için veriyi işlemen gerekiyor. İki giriş, tek-sıcak (one-hot) kodlanmış İngilizce kelimeler ve sondaki kelime hariç tek-sıcak kodlanmış Fransızca kelimelerdir.

Çıktı ise baştaki kelime hariç tek-sıcak kodlanmış Fransızca kelimeler olacaktır. Başka bir deyişle, decoder’da her bir Fransızca giriş kelimesinin çıktısı, bir sonraki kelimedir. Burada bunun nasıl uygulanacağını öğreneceksin.

Sana sents2seqs() fonksiyonu, en_text ve fr_text verildi.

Bu egzersiz

Keras ile Machine Translation

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • sents2seqs() fonksiyonunu kullanarak (onehot kodlanmış ve ters çevrilmiş) bir kodlayıcı girdi kümesi (i'den i+bsize'e) elde et.
  • sents2seqs() fonksiyonunu kullanarak (onehot kodlanmış) bir çözücü girdi ve çıktı kümesi (i'den i+bsize'e) elde et.
  • Zaman boyutunda dilimleme yaparak çözücü girdilerini (de_xy içinden, sondaki kelime hariç tüm Fransızca kelimeler) ayır.
  • Çözücü çıktılarını (de_xy içinden, ilk kelime hariç tüm Fransızca kelimeler) ayır.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

bsize = 250
for i in range(0, len(en_text), bsize):
  # Get the encoder inputs using the sents2seqs() function
  en_x = ____('source', ____[____:____], onehot=True, reverse=____)
  # Get the decoder inputs/outputs using the sents2seqs() function
  de_xy = sents2seqs('target', ____[____:____], onehot=True)
  # Separate the decoder inputs from de_xy
  de_x = de_xy[:,____,:]
  # Separate the decoder outputs from de_xy
  de_y = de_xy[:,____,:]
  
  print("Data from ", i, " to ", i+bsize)
  print("\tnp.argmax() => en_x[0]: ", np.argmax(en_x[0], axis=-1))
  print("\tnp.argmax() => de_x[0]: ", np.argmax(de_x[0], axis=-1))
  print("\tnp.argmax() => de_y[0]: ", np.argmax(de_y[0], axis=-1))
Kodu Düzenle ve Çalıştır