Pengantar penerjemahan mesin

Penerjemahan Mesin dengan Keras

Thushan Ganegedara

Data Scientist and Author

Penerjemahan mesin

Terjemahan "Hello"

Penerjemahan Mesin dengan Keras

Penerjemahan mesin

Terjemahan "Hello" dengan ikon Google

Penerjemahan Mesin dengan Keras

Garis besar kursus

  • Bab 1 - Pengantar penerjemahan mesin
  • Bab 2 - Menerapkan model penerjemahan mesin (arsitektur encoder-decoder)
  • Bab 3 - Melatih model dan menghasilkan terjemahan
  • Bab 4 - Meningkatkan model terjemahan
Penerjemahan Mesin dengan Keras

Dataset (korpus kalimat Inggris–Prancis)

  • Korpus bahasa Inggris
new jersey is sometimes quiet during autumn , and it is snowy in april .
the united states is usually chilly during july , and it is usually freezing ...
california is usually quiet during march , and it is usually hot in june .
  • Korpus bahasa Prancis
new jersey est parfois calme pendant l' automne , et il est neigeux en avril .
les états-unis est généralement froid en juillet , et il gèle habituellement ...
california est généralement calme en mars , et il est généralement chaud en juin .
1 https://github.com/udacity/deep-learning/tree/master/language-translation/data
Penerjemahan Mesin dengan Keras

Penerjemahan mesin - Ringkasan

Inggris ke Prancis

Penerjemahan Mesin dengan Keras

Penerjemahan mesin - Ringkasan

Istilah bahasa sumber dan target

Penerjemahan Mesin dengan Keras

Penerjemahan mesin - Ringkasan

Model penerjemahan mesin

Penerjemahan Mesin dengan Keras

Penerjemahan mesin - Ringkasan

Model penerjemahan mesin

Penerjemahan Mesin dengan Keras

Vektor one-hot

  • Vektor berisi angka 1 dan 0
  • Panjang vektor ditentukan oleh ukuran kosakata
  • Kosakata: kumpulan kata unik dalam dataset

Vektor one-hot

Penerjemahan Mesin dengan Keras

Vektor one-hot

Pemetaan berisi kata dan indeksnya

word2index = {"I":0, "like": 1, "cats": 2}

Mengonversi kata ke ID atau indeks

words = ["I", "like", "cats"]
word_ids = [word2index[w] for w in words]
print(word_ids)
[0, 1, 2]
Penerjemahan Mesin dengan Keras

Vektor one-hot

One-hot encoding tanpa menentukan panjang vektor keluaran

onehot_1 = to_categorical(word_ids)
print([(w,ohe.tolist()) for w,ohe in zip(words, onehot_1)])
[('I', [1.0, 0.0, 0.0]), ('like', [0.0, 1.0, 0.0]), ('cats', [0.0, 0.0, 1.0])]

One-hot encoding dengan menentukan panjang vektor keluaran

onehot_2 = to_categorical(word_ids, num_classes=5)
print([(w,ohe.tolist()) for w,ohe in zip(words, onehot_2)])
[('I', [1.0, 0.0, 0.0, 0.0, 0.0]), ('like', [0.0, 1.0, 0.0, 0.0, 0.0]), 
('cats', [0.0, 0.0, 1.0, 0.0, 0.0])]
Penerjemahan Mesin dengan Keras

Ayo berlatih!

Penerjemahan Mesin dengan Keras

Preparing Video For Download...