{"id":24114783,"url":"https://github.com/eusha425/twitter-sentiment-classifier","last_synced_at":"2026-04-12T17:03:11.122Z","repository":{"id":270916697,"uuid":"911597510","full_name":"Eusha425/twitter-sentiment-classifier","owner":"Eusha425","description":"A deep learning project that analyzes tweet sentiments using Bidirectional LSTM and CNN-LSTM hybrid architectures. Implements complete NLP pipeline from text preprocessing to model evaluation, achieving effective classification of positive, negative, and neutral sentiments.","archived":false,"fork":false,"pushed_at":"2025-06-23T16:56:20.000Z","size":2063,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-23T17:48:32.968Z","etag":null,"topics":["deep-learning","keras","machine-learning","neural-network","nlp","python","sentiment-analysis","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Eusha425.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-03T11:48:21.000Z","updated_at":"2025-06-23T16:56:24.000Z","dependencies_parsed_at":"2025-01-04T02:38:37.435Z","dependency_job_id":"8dee7f5e-8c66-4261-b18b-219444f6db83","html_url":"https://github.com/Eusha425/twitter-sentiment-classifier","commit_stats":null,"previous_names":["eusha425/twitter-sentiment-classifier"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Eusha425/twitter-sentiment-classifier","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eusha425%2Ftwitter-sentiment-classifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eusha425%2Ftwitter-sentiment-classifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eusha425%2Ftwitter-sentiment-classifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eusha425%2Ftwitter-sentiment-classifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Eusha425","download_url":"https://codeload.github.com/Eusha425/twitter-sentiment-classifier/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eusha425%2Ftwitter-sentiment-classifier/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265297045,"owners_count":23742585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","keras","machine-learning","neural-network","nlp","python","sentiment-analysis","tensorflow"],"created_at":"2025-01-11T05:35:19.321Z","updated_at":"2025-10-11T21:13:18.958Z","avatar_url":"https://github.com/Eusha425.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Twitter Sentiment Analysis\n\n[![Python](https://img.shields.io/badge/Python-3.7+-blue.svg)](https://www.python.org)\n[![TensorFlow](https://img.shields.io/badge/TensorFlow-2.0+-orange.svg)](https://tensorflow.org/)\n[![Keras](https://img.shields.io/badge/Keras-2.0+-red.svg)](https://keras.io/)\n[![NLTK](https://img.shields.io/badge/NLTK-Latest-green.svg)](https://www.nltk.org/)\n\n## 📊 Project Overview\nA deep learning project implementing advanced neural network architectures to classify tweet sentiments. The project showcases the complete deep learning pipeline, from text preprocessing and feature engineering to model training and evaluation. This project was developed as part of the KIT315 unit assessment, demonstrating practical applications of deep learning in natural language processing.\n\n## 🔍 Key Features\n- Implementation of two deep learning architectures\n- Advanced text preprocessing pipeline\n- Word embeddings for text representation\n- Comprehensive model evaluation and comparison\n- Detailed text visualization and analysis\n- Hyperparameter optimization\n\n## 🛠️ Technologies Used\n- Python 3.7+\n- Jupyter Notebook\n- Key Libraries:\n  - TensorFlow \u0026 Keras: Deep learning models\n  - NLTK: Natural language processing\n  - pandas \u0026 numpy: Data manipulation\n  - matplotlib \u0026 seaborn: Data visualization\n  - scikit-learn: Model evaluation\n\n## 📈 Models Implemented\n1. Bidirectional LSTM\n2. CNN-LSTM Hybrid Model\n\n## 🔄 Project Pipeline\n\n### Text Preprocessing\n- Text cleaning and normalization\n- Stop word removal\n- Tokenization\n- Sequence padding\n\n### Model Development\n- Word embeddings\n- Deep learning architecture design\n- Hyperparameter tuning\n- Dropout for regularization\n\n### Model Evaluation\n- Classification metrics\n- Confusion matrix analysis\n- Training history visualization\n\n## 📊 Results\nThe CNN-LSTM hybrid model demonstrated superior performance with:\n- Improved accuracy across all sentiment categories\n- Better handling of complex sentence structures\n- More robust feature extraction\n\n## 📁 Project Structure\n```\ntwitter-sentiment-classifier/\n│\n├── twitter_sentiment_analysis_dl.ipynb   # Main Jupyter notebook\n├── README.md                             # Project documentation\n├── report/\n│   └── technical_report.pdf              # Detailed technical report\n└── data/                           \n    ├── train.csv                         # Training dataset\n    └── test.csv                          # Test dataset\n```\n\n## 🚀 Setup and Usage\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/Eusha425/twitter-sentiment-classifier.git\n   ```\n\n2. Install required packages:\n   ```python\n   import pandas as pd\n   import numpy as np\n   import tensorflow as tf\n   import nltk\n   from tensorflow.keras.layers import *\n   from sklearn.model_selection import train_test_split\n   from tensorflow.keras.preprocessing.text import Tokenizer\n   ```\n\n3. Open and run the Jupyter notebook:\n   ```bash\n   jupyter notebook twitter_sentiment_analysis_dl.ipynb\n   ```\n\n## 📈 Future Improvements\n1. **Text Processing**\n   - Advanced text cleaning techniques\n   - Custom tokenization methods\n   - Handling of emojis and special characters\n\n2. **Model Architecture**\n   - Transformer-based models\n   - Attention mechanisms\n   - Pre-trained word embeddings\n\n3. **Evaluation**\n   - Cross-validation implementation\n   - ROC curve analysis\n   - Model interpretability\n\n## 📚 References\n1. Research papers and documentation referenced in the technical report\n2. Deep learning architecture implementations\n3. Natural language processing techniques\n\n## 🤝 Contributing\nFeel free to fork the project and submit pull requests. For major changes, please open an issue first to discuss the proposed changes.\n\n## 📄 License\nThis project is licensed under the MIT License - see the [LICENSE](https://github.com/Eusha425/twitter-sentiment-classifier/blob/main/LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feusha425%2Ftwitter-sentiment-classifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feusha425%2Ftwitter-sentiment-classifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feusha425%2Ftwitter-sentiment-classifier/lists"}