🎫 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
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Evaluation results