Çıktı metnini hazırlama
Bu egzersizde, çeviri modelinde kullanılacak çıktı metinlerini hazırlayacaksın. Metni indeks dizilerine dönüştürmenin yanı sıra, her indeksi one-hot olarak da kodlaman gerekiyor.
İngilizce metinler en_sentences değişkenine, eğitilmiş tokenizer output_tokenizer değişkenine ve İngilizce sözlük boyutu en_vocab_size değişkenine yüklendi.
Ayrıca, çıktı dilini dönüştürmenin ilk adımlarını yapan (metinlerin indeks dizilerine dönüştürülmesi) bir fonksiyon zaten oluşturuldu. Bu fonksiyon ortama transform_text_to_sequences() olarak yüklendi ve iki parametre alıyor: İngilizce cümlelerin bir listesini bekleyen sentences ve keras.preprocessing.text modülünden eğitilmiş bir Tokenizer nesnesi bekleyen tokenizer.
numpy np olarak yüklendi.
Bu egzersiz, kursun bir parçasıdır
Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)
Egzersiz talimatları
Ydeğişkenini başlatmak içinen_sentencesveoutput_tokenizerdeğişkenlerinitransform_text_to_sequences()fonksiyonuna geçir.- Cümleleri one-hot kodlamak için
to_categorical()fonksiyonunu kullan. Sınıf sayısı olaraken_vocab_sizedeğişkenini kullan. - Geçici listeyi numpy dizisine dönüştür ve şekli
(num_sentences, sentences_len, en_vocab_size)olacak şekilde yeniden biçimlendir. - Ham metni ve dönüştürülmüş olanı yazdır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Initialize the variable
Y = transform_text_to_sequences(____, ____)
# Temporary list
ylist = list()
for sequence in Y:
# One-hot encode sentence and append to list
ylist.append(____(sequence, num_classes=____))
# Update the variable
Y = np.array(ylist).reshape(____, Y.shape[1], en_vocab_size)
# Print the raw sentence and its transformed version
print("Raw sentence: {0}\nTransformed: {1}".format(____, Y[0]))