Multilingual emotion analysis across African languages using transfer learning and data augmentation on the BRIGHTER + EthioEmo datasets.
# COS 760 — Emotion Analysis using BRIGHTER + EthioEmo Datasets
**Group 5 | Alisha Perumal, Junior Motsepe, Taylor Sergel**
Multilabel emotion classification across Afrikaans, English, isiZulu, Sesotho, and Setswana using transfer learning (XLM-RoBERTa, AfriBERTa) and data augmentation (back-translation, LLM annotation).
---
## Contents of the Zip File
```
NLP_Group_5_COS760/
├── README.md ← This file
├── requirements.txt ← Python dependencies
├── notebooks/
│ ├── phase1_preprocessing.py ← Dataset acquisition and preprocessing
│ ├── phase2_baseline.py ← TF-IDF + Logistic Regression + SVM baselines
│ ├── phase2_visualisations.py ← Baseline result visualisations
│ ├── phase3_ws1_xlmroberta.py ← XLM-RoBERTa LoRA fine-tuning
│ ├── phase3_ws2_afriberta.py ← AfriBERTa LoRA fine-tuning
│ ├── phase3_ws3_backtranslation.py ← NLLB-200 back-translation augmentation
│ ├── phase3_ws4_llm_annotation.py ← Claude LLM-based emotion annotation
│ ├── phase3_transfer_and_results.py ← Cross-lingual transfer + results aggregation
│ └── phase4_error_analysis.py ← Error analysis and visualisations
├── results/
│ ├── phase2_baselines/ ← Baseline result CSVs
│ └── phase2_visualisations/ ← Baseline charts and graphs
└── models/
└── (empty — model checkpoints saved to Google Drive during training)
```
> **Note on data and model checkpoints:** All processed datasets and trained model checkpoints are stored on Google Drive due to file size constraints (datasets: ~500MB; model checkpoints: ~3GB). See the Data Information section below for download and setup instructions.
---
## Project Overview
This project investigates multilabel emotion classification across five South African languages using the BRIGHTER + EthioEmo dataset. The pipeline covers five phases:
| Phase | Description |
|---|---|---|
| Phase 1 | Dataset acquisition and preprocessing |
| Phase 2 …