Home Tags Machine

Tag: Machine

What’s driving interest in neural machine translation is the ability to learn consideration from vast amounts of bilingual data. This post explores the creation of a simple neural machine translation system utilizing the Keras deep learning library and TensorFlow as the backend. “`python import numpy as np from keras.layers import Embedding, Dense, LSTM from keras.models import Model class NeuralMachineTranslator: def __init__(self, source_vocabulary_size, target_vocabulary_size): self.source_embedding = Embedding(input_dim=source_vocabulary_size, output_dim=128, mask_zero=True) self.target_embedding = Embedding(input_dim=target_vocabulary_size, output_dim=128, mask_zero=True) encoder_input = self.source_embedding.input encoder_hidden_state = LSTM(256)(self.source_embedding(encoder_input)) decoder_input = Dense(256)(encoder_hidden_state) decoder_output = LSTM(256, return_sequences=True)(decoder_input) self.model = Model(inputs=self.source_embedding.input, outputs=decoder_output) def translate(self, source_sentence): encoder_input = np.zeros((1, len(source_sentence), 128)) for i in range(len(source_sentence)): word_vector = self.source_embedding.get_weights()[0][source_sentence[i]] encoder_input[0, i] = word_vector output = self.model.predict(encoder_input) return [np.argmax(output[0, i]) for i in range(len(source_sentence))] translator = NeuralMachineTranslator(10000, 5000) print(translator.translate([‘hello’, ‘world’])) “`