aind2-nlp-translation

Machine translation pipeline. Ready models to translate between languages.

Stars
8

Introduction

This notebook have different type of machine translation models starting from simple models to advanced models with good accuracy.

The model trained on small data to translate from English language to French, it can be expanded to train on more data or translate other languages.

This end-to-end machine translation pipeline delivered as final project for Udacity AI Nanodegree course.

Setup

Install

  • Python 3
  • NumPy
  • TensorFlow 1.x
  • Keras 2.x

Start

This project is within a Jupyter Notebook. To start the notebook, run the command jupyter notebook machine_translation.ipynb in this directory. Follow the instructions within the notebook.

Models

Following training accuracy achieved With only 20 epochs:

  1. Simple Model: 57%
  2. Embedding Model: 76%
  3. Bidirectional (No Embedding): 58%
  4. Encoder-Decoder Model: 68%
  5. Final Model (Multiple Techniques): 97.79%
    Final Model training accuracy reached 96.2% by the 10th epoch

Thing to improve

  • Increase epoch for higher accuracy
  • Increase training data
  • Add more layers or more units for deeper understanding of data.

Contribution

TODO and Implement parts in the notebook done by Ahmad Barqawi. Document strcure done by Udacity Team