introd u ction to machine translation
play

Introd u ction to machine translation MAC H IN E TR AN SL ATION - PowerPoint PPT Presentation

Introd u ction to machine translation MAC H IN E TR AN SL ATION IN P YTH ON Th u shan Ganegedara Data Scientist and A u thor Machine translation MACHINE TRANSLATION IN PYTHON Machine translation MACHINE TRANSLATION IN PYTHON Co u rse o u


  1. Introd u ction to machine translation MAC H IN E TR AN SL ATION IN P YTH ON Th u shan Ganegedara Data Scientist and A u thor

  2. Machine translation MACHINE TRANSLATION IN PYTHON

  3. Machine translation MACHINE TRANSLATION IN PYTHON

  4. Co u rse o u tline Chapter 1 - Introd u ction to machine translation Chapter 2 - Implement a machine translation model ( encoder - decoder architect u re ) Chapter 3 - Training the model and generating translations Chapter 4 - Impro v ing the translation model MACHINE TRANSLATION IN PYTHON

  5. Dataset ( English - French sentence corp u s ) English corp u s 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 . French corp u s 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 h � ps :// gith u b . com /u dacit y/ deep - learning / tree / master / lang u age - translation / data MACHINE TRANSLATION IN PYTHON

  6. Machine translation - O v er v ie w MACHINE TRANSLATION IN PYTHON

  7. Machine translation - O v er v ie w MACHINE TRANSLATION IN PYTHON

  8. Machine translation - O v er v ie w MACHINE TRANSLATION IN PYTHON

  9. Machine translation - O v er v ie w MACHINE TRANSLATION IN PYTHON

  10. One - hot encoded v ectors A v ector of ones and z eros Vector length is determined b y the si z e of the v ocab u lar y Vocab u lar y - the collection of u niq u e w ords in the dataset MACHINE TRANSLATION IN PYTHON

  11. One - hot encoded v ectors A mapping containing w ords and their corresponding indices word2index = {"I":0, "like": 1, "cats": 2} Con v erting w ords to IDs or indices words = ["I", "like", "cats"] word_ids = [word2index[w] for w in words] print(word_ids) [0, 1, 2] MACHINE TRANSLATION IN PYTHON

  12. One - hot encoded v ectors One - hot encoding w itho u t specif y ing o u tp u t v ector length 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 w ith specif y ing o u tp u t v ector length 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])] MACHINE TRANSLATION IN PYTHON

  13. Let ' s practice ! MAC H IN E TR AN SL ATION IN P YTH ON

  14. Encoder decoder architect u re MAC H IN E TR AN SL ATION IN P YTH ON Th u shan Ganegedara Data Scientist and A u thor

  15. Encoder decoder model MACHINE TRANSLATION IN PYTHON

  16. Encoder MACHINE TRANSLATION IN PYTHON

  17. Encoder and Decoder MACHINE TRANSLATION IN PYTHON

  18. Analog y: Encoder decoder architect u re MACHINE TRANSLATION IN PYTHON

  19. Re v ersing sentences - encoder decoder model MACHINE TRANSLATION IN PYTHON

  20. Writing the encoder def words2onehot(word_list, word2index): word_ids = [word2index[w] for w in word_list] onehot = to_categorical(word_ids, 3) return onehot def encoder(onehot): word_ids = np.argmax(onehot, axis=1) return word_ids MACHINE TRANSLATION IN PYTHON

  21. Writing the encoder onehot = words2onehot(["I", "like", "cats"], word2index) context = encoder(onehot) print(context) [0, 1, 2] MACHINE TRANSLATION IN PYTHON

  22. Writing the decoder Decoder : Word IDs ? Re v erse the IDs ? one - hot v ectors def decoder(context_vector): word_ids_rev = context_vector[::-1] onehot_rev = to_categorical(word_ids_rev, 3) return onehot_rev Helper f u nction : con v ert one - hot v ectors to h u man readable w ords def onehot2words(onehot, index2word): ids = np.argmax(onehot, axis=1) return [index2word[id] for id in ids] MACHINE TRANSLATION IN PYTHON

  23. Writing the decoder onehot_rev = decoder(context) reversed_words = onehot2words(onehot_rev, index2word) print(reversed_words) ['cats', 'like', 'I'] MACHINE TRANSLATION IN PYTHON

  24. Let ' s practice ! MAC H IN E TR AN SL ATION IN P YTH ON

  25. Understanding seq u ential models MAC H IN E TR AN SL ATION IN P YTH ON Th u shan Ganegedara Data Scientist and A u thor

  26. Time series inp u ts and seq u ential models A sentence is a time series inp u t C u rrent w ord is a � ected b y pre v io u s w ords E . g . He w ent to the pool for a .... The encoder / decoder u ses a machine learning model Models that can learn from time - series inp u ts Models are called seq u ential models MACHINE TRANSLATION IN PYTHON

  27. Seq u ential models Seq u ential models Mo v es thro u gh the inp u t w hile prod u cing an o u tp u t at each time step MACHINE TRANSLATION IN PYTHON

  28. Encoder as a seq u ential model GRU - Gated Rec u rrent Unit MACHINE TRANSLATION IN PYTHON

  29. Introd u ction to the GRU la y er At time step 1, the GRU la y er , Cons u mes the inp u t " We " Cons u mes the initial state (0,0) O u tp u ts the ne w state (0.8, 0.3) MACHINE TRANSLATION IN PYTHON

  30. Introd u ction to GRU la y er At time step 2, the GRU la y er , Cons u mes the inp u t " like " Cons u mes the initial state (0.8,0.3) O u tp u ts the ne w state (0.5, 0.9) The hidden state represents " memor y" of w hat the model has seen MACHINE TRANSLATION IN PYTHON

  31. Keras ( F u nctional API ) refresher Keras has t w o important objects : Layer and Model objects . Inp u t la y er inp = keras.layers.Input(shape=(...)) Hidden la y er layer = keras.layers.GRU(...) O u tp u t out = layer(inp) Model model = Model(inputs=inp, outputs=out) MACHINE TRANSLATION IN PYTHON

  32. Understanding the shape of the data Seq u ential data is 3- dimensional Batch dimension ( e . g . batch = gro u ps of sentences ) Time dimension - seq u ence length Inp u t dimension ( e . g . onehot v ector length ) GRU model inp u t shape ( Batch , Time , Inp u t ) ( batch si z e , seq u ence length , onehot length ) MACHINE TRANSLATION IN PYTHON

  33. Implementing GRUs w ith Keras De � ning Keras la y ers inp = keras.layers.Input(batch_shape=(2,3,4)) gru_out = keras.layers.GRU(10)(inp) De � ning a Keras model model = keras.models.Model(inputs=inp, outputs=gru_out) MACHINE TRANSLATION IN PYTHON

  34. Implementing GRUs w ith Keras Predicting w ith the Keras model x = np.random.normal(size=(2,3,4)) y = model.predict(x) print("shape (y) =", y.shape, "\ny = \n", y) shape (y) = (2, 10) y = [[ 0.2576233 0.01215531 ... -0.32517594 0.4483121 ], [ 0.54189587 -0.63834655 ... -0.4339783 0.4043917 ]] MACHINE TRANSLATION IN PYTHON

  35. Implementing GRUs w ith Keras A GRU that takes arbitrar y n u mber of samples in a batch inp = keras.layers.Input(shape=(3,4)) gru_out = keras.layers.GRU(10)(inp) model = keras.models.Model(inputs=inp, outputs=gru_out) x = np.random.normal(size=(5,3,4)) y = model.predict(x) print("y = \n", y) y = [[-1.3941444e-02 -3.3123985e-02 ... 6.5081201e-02 1.1245312e-01] [ 1.1409521e-03 3.6983326e-01 ... -3.4610277e-01 -3.4792548e-01] [ 2.5911796e-01 -3.9517123e-01 ... 5.8505309e-01 3.6908010e-01] [-2.8727052e-01 -5.1150680e-02 ... -1.9637148e-01 -1.5587148e-01] [ 3.1303680e-01 2.3338445e-01 ... 9.1499090e-04 -2.0590121e-01]] MACHINE TRANSLATION IN PYTHON

  36. GRU la y er ' s ret u rn _ state arg u ment inp = keras.layers.Input(batch_shape=(2,3,4)) gru_out2, gru_state = keras.layers.GRU(10, return_state=True)(inp) print("gru_out2.shape = ", gru_out2.shape) print("gru_state.shape = ", gru_state.shape) gru_out2.shape = (2, 10) gru_state.shape = (2, 10) MACHINE TRANSLATION IN PYTHON

  37. GRU la y er ' s ret u rn _ seq u ences arg u ment inp = keras.layers.Input(batch_shape=(2,3,4)) gru_out3 = keras.layers.GRU(10, return_sequences=True)(inp) print("gru_out3.shape = ", gru_out2.shape) gru_out3.shape = (2, 3, 10) MACHINE TRANSLATION IN PYTHON

  38. Let ' s practice ! MAC H IN E TR AN SL ATION IN P YTH ON

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend