# Kinyarwanda Hate Speech Detection App
A machine learning-powered app that detects **hate**, **offensive**, or **normal** speech in **Kinyarwanda** social media text using logistic regression. Also includes a **Chrome extension** (Developer Mode) for real-time classification.
---
## 🚀 Features
- ✅ Detects `hate`, `sarcasm`, or `normal` content in Kinyarwanda
- 🧠 Trained with Logistic Regression + TF-IDF
- 📊 Balanced dataset for fair classification
- 🌐 Web interface for testing input text
- 🧩 Chrome extension for live web integration
---
## 📁 Project Structure
```
project/
│
├── app.py #Flask app
|── README.md
|── Procfile
├── requirements.txt
├── .
|── static/css
| ├── dashboard.css
| ├── index.css
| ├── login.css
| ├── register.css
| ├── moderator_dashboard.css
| ├── verify.css
| ├── forgot_password.css
| ├── reset_password.css
├── templates/
| ├── dashboard.html
| ├── index.html
| ├── login.html
| ├── register.html
| ├── moderator_dashboard.html
| ├── verify.html
| ├── forgot_password.html
| ├── reset_password.html
├── model/
│ ├── hate_speech_model.ipynb # Model Notebook
| ├── kinyarwanda_hatespeech_noisy.csv
| ├── final_dataset.tsv
| ├── label_encoder.pkl
| ├── model.pkl # Trained logistic regression model
| ├── tfidf.pkl # TF-IDF vectorizer used during training
├── RHD_extension/ # Chrome extension source files
│ ├── manifest.json
│ ├── popup.html
│ ├── popup.js
│ ├── icon.png
│ └── content.js
│ ├── background.js
├── screenshots/
```
---
## 🛠️ Installation (Web App)
### Step 1: Clone the Repository
```bash
git clone
github.com
cd kinyarwanda_Hatespeech_Detection
```
### Step 2: Create Virtual Environment
```bash
python -m venv venv
venv\Scripts\activate
```
### Step 3: Install Dependencies
```bash
pip install -r requirements.txt
```
### Step 4 (Optional): Train the Model
Open the notebook:
```bash
jup …