Logo Lanfrica

ademox/darija-offensive-language-detection

Domain:

natural language processing

Record type:

model
Creator:
ade
Host:
# 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 …