Fungsi Pembangkitan Teks

Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras

David Cecchini

Data Scientist

Membangkitkan kalimat

  • Kalimat ditentukan oleh tanda baca. Misalnya, . (titik), ! (seru), atau ? (tanya).

    • Tanda baca harus ada dalam kosakata.
  • Ada token kalimat, mis. <SENT> dan </SENT>, yang menandai awal dan akhir kalimat.

    • Perlu prapemrosesan data untuk menyisipkan label.
Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras

Membangkitkan kalimat

sentence = ''

# Loop until end of sentence while next_char != '.':
# Predict next char: Get pred array in position 0 pred = model.predict(X)[0]
char_index = np.argmax(pred)
next_char = index_to_char(char_index)
# Concatenate to sentence sentence = sentence + next_char
Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras

Penskalaan probabilitas

Skalakan distribusi probabilitas.

  • Temperature: istilah dari fisika
    • Nilai kecil: membuat prediksi lebih yakin
    • Nilai sama dengan satu: tanpa penskalaan
    • Nilai lebih besar: membuat prediksi lebih kreatif
    • Hiperparameter: Coba beberapa nilai agar sesuai dengan kebutuhan prediksi Anda
Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras

Penskalaan probabilitas

def scale_softmax(softmax_pred, temperature=1.0):
    # Take the logarithm
    scaled_pred = np.log(softmax_pred) / temperature

# Re-apply the exponential scaled_pred = np.exp(scaled_pred)
# Build probability distribution scaled_pred = scaled_pred / np.sum(scaled_pred)
# Simulate multinomial scaled_pred = np.random.multinomial(1, scaled_pred, 1)
# Return simulated class return np.argmax(scaled_pred)
Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras

Ayo berlatih!

Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras

Preparing Video For Download...