# 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 β¦