Ramy Sentiment Intelligence: AI-powered Product Review Analysis for the Algerian Market.
# 🟠 Ramy Sentiment Intelligence
> **Enterprise-grade Arabic sentiment analysis fine-tuned on real Ramy customer voice**
> Built for **AI EXPO 2026** · Arabic · Darija · French · NVIDIA H100
---
## 📌 Overview
**Ramy Sentiment Intelligence** is a production-ready NLP system that classifies Arabic product reviews into **positive**, **negative**, and **neutral** sentiment. It was designed specifically for Algerian Arabic (Darija) and code-switched French/Arabic text — the real language customers use when talking about Ramy beverages.
The system is served through a live enterprise dashboard featuring real-time inference, model insights, and data exploration.
---
# IMPORTANT - MODEL FILE NOT UPLOADED TO GITHUB
## READ THIS BEFORE RUNNING INFERENCE
The trained model weights are intentionally **not uploaded** to the repository (GitHub file size limits).
To use prediction/inference, you must do the following:
1. Run the training notebook completely:
- `h100-finetune-sentiment-fixed.ipynb`
2. Get the exported zip file:
- `ramy_h100_finetuned_model.zip`
3. Extract the zip.
4. Use the extracted model folder for inference (pipeline/model path).
5. If using the web app, set:
- `FINETUNED_MODEL_PATH= `
Without this step, model endpoints will not run correctly.
---
## 🚨 The Problem
Sentiment analysis in North Africa is unsolved at the dialect level:
- Reviews mix **Modern Standard Arabic**, **Algerian Darija**, and **French** in a single sentence
- Off-the-shelf multilingual models fail on code-switched Maghrebi text
- Labeled data in this domain is extremely scarce (~1,500 samples)
- Most pipelines suffer from **evaluation leakage** - inflated scores that don't hold in production
This project solves all four challenges simultaneously.
---
## 🧠 Model & Architecture
| Component | Details |
|-----------|---------|
| Base model | `aubmindlab/bert-base-arabertv02` (AraBERT v2) |
| Task | Sequence classification (3-class sentiment) |
| Max sequence length | 256 token …