✅ The project was deployed as an interactive interface using Streamlit:
🔗 sentiment-analysis-ai-project.streamlit.app
This project demonstrates a machine learning pipeline for sentiment analysis using real-world Twitter data related to airline customer feedback. The goal is to classify sentiments as positive
, neutral
, or negative
, and display the prediction and confidence level in a web interface.
- Built using
scikit-learn
,nltk
, andStreamlit
- Trained on real-world airline tweets dataset from Kaggle
- Achieved ~78% accuracy
- Deployed as an interactive web app
- Future-ready: can be extended to WhatsApp, customer service, and multilingual analysis
- User inputs any sentence in English
- Model classifies sentiment (
positive
,neutral
,negative
) - Shows prediction and confidence %
- Clean and modern UI using Streamlit
- Clone the repository:
git clone https://github.com/omar-khamis-dev/Sentiment_Analysis.git
cd Sentiment_Analysis
- Install dependencies:
pip install -r requirements.txt
- Run the app:
streamlit run src/app.py
📁Sentiment_Analysis/
│
├──📁src/
│ ├── app.py # Streamlit web app
│ └── utils.py # Utility functions
│
├──📁models/
│ └── sentiment_model.pkl # Trained model
├───📁 Data_Explorer
│ ├── Tweets.csv # Raw dataset
│ └── database.sqlite # SQLite version of dataset
├── requirements.txt
└── README.md
precision recall f1-score support
negative 0.78 0.96 0.86 1889
neutral 0.72 0.35 0.47 580
positive 0.82 0.55 0.66 459
accuracy 0.78 2928
- Switch from CountVectorizer to TF-IDF or Word Embeddings
- Support Arabic + English classification
- Build API endpoint for real-time use
- Connect to chatbots, WhatsApp, or support systems
- Try deep learning models (BERT, LSTM)
AI & Robotics Enthusiast | Python Developer
Licensed under the Apache 2.0
License.