# Tunisian Arabizi Dialect Data - Sentiment Analysis
## Project Overview
This project focuses on Sentiment Analysis for the Tunisian Arabizi dialect using multiple Deep Learning and Natural Language Processing (NLP) techniques.
The objective is to classify Tunisian Arabizi text into sentiment categories such as:
- Positive
- Negative
- Neutral
The project explores several stages of the NLP pipeline including:
- Data Exploration
- Text Preprocessing
- Data Augmentation
- Tokenization & Sequence Preparation
- Deep Learning Modeling
- Hybrid Deep Learning Architectures
- Transformer-Based NLP Models
- Performance Evaluation & Visualization
---
# Dataset
The dataset used in this project is:
**Tunisian Arabizi Dialect Data for Sentiment Analysis**
The dataset contains:
- Tunisian Arabizi textual data
- Sentiment labels associated with each text sample
Main columns:
- `InputText`
- `SentimentLabel`
---
# Technologies & Libraries
The project was implemented using Python and the following libraries:
## Data Processing
- pandas
- numpy
## Visualization
- matplotlib
- seaborn
## NLP
- nltk
- spaCy
## Machine Learning
- scikit-learn
- imbalanced-learn (SMOTE)
## Deep Learning
- TensorFlow / Keras
## Transformer Models
- Hugging Face Transformers
---
# Project Pipeline
## 1. Data Exploration
The dataset was explored using:
- dataset shape inspection
- missing value analysis
- text length statistics
- sentiment class distribution visualization
### Visualizations
- Sentence length distribution
- Sentiment label distribution
---
# 2. Text Preprocessing
Several preprocessing operations were applied:
- Lowercasing text
- Removing special characters
- Cleaning punctuation
- Sequence normalization
---
# 3. Data Augmentation
To improve model generalization, data augmentation techniques were applied.
## Synonym Replacement
Words inside sentences were replaced using WordNet synonyms.
## Random Insertion
Random synonyms were inserted into text samples to …