\# Multi-task Misinformation Detection for Low-Resource Swahili
A reproducible deep learning pipeline for multi-task learning on \*\*Swahili misinformation detection\*\* and \*\*Swahili hate speech detection\*\* using shared transformer representations.
This repository accompanies the research project investigating whether \*\*joint multi-task learning\*\* can improve misinformation detection by leveraging knowledge from a related hate speech detection task in a low-resource language.
\---
\## Overview
The project develops and evaluates two multi-task transformer models:
1\. \*\*Baseline Multi-task Model\*\*
- Equal task weighting
- Joint learning of misinformation and hate speech
2\. \*\*Misinformation-Tuned Multi-task Model\*\*
- Increased optimisation emphasis on misinformation detection
- Same architecture as the baseline
- Different task-loss weighting strategy
The experiments use:
\- \*\*PolitikWeli\*\* (Swahili misinformation dataset)
\- \*\*AfriHate\*\* (Swahili hate speech dataset)
Both datasets are harmonised into a unified multi-task training dataset while preventing data leakage and ensuring reproducibility.
\---
\## Repository Structure
```text
multitask-misinformation-detection/
│
├── data/
│ ├── raw/
│ └── processed/
│
├── notebooks/
│ ├── 01\_politikweli\_prepare.ipynb
│ ├── 02\_afrihate\_prepare.ipynb
│ ├── 03\_build\_multitask\_dataset.ipynb
│ ├── 04\_baseline\_training.ipynb
│ └── 05\_misinformation\_tuned\_training.ipynb
│
├── models/
│ ├── baseline/
│ └── misinformation\_tuned/
│
├── reports/
├── docs/
└── src/
```
\---
\## Workflow
The notebooks should be executed in the following order.
\### Notebook 1
\*\*01\_politikweli\_prepare.ipynb\*\*
Purpose
\- Load hydrated PolitikWeli datasets
\- Clean and harmonise records
\- Construct binary misinformation labels
\- Perform stratified train/validation/te …