An end-to-end Natural Language Processing (NLP) project that classifies SMS messages as Spam or Ham (Not Spam) using TF-IDF Vectorization and Naive Bayes. The application is deployed as an interactive web app using Streamlit on Hugging Face Spaces.
🔗 Hugging Face:
https://huggingface.co/spaces/ShaanVM/sms-spam-detector
SMS spam messages are a common source of phishing attacks and fraudulent activities. This project uses Natural Language Processing (NLP) and Machine Learning to automatically classify incoming SMS messages as either:
- 🚨 Spam
- ✅ Ham (Not Spam)
The application performs text preprocessing, feature extraction using TF-IDF, and classification using a trained Machine Learning model.
- Interactive Streamlit Web Application
- Text Preprocessing Pipeline
- Tokenization
- Stopword Removal
- Stemming using Porter Stemmer
- TF-IDF Vectorization
- Spam Prediction in Real-Time
- Clean and User-Friendly Interface
- Deployed on Hugging Face Spaces
- Python
- Pandas
- NumPy
- Scikit-learn
- NLTK
- Streamlit
- Pickle
- TF-IDF Vectorizer
- Naive Bayes Classifier
- Hugging Face Spaces
- Load SMS Spam Dataset
- Perform Data Cleaning
- Exploratory Data Analysis (EDA)
- Text Preprocessing
- Lowercasing
- Tokenization
- Removing Special Characters
- Stopword Removal
- Stemming
- Convert Text to Numerical Features using TF-IDF
- Train Machine Learning Model
- Evaluate Performance
- Save Model using Pickle
- Build Streamlit Application
- Deploy on Hugging Face
https://www.kaggle.com/datasets/uciml/sms-spam-collection-dataset

