A Machine Learning project that automatically classifies customer support tickets into different categories and predicts their priority level using Natural Language Processing (NLP).
This project was developed as part of Future Interns – Machine Learning Task 2.
🌐 Streamlit App
https://saktronx-ticket-classifier.streamlit.app/
Customer support teams receive thousands of tickets every day. Manually identifying the ticket category and priority is time-consuming and inefficient.
This project automates that process using Machine Learning by predicting:
- 🎫 Ticket Category
- 🚨 Ticket Priority
The application is deployed using Streamlit and allows users to enter any support ticket to receive instant predictions.
- Automatic Ticket Classification
- Ticket Priority Prediction
- Text Preprocessing using NLP
- TF-IDF Feature Extraction
- Multiple ML Model Comparison
- Interactive Streamlit Web App
- Confusion Matrix Visualization
- Word Cloud Visualization
- Deployed Online
- Data Collection
- Data Cleaning
- Text Preprocessing
- Lowercasing
- Removing punctuation
- Removing stopwords
- Lemmatization
- Feature Extraction using TF-IDF
- Train-Test Split
- Model Training
- Model Evaluation
- Model Comparison
- Model Saving using Joblib
- Streamlit Deployment
- Naive Bayes
- Logistic Regression
- Linear Support Vector Machine (Linear SVM)
Among all models, Linear SVM achieved the best performance and was selected for deployment.
- Python
- Scikit-learn
- Pandas
- NumPy
- NLTK
- Matplotlib
- WordCloud
- Joblib
- Streamlit
The landing page of the Streamlit application.
Predicting ticket category and priority for a technical support issue.
Prediction for another customer support ticket.
Comparison of classification accuracy across different machine learning models.
Evaluation of the final Linear SVM model.
Most frequently occurring words after preprocessing.
Support-Ticket-Classification/
│
├── Dataset/
│
├── models/
│ ├── classifier.pkl
│ └── vectorizer.pkl
│
├── notebook/
│
├── screenshots/
│ ├── home.png
│ ├── prediction1.png
│ ├── prediction2.png
│ ├── model_comparison.png
│ ├── confusion_matrix.png
│ └── wordcloud.png
│
├── app.py
├── requirements.txt
└── README.md
Clone the repository
git clone https://github.com/saktronX/FUTURE_ML_02.gitMove into the project folder
cd FUTURE_ML_02Install dependencies
pip install -r requirements.txtRun the Streamlit application
streamlit run app.pyThe dataset contains customer support tickets with the following information:
- Ticket Text
- Ticket Category
- Ticket Priority
Example categories include:
- Technical Issue
- Billing Inquiry
- Product Inquiry
- Cancellation Request
- Refund Request
Priority levels include:
- Low
- Medium
- High
- Critical
- Successfully trained multiple ML models.
- Compared model performance.
- Selected Linear SVM for deployment.
- Built a fully functional Streamlit application.
- Predicted both ticket category and priority.
- Successfully deployed online.
- Deep Learning models (LSTM/BERT)
- Confidence score for predictions
- Multi-language ticket classification
- Automatic ticket routing
- Email integration
- Cloud database support
Saksham Verma
GitHub: https://github.com/saktronX
This project is developed for educational purposes as part of the Future Interns Machine Learning Internship Program.





