Logo Lanfrica

Jray-Tech/nlp_yoruba

Domain:

natural language processing

Record type:

model
Creator:
Jra
Host:
# 🧠 English–Yoruba Language Classification & Translation This project investigates **machine learning and deep learning models** for English–Yoruba language processing. From traditional Naive Bayes classifiers to modern Transformer-based translation, it showcases a practical pipeline for low-resource language applications. --- ## 📌 Project Overview This notebook demonstrates how to: - 🔤 **Classify** text as English or Yoruba using **Naive Bayes**. - 🧠 **Cluster** semantically similar sentences with **K-Means on sentence embeddings**. - 🔁 Build a **sequence-to-sequence (seq2seq)** translation model using **RNN/LSTM**. - 🌍 Fine-tune a **Transformer (e.g., mT5)** model for **neural machine translation**. - 🧪 Evaluate results with industry-standard metrics: **Accuracy**, **F1-score**, **BLEU**, **METEOR**, and **Silhouette Score**. --- ## 🛠️ Technologies Used - **Python**, **Scikit-learn**, **TensorFlow/Keras**, **Transformers (HuggingFace)** - **NLTK**, **Pandas**, **Seaborn**, **Matplotlib** - **sacreBLEU**, **rouge_score**, **sentencepiece** - Pretrained GloVe embeddings for sentence vectorization --- ## 📊 Dataset - File: `train.tsv` - Structure: Parallel English–Yoruba sentence pairs. - Tasks include tokenization, length analysis, and vocabulary inspection. --- ## 🧪 Evaluation Metrics | Task | Evaluation Metric | | ----------------------------- | ------------------ | | Classification | Accuracy, F1-Score | | Clustering | Silhouette Score | | Translation (RNN/Transformer) | BLEU, METEOR | --- ## 📁 Project Structure ``` ├── glove.6B.100d.txt # Pretrained word vectors (downloaded) ├── train.tsv # Parallel corpus for training ├── AppliedAI.ipynb # Main Jupyter Notebook └── README.md # Project summary (this file) ``` --- ## 🚀 How to Run 1. Clone the repo and install dependencies: ```bash pip install pandas scikit-learn matplotlib seab …