Introducere în traducerea automată

Traducere automată cu Keras

Thushan Ganegedara

Data Scientist and Author

Traducerea automată

Traduceri pentru „Hello"

Traducere automată cu Keras

Traducerea automată

Traducere „Hello" cu pictograma Google

Traducere automată cu Keras

Structura cursului

  • Capitolul 1 - Introducere în traducerea automată
  • Capitolul 2 - Implementarea unui model de traducere automată (arhitectură encoder-decoder)
  • Capitolul 3 - Antrenarea modelului și generarea traducerilor
  • Capitolul 4 - Îmbunătățirea modelului de traducere
Traducere automată cu Keras

Set de date (corpus de propoziții engleză-franceză)

  • Corpus în engleză
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 .
  • Corpus în franceză
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
Traducere automată cu Keras

Traducerea automată - Prezentare generală

Engleză în franceză

Traducere automată cu Keras

Traducerea automată - Prezentare generală

Termeni limbă sursă și țintă

Traducere automată cu Keras

Traducerea automată - Prezentare generală

Model de traducere automată

Traducere automată cu Keras

Traducerea automată - Prezentare generală

Model de traducere automată

Traducere automată cu Keras

Vectori codificați one-hot

  • Un vector de unu și zerouri
  • Lungimea vectorului este determinată de dimensiunea vocabularului
  • Vocabular - colecția de cuvinte unice din set de date

Vectori one-hot

Traducere automată cu Keras

Vectori codificați one-hot

Un dicționar cu cuvinte și indicii corespunzătoare

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

Convertirea cuvintelor în ID-uri sau indici

words = ["I", "like", "cats"]
word_ids = [word2index[w] for w in words]
print(word_ids)
[0, 1, 2]
Traducere automată cu Keras

Vectori codificați one-hot

Codificare one-hot fără specificarea lungimii vectorului de ieșire

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

Codificare one-hot cu specificarea lungimii vectorului de ieșire

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])]
Traducere automată cu Keras

Să exersăm!

Traducere automată cu Keras

Preparing Video For Download...