# ๐ง NLP - Detection of the Problem Source from Arabic Feedback
This project uses Natural Language Processing (NLP) to classify Arabic customer feedback as either related to the **product** (ุงูู
ูุชุฌ) or the **service** (ุงูุฎุฏู
ุฉ). It includes a trained model, a Streamlit web app, and a Jupyter Notebook for training and evaluation.
---
## ๐ Project Structure
```plaintext
tunisian-feedback-classifier/
โ
โโโ app.py # Streamlit app interface
โโโ NLP_Classification.ipynb # Notebook with full training & evaluation
โโโ MLP_model.pkl # Trained MLP neural network model
โโโ tfidf_vectorizer.pkl # TF-IDF vectorizer
โโโ finals.csv # Contains the data (Comment_Text_Arabic,Problem_Source(Labels))
โโโ requirements.txt #Contains the requirements to make the interface work
โโโ README.md # Project documentation (this file)
```
---
## ๐ Features
- Classifies Arabic feedback as either about the **product** or the **service**
- Neural network (MLP) trained on TF-IDF features
- Arabic-specific text preprocessing (normalization + stopword removal)
- Interactive web app with Streamlit
---
## ๐ ๏ธ Installation
### 1. Clone the Repository
```bash
git clone
github.com
cd tunisian-feedback-classifier
```
### 2. Create Virtual Environment (Optional)
```bash
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
### 3. Install Dependencies
```bash
pip install -r requirements.txt
```
---
## โถ๏ธ Run the Streamlit App
```bash
streamlit run app.py
```
---
## ๐ Model Performance
| Model | Accuracy | F1-Score |
|---------------|----------|----------|
| Naive Bayes | 0.92 | 0.92 |
| Neural Net โ
| 0.95 | 0.95 |
| RBF SVM | 0.95 | 0.95 |
| Linear SVM | 0.93 | 0.93 |
---
## ๐ค Author
**Youssef Nakhli**
๐ Data Engineer Student
๐ซ LinkedIn | GitHub