| # 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 | |
| 1. Open the provided links in `Colab Links.txt` or download the `.ipynb` files and upload them to [Google Colab](https://colab.research.google.com/). | |
| 2. Ensure you have access to the dataset files used in the notebooks (if applicable). | |
| 3. 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. | |