A Machine learnin support ticket simulator built with Python and Gradio. It reads a customer message, predicts which team should handle it, assigns a priority, and keeps track of the ticket.
- Classifies tickets as Account, Technical, or Billing
- Routes tickets to the corresponding support team
- Assigns High or Normal priority using issue-specific keyword rules
- Creates a ticket ID and timestamp
- Shows ticket history, status, and dashboard totals
- Lets users change a ticket's status to Open, In Progress, or Resolved
- Saves category corrections for later review
The category classifier uses TF-IDF and logistic regression. Priority is assigned separately through keyword rules, and the support team is selected from the predicted category.
The notebook evaluates the classifier on 19 held-out tickets from an initial set of 75 written examples. It reports 94.74% accuracy on that small test set. The app's final model is then trained on all 75 examples plus 10 additional settings-related examples. The reported score does not independently evaluate that final model or predict its performance on real customer tickets.
Watch the linked video for a video demo of the UI: https://youtu.be/HIT07Yo8qes
- Open
model_training.ipynb(1)in Google Colab or Jupyter. - Run the cells in order.
- Open the Gradio link displayed by the final cell.
- Enter a sample message or write your own.
If running locally, install the dependencies first:
pip install -r requirements.txt

