🎫 Call Center Ticket Classifier
Ce modèle classifie automatiquement les tickets de support client en 8 catégories.
📊 Catégories
Le modèle peut classifier les tickets dans les catégories suivantes :
- Hardware
- Access
- Miscellaneous
- HR Support
- Purchase
- Administrative rights
- Storage
- Internal Project
🚀 Utilisation
Installation
pip install transformers torch
Code Example
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
# Charger le modèle et le tokenizer
model_name = "Kahouli/callcenter-ticket-classifier" if self.username else "callcenter-ticket-classifier"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
# Fonction de prédiction
def classify_ticket(text):
inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True, max_length=128)
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
predicted_class_id = predictions.argmax().item()
confidence = predictions[0][predicted_class_id].item()
return {
"category": model.config.id2label[predicted_class_id],
"confidence": confidence
}
# Exemple
ticket_text = "Mon ordinateur ne démarre plus"
result = classify_ticket(ticket_text)
print(f"Catégorie: {result['category']}")
print(f"Confiance: {result['confidence']:.2%}")
API REST avec FastAPI
from fastapi import FastAPI
from pydantic import BaseModel
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
app = FastAPI()
# Charger le modèle au démarrage
model_name = "Kahouli/callcenter-ticket-classifier" if self.username else "callcenter-ticket-classifier"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
class TicketRequest(BaseModel):
text: str
class TicketResponse(BaseModel):
category: str
confidence: float
@app.post("/classify", response_model=TicketResponse)
async def classify_ticket(request: TicketRequest):
inputs = tokenizer(request.text, return_tensors="pt", padding=True, truncation=True, max_length=128)
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
predicted_class_id = predictions.argmax().item()
confidence = predictions[0][predicted_class_id].item()
return TicketResponse(
category=model.config.id2label[predicted_class_id],
confidence=confidence
)
🎯 Performance
Le modèle a été entraîné sur un dataset de tickets de support client et atteint de bonnes performances sur les tâches de classification multi-classe.
🏗️ Architecture
- Base Model:
distilbert-base-multilingual-cased - Task: Sequence Classification
- Languages: Multilingue (principalement français et anglais)
- Max Length: 128 tokens
- Number of Classes: 8
📦 Model Details
- Developed by: [Votre Nom]
- Model type: DistilBERT for Sequence Classification
- Language(s): Multilingual
- License: Apache 2.0
- Finetuned from:
distilbert-base-multilingual-cased
🔧 Training
Le modèle a été fine-tuné avec les hyperparamètres suivants :
- Learning Rate: 2e-5
- Batch Size: 16
- Epochs: 3
- Weight Decay: 0.01
⚠️ Limitations et Biais
- Le modèle a été entraîné sur un dataset spécifique et peut ne pas bien généraliser à tous les types de tickets
- Les performances peuvent varier selon la longueur et la complexité du texte
- Le modèle est optimisé pour le français et l'anglais
📝 Citation
Si vous utilisez ce modèle dans vos recherches, veuillez citer :
@misc{callcenter-ticket-classifier,
author = {Votre Nom},
title = {Call Center Ticket Classifier},
year = {2025},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/Kahouli/callcenter-ticket-classifier}}
}
🤝 Contributions
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou une pull request.
📧 Contact
Pour toute question ou suggestion, contactez-moi via [votre email ou profil].
- Downloads last month
- 103
Evaluation results
- Accuracyself-reported0.950
- F1 Scoreself-reported0.940