Logo Lanfrica

ademox/darija-offensive-language-detection

Domaine:

natural language processing

Type de record:

model
Créateur:
ade
HĂ´te:
# Darija Offensive Language Detection 🇲🇦 A sophisticated deep learning system for detecting offensive language in Moroccan Darija using a hybrid CNN-LSTM architecture with MorRoBERTa embeddings. ## 🎯 Overview This project implements a state-of-the-art offensive language detection system specifically designed for Moroccan Darija (Moroccan Arabic dialect). The model combines the power of pre-trained transformer embeddings with a hybrid CNN-LSTM architecture to achieve high accuracy in identifying offensive content. ### Key Features - **Domain-Specific**: Uses MorRoBERTa, specifically trained on Moroccan Arabic - **Hybrid Architecture**: Combines CNN for local pattern detection with LSTM for sequential modeling - **Multi-Scale Feature Extraction**: Uses multiple CNN kernel sizes (3, 4, 5) to capture different n-gram patterns - **Production-Ready**: Complete training pipeline with evaluation metrics and visualization - **Efficient**: Frozen embeddings approach for faster training and deployment ## 🏗️ Architecture ``` Input Text ↓ MorRoBERTa Embedder (Frozen) ↓ Multi-Scale CNN Layers (k=3,4,5) ↓ Feature Concatenation ↓ Bidirectional LSTM ↓ Classification Head ↓ Offensive/Non-Offensive ``` ### Model Components 1. **MorRoBERTa Embedder**: Pre-trained transformer for contextualized embeddings 2. **Hybrid CNN-LSTM Classifier**: - 3 parallel Conv1D layers with different kernel sizes - Batch normalization and dropout for regularization - Bidirectional LSTM for sequence modeling - Dense classification head ## 📊 Dataset The model is trained on the **Moroccan Darija Offensive Language Detection Dataset**, which contains: - Moroccan Darija text samples - Binary labels (Offensive/Non-Offensive) - Balanced distribution across classes ### Data Split - **Training**: 70% - **Validation**: 15% - **Test**: 15% ## 🚀 Quick Start ### Prerequisites ```bash pip install torch torchvision torchaudio pip install transformers pip install scikit-learn pandas numpy matplotlib seaborn …