# 🧠 Détection de discours haineux en malgache
Ce projet a pour objectif la détection automatique de discours haineux en langue malgache à partir de données textuelles. Il utilise à la fois des modèles multilingues pré-entraînés (mT5, mBERT) et des approches classiques basées sur TF-IDF.
---
## 🔍 Objectifs
- Étudier l’efficacité de **modèles multilingues pré-entraînés** (mT5, mBERT) pour la classification de textes haineux en malgache.
- Évaluer des **méthodes classiques** de machine learning (TF-IDF + XGBoost / Naive Bayes).
- Construire un **corpus annoté** de discours malgaches provenant de traductions et de données sociales réelles.
- Comparer différentes stratégies de fine-tuning et de gestion du déséquilibre des classes.
---
## 🧾 Données
Le corpus est composé de deux sources :
1. ✅ **Données traduites** : Traduction en malgache de datasets publics (HateXplain, DGHD, slur-corpus, HateCheck, OLID, SWAD, Labeled_data, twitter_sexism, twitter_racism) via MadLab-7B-MT-BT.
2. 🗣️ **Données Facebook Malagasy** : Scrappées manuellement sur des publications ciblées, nettoyées et annotées manuellement.
Statistiques des données récupérées sur Facebook:
- ~25,000 exemples
- ≈32.5% de discours haineux
---
## 🧠 Modèles fine-tunés
### 🔷 mT5-small
- Encoder de mT5 avec **Mean Pooling**
- Classifieur 512 → 256 → 2
- Utilise la **Focal Loss** pour gérer le déséquilibre
- Apprentissage supervisé sur données combinées
📂 Dossier : `models/mT5`
---
### 🔶 mBERT (bert-base-multilingual-cased)
- [CLS] token → Classifieur 768 → 256 → 2
- Utilise la **CrossEntropyLoss standard**
- Fine-tuning classique sur les mêmes données
📂 Dossier : `models/mBERT`
---
### 🟡 TF-IDF + XGBoost / Naive Bayes
- Vectorisation avec **TF-IDF** (n-grammes 1 à 4)
- Deux modèles :
- `XGBoostClassifier` avec `scale_pos_weight`
- `MultinomialNB` avec suréchantillonnage SMOTE
- Augmentation des textes avec répétition pondérée des mots-clés haineux
- Courbes ROC, matrice de confusion, tests inte …