How akif987/customer_support_ticket_category_prediction works
This repository is a customer-support ticket classifier with a Streamlit interface, a trainable TF-IDF/Logistic Regression model, and optional Groq-generated customer replies with rule-based fallback. The main workflow is ticket entry → category prediction → suggested response. Training and inference paths are represented separately. Source excerpts are partial; the preprocessing source refers to lowercase data/tickets.csv, while the tree lists Data/tickets.csv, so that dataset link is not asserted.
Main entry points: train.py Model trainer · app.py Streamlit app · predict.py Ticket predictor · classifier.pkl Model artifacts
Components 11
Ticket interface
- Streamlit app
src/app.py
Classification
- Ticket predictor
src/predict.py - Model artifacts
model/classifier.pkl - TF-IDF artifact
model/tfidf_vectorizer.pkl
Model training
- Data preparation
src/preprocessing.py - Ticket data
Data/tickets.csv - Model trainer
src/train.py
Response generation
- Suggested responses
src/predict.py - Rule-based replies
src/predict.py
Other components
- Support user
- Groq API
Connections 10
- Support user → Streamlit app: submits ticket
- Streamlit app → Ticket predictor: requests prediction
- Ticket predictor → Model artifacts: loads classifier
- Ticket predictor → TF-IDF artifact: loads vectorizer
- Streamlit app → Suggested responses: requests reply
- Suggested responses → Groq API: generates reply
- Suggested responses → Rule-based replies: uses fallback
- Model trainer → Data preparation: loads and splits
- Model trainer → Model artifacts: writes classifier
- Model trainer → TF-IDF artifact: writes vectorizer