--- 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/)