Makine çevirisine giriş

Keras ile Machine Translation

Thushan Ganegedara

Data Scientist and Author

Makine çevirisi

Merhaba çevirileri

Keras ile Machine Translation

Makine çevirisi

Google simgeli Merhaba çevirisi

Keras ile Machine Translation

Ders planı

  • Bölüm 1 - Makine çevirisine giriş
  • Bölüm 2 - Bir makine çeviri modeli uygulama (encoder–decoder mimarisi)
  • Bölüm 3 - Modeli eğitme ve çeviri üretme
  • Bölüm 4 - Çeviri modelini iyileştirme
Keras ile Machine Translation

Veri kümesi (İngilizce-Fransızca cümle derlemi)

  • İngilizce derlemi
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 .
  • Fransızca derlemi
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
Keras ile Machine Translation

Makine çevirisi - Genel bakış

İngilizceden Fransızcaya

Keras ile Machine Translation

Makine çevirisi - Genel bakış

Kaynak-hedef dil terimleri

Keras ile Machine Translation

Makine çevirisi - Genel bakış

Makine çeviri modeli

Keras ile Machine Translation

Makine çevirisi - Genel bakış

Makine çeviri modeli

Keras ile Machine Translation

One-hot kodlu vektörler

  • Sıfır ve birlerden oluşan vektör
  • Uzunluk, sözlük boyutuna bağlıdır
  • Sözlük: veri setindeki benzersiz kelimeler

One-hot vektörler

Keras ile Machine Translation

One-hot kodlu vektörler

Kelimeler ve karşılık gelen indekslerini içeren eşleme

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

Kelimeleri kimliklere/indekslere dönüştürme

words = ["I", "like", "cats"]
word_ids = [word2index[w] for w in words]
print(word_ids)
[0, 1, 2]
Keras ile Machine Translation

One-hot kodlu vektörler

Çıkış vektör uzunluğu belirtilmeden one-hot kodlama

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])]

Çıkış vektör uzunluğu belirtilerek one-hot kodlama

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])]
Keras ile Machine Translation

Haydi pratik yapalım!

Keras ile Machine Translation

Preparing Video For Download...