π« IT Support Ticket Classifier
Fine-tuned DistilBERT model for automatic classification of IT support tickets into predefined categories.
π― Model Description
This model classifies IT support tickets into different categories to help route them to the appropriate support team. It's based on DistilBERT (distilbert-base-uncased), a lighter and faster version of BERT, making it ideal for production environments.
Key Features:
- β‘ Fast inference (DistilBERT architecture)
- π― 89% accuracy on test set
- π§ Ready for production deployment
- π¦ Easy integration with Transformers pipeline
π Performance
| Metric | Score |
|---|---|
| Accuracy | 89% |
| F1-Score | 0.88 |
| Precision | 0.87 |
| Recall | 0.89 |
π Quick Start
Installation
pip install transformers torch
Usage
from transformers import pipeline
# Load the classifier
classifier = pipeline(
"text-classification",
model="jeremiasdavison/it-support-ticket-classifier"
)
# Classify a ticket
ticket = "My laptop won't connect to the office WiFi network"
result = classifier(ticket)
print(result)
# Output: [{'label': 'NETWORK', 'score': 0.95}]
Get All Class Probabilities
classifier = pipeline(
"text-classification",
model="jeremiasdavison/it-support-ticket-classifier",
return_all_scores=True
)
ticket = "I forgot my password and can't log into the system"
results = classifier(ticket)[0]
for result in results:
print(f"{result['label']}: {result['score']:.2%}")
π·οΈ Categories
The model classifies tickets into the following categories:
- Hardware - Physical device issues (laptop, printer, monitor, etc.)
- Software - Application bugs, software errors, installation problems
- Network - WiFi, VPN, connectivity issues
- Account - Login problems, password resets, permissions
- General - General inquiries, documentation requests
π Training Data
The model was fine-tuned on the Tobi-Bueck/customer-support-tickets dataset:
- Total examples: ~61,800 tickets
- Filtered for: English language only
- Train/Val/Test split: 80/10/10
- Features: Subject + Body combined as input text
π οΈ Training Details
Hyperparameters
- Base model: distilbert-base-uncased
- Learning rate: 2e-5
- Batch size: 16
- Epochs: 3
- Optimizer: AdamW
- Max sequence length: 128 tokens
Framework
- Transformers 4.x
- PyTorch
- Trained on Google Colab (T4 GPU)
π Live Demo
Try the model in action: HuggingFace Space (coming soon)
π‘ Use Cases
- Automated ticket routing - Direct tickets to the right support team
- Priority detection - Identify urgent issues automatically
- Analytics - Understand ticket distribution by category
- Chatbot integration - Pre-classify user issues in conversational interfaces
β οΈ Limitations
- Trained primarily on synthetic IT support data
- Best performance on English-language tickets
- May require fine-tuning for domain-specific terminology
- Performance may vary on tickets with multiple issues
π€ Contributing
Feedback and contributions are welcome! If you encounter issues or have suggestions:
- Open an issue on the model repository
- Reach out via the community tab
π License
MIT License - feel free to use this model in your projects.
π Acknowledgments
- Dataset: Tobi-Bueck/customer-support-tickets
- Base model: DistilBERT by Hugging Face
- Built with Transformers
π« Contact
Jeremias Davison
- HuggingFace: @jeremiasdavison
- LinkedIn: linkedin.com/in/jeremiasdavison
This model was created as a portfolio project to demonstrate end-to-end ML workflow: from dataset selection to model training and deployment.
- Downloads last month
- 22
Dataset used to train jeremiasdavison/it-support-ticket-classifier
Space using jeremiasdavison/it-support-ticket-classifier 1
Evaluation results
- Accuracyself-reported0.890