This repository contains a Neural Machine Translation (NMT) project implemented in Python. The project includes a Jupyter Notebook (NMTranslation.ipynb
) that demonstrates the end-to-end process of building a French-to-English translation model using sequence modeling techniques. The model includes Luong attention and scaled dot-product attention mechanisms.
The project is organized into separate Python files corresponding to the cell blocks in the original notebook. Each file focuses on a specific part of the translation pipeline, from data preprocessing to model training and evaluation.
data_preprocessing.py
: Contains functions for loading and preprocessing the French-English sentence pairs.model_architecture.py
: Defines the architecture of the translation model, including the encoder, decoder, and attention mechanisms.training.py
: Includes the training loop and functions for training the NMT model.evaluation.py
: Contains functions for evaluating the model's performance on the validation and test sets.utils.py
: Utility functions used throughout the project.
NMTranslation.ipynb
: The original Jupyter Notebook demonstrating the complete process.
- Python 3.10.7
- Jupyter Notebook
- Required Python packages (listed in
requirements.txt
)
- Clone the repository:
git clone https://github.com/SitanshuA091/Neural-Machine-Translation