Logo Lanfrica

7onwabo/Emotional-Analysis

Domaine:

natural language processing
Créateur:
7on
Hôte:
Objective: Develop emotion classification models for African languages. Dataset: BRIGHTER + EthioEmo, AfriSenti, AfriHate. Key Tasks: Implement multi-label emotion classification. Use deep learning to detect nuanced emotions. Compare model performance across African languages. # Emotion Analysis — African Languages Multilabel emotion classification across five African languages from **BRIGHTER** (Afrikaans, Swahili, Hausa) and **EthioEmo** (Amharic, Tigrinya), spanning **Latin and Ge'ez scripts**. COS 760 group project — University of Pretoria. ## Target languages Five languages across two datasets, two scripts, and three families — chosen for direct-fine-tune-able train splits and maximal contrast for the RQ2 linguistic-factor analysis. | Language | Code | Source | Script | Train | Dev | Test | Family | Region | |---|---|---|---|---|---|---|---|---| | Afrikaans | `afr` | BRIGHTER | Latin | 1,222 | 196 | 2,130 | Indo-European (Germanic) | South Africa | | Swahili | `swa` | BRIGHTER | Latin | 3,307 | 1,102 | 3,312 | Niger-Congo (Bantu) | East Africa | | Hausa | `hau` | BRIGHTER | Latin | 2,145 | 712 | 2,160 | Afro-Asiatic (Chadic) | West Africa | | Amharic | `amh` | EthioEmo | Ge'ez | 3,549 | 592 | 1,774 | Afro-Asiatic (Semitic) | Ethiopia | | Tigrinya | `tir` | EthioEmo | Ge'ez | 3,681 | 614 | 1,840 | Afro-Asiatic (Semitic) | Ethiopia / Eritrea | Both datasets share the **same 6-label int64 multilabel schema** (`id, text, anger…surprise`), so one loader serves both. The Latin-vs-Ge'ez script split and the resource/morphology spread are central to RQ2 (what linguistic factors explain performance gaps). isiZulu/isiXhosa were dropped earlier (BRIGHTER `train=0` — no direct fine-tuning); EthioEmo's `orm`/`som` (both Latin) remain available if the set is widened. ## Emotion labels (BRIGHTER multilabel schema) `anger`, `disgust`, `fear`, `joy`, `sadness`, `surprise` — multi-hot per text. Intensity prediction (0–3) is a stretch goal if a target language has the intensity split. ## Project layout ``` . ├── configs/ # Hydra / YAML configs │ ├── data.yaml │ ├── languages.yaml │ ├── models.yaml │ └── training.yaml ├── data/ │ ├── raw/ # raw downloads (gitignored) │ ├── processed/ …