learn-abc's picture
update username
9775861 verified
---
library_name: transformers
tags: []
---
# MagicSupport Intent Classifier (BERT Fine-Tuned)
## Overview
This model is a fine-tuned `bert-base-uncased` model for multi-class intent classification in customer support environments.
It is optimized for:
* Fast inference
* High accuracy
* Low deployment cost
* Production-ready intent routing for support systems
The model is designed for the MagicSupport platform but is generalizable to structured customer support intent detection tasks.
---
## Model Details
* Base Model: `bert-base-uncased`
* Architecture: `BertForSequenceClassification`
* Task: Multi-class intent classification
* Number of Intents: 28
* Training Dataset: `bitext/Bitext-customer-support-llm-chatbot-training-dataset`
* Loss: CrossEntropy with class weights
* Framework: Hugging Face Transformers (PyTorch)
---
## Performance
### Validation Metrics (Epoch 5)
* Accuracy: **0.9983**
* F1 Micro: **0.9983**
* F1 Macro: **0.9983**
* Validation Loss: **0.0087**
The model demonstrates strong generalization and stable convergence across 5 epochs.
---
## Example Predictions
| Query | Predicted Intent | Confidence |
| ------------------------------------- | ---------------- | ---------- |
| I want to cancel my order | cancel_order | 0.999 |
| How do I track my shipment | delivery_options | 0.997 |
| I need a refund for my purchase | get_refund | 0.999 |
| I forgot my password | recover_password | 0.999 |
| I have a complaint about your service | complaint | 0.996 |
| hello | FALLBACK | 0.999 |
The model also correctly identifies low-information inputs and maps them to a fallback intent.
---
## Intended Use
This model is intended for:
* Customer support intent classification
* Chatbot routing
* Support ticket categorization
* Voice-to-intent pipelines (after STT)
* Pre-routing before LLM or RAG systems
Typical production flow:
User Query → BERT Intent Classifier → Route to:
* Knowledge Base Retrieval
* Ticketing System
* Escalation to Human
* Fallback LLM
---
## Example Usage
```python
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
# Load model and tokenizer from HuggingFace Hub
model_name = "learn-abc/magicSupport-intent-classifier"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
# Set device
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
model.eval()
# Prediction function
def predict_intent(text, confidence_threshold=0.75):
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=64)
inputs = {k: v.to(device) for k, v in inputs.items()}
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
probs = torch.softmax(logits, dim=-1)
confidence, prediction = torch.max(probs, dim=-1)
predicted_intent = model.config.id2label[prediction.item()]
confidence_score = confidence.item()
# Apply confidence threshold
if confidence_score < confidence_threshold:
predicted_intent = "FALLBACK"
return {
"intent": predicted_intent,
"confidence": confidence_score
}
# Example usage
queries = [
"I want to cancel my order",
"How do I track my package",
"I need a refund",
"hello there"
]
for query in queries:
result = predict_intent(query)
print(f"Query: {query}")
print(f"Intent: {result['intent']}")
print(f"Confidence: {result['confidence']:.3f}\n")
```
---
## Design Decisions
* BERT selected over larger LLMs for:
* Low latency
* Cost efficiency
* Predictable inference
* Edge deployability
* Class weighting applied to mitigate dataset imbalance.
* High confidence outputs indicate strong separation between intent classes.
---
## Known Limitations
* Designed for structured customer support queries.
* May struggle with:
* Highly conversational multi-turn context
* Extremely domain-specific enterprise terminology
* Heavy slang or multilingual input
* Not trained for open-domain conversation.
---
## Future Improvements
* Add MagicSupport real production data for domain adaptation.
* Add hierarchical intent structure.
* Introduce confidence threshold calibration.
* Add OOD (Out-of-Distribution) detection.
* Quantized inference version for edge deployment.
---
## License
Specify your intended license here (e.g., MIT, Apache-2.0).
---
## Citation
If using this model in research or production, please cite appropriately.
---
## Model Card Author
For any inquiries or support, please reach out to:
* **Author:** [Abhishek Singh](https://github.com/SinghIsWriting/)
* **LinkedIn:** [My LinkedIn Profile](https://www.linkedin.com/in/abhishek-singh-bba2662a9)
* **Portfolio:** [Abhishek Singh Portfolio](https://portfolio-abhishek-singh-nine.vercel.app/)