Build your own simple translator LSTM and Seq-to-Seq translator
This repository contains materials and analysis for an NLP assignment focused on translation tasks using LSTM-based and Seq-to-Seq models. The work involves exploring dataset formats, building model architectures, and evaluating model performance using BLEU and ChrF metrics.
Repository Structure
1. Images
- Dataset Format Visualization (
A2 #Q1 Dataset format.png
):- An image showcasing the structure of the dataset used for training both models, including input and output formats.
- LSTM Model Class Diagram (
A2 #Q2 LSTM Model Class.png
):- A visual representation of the LSTM model architecture, detailing the layers and the sequence flow.
- Seq-to-Seq Model Class Diagram (
A2 #Q3 Seq-to-Seq Model class.png
):- A diagram illustrating the Seq-to-Seq model, including encoder-decoder components and attention mechanisms.
- BLEU Score Comparison Plot (
A2 #Q5 BLEU Scores for both LSTM-based model vs Seq-to-seq model (Plot).png
):- A plot comparing BLEU scores obtained from the LSTM and Seq-to-Seq models across different test samples.
- ChrF Score Comparison Plot (
A2 #Q8 Chrf Scores for both LSTM-based model vs Seq-to-seq model .png
):- A graphical comparison of ChrF scores between the two models, indicating performance differences.
2. Documents
- Training Curves Document (
A2 #Q4 Training curves.docx
):- A Word document that provides detailed training curves for both models, showcasing loss reduction and accuracy improvements over epochs.
3. CSV Files
- BLEU Scores Data (
A2 #Q6 BLEU Scores CSV file.csv
):- This CSV file contains BLEU scores for various experiments, including different model configurations and datasets.
- ChrF Scores Data (
A2 #Q7 Chrf Scores CSV.csv
):- Contains the ChrF scores, which provide an alternative metric to evaluate translation quality, highlighting differences in n-gram overlap.
4. Jupyter Notebooks
- Seq-to-Seq Model Analysis Notebook (
A2_Q10_Google_Colab_Seq2seq_based_translator_Analysis.ipynb
):- An in-depth analysis of the Seq-to-Seq-based translator, including data preprocessing, model training, and evaluation using Google Colab.
- Features include hyperparameter tuning, use of attention mechanisms, and qualitative analysis of translations.
- LSTM-based Model Analysis Notebook (
A2_Q9_Google_Colab_for_LSTM_based_translator.ipynb
):- This notebook covers the implementation and analysis of the LSTM-based translator, providing insights into its training process, evaluation metrics, and sample outputs.
5. Additional Resources
- Colab Links (
Colab Links.txt
):- A text file with direct links to the Google Colab notebooks for easy access and execution.
Prerequisites
To run the Jupyter notebooks, you will need:
- Python 3.x
- Required libraries:
torch
,transformers
,matplotlib
,pandas
,numpy
- Google Colab or a local Jupyter environment
Running the Notebooks
- Open the provided links in
Colab Links.txt
or download the.ipynb
files and upload them to Google Colab. - Ensure you have access to the dataset files used in the notebooks (if applicable).
- Execute the cells step-by-step, following the instructions provided in each notebook.
Evaluation Metrics
- BLEU Score: Measures the n-gram precision between the generated and reference translations.
- ChrF Score: A character n-gram F-score that provides an alternative evaluation metric, especially useful for low-resource languages.
Use Cases
This project can serve as a reference for:
- Understanding LSTM and Seq-to-Seq architectures for translation tasks.
- Evaluating model performance using various metrics.
- Experimenting with neural network models in NLP tasks using Google Colab.
License
This project is licensed for educational and research purposes only. For any commercial use, please contact the author.
Contact
For any questions or feedback, please reach out via the repository's discussion section or the author's email.