An interactive web application built with Streamlit to analyze Arabic restaurant reviews. This system uses state-of-the-art Natural Language Processing (NLP) models to evaluate customer sentiment and classify feedback into core operational areas.
🔗 Access the deployed app here: Streamlit Live App
This project assists restaurant management (such as Al Kofeia) in understanding customer feedback by combining two NLP approaches:
- 🎭 Sentiment Analysis: Identifies whether a review is Positive, Negative, or Neutral.
- 🏷️ Aspect Categorization (Zero-Shot): Automatically classifies feedback into operational topics without requiring domain-specific retraining.
- Frontend / Dashboard: Streamlit 🎈
- Machine Learning & NLP: Hugging Face Transformers, PyTorch 🤖
- Data Manipulation & Visualization: Pandas, Scikit-learn, Matplotlib, Seaborn 📊
- Language: Python 3.11+ 🐍
- Sentiment Classification: Uses pretrained transformer models (such as
CAMeLBERT/XLM-RoBERTa) to detect underlying emotions in Arabic reviews. - Zero-Shot Aspect Labeling: Groups reviews into five key operational categories:
- 🍔 Food Quality
- 👨🍳 Service & Staff
- 💰 Price
- 📍 Location & Ambience
- ⏳ Waiting Time
- Error Analysis & Visualizations: Evaluates model performance using Confusion Matrices to analyze misclassifications on dialectal and neutral text.
- Interactive User Interface: Allows users to input custom review texts or select pre-loaded samples from
restaurant_reviews.csvfor instant inference.
| Task | Model Used | Metrics Evaluated |
|---|---|---|
| Sentiment Analysis | cardiffnlp/twitter-xlm-roberta-base-sentiment |
Accuracy, Confusion Matrix |
| Aspect Categorization | morad/bert-base-arabic-zero-shot-classification |
Topic Confidence Score, F1-Score |