Banking77 Intent Classifier

Fine-tuned DistilBERT on the Banking77 dataset for 77-class banking customer query intent classification.

Results

Metric Score
Accuracy 93.0%
Macro F1 93.0%

Evaluated on 3,076 test examples across 77 classes.

Usage

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

tokenizer = AutoTokenizer.from_pretrained("khaze0911/banking77-distilbert")
model = AutoModelForSequenceClassification.from_pretrained("khaze0911/banking77-distilbert")

inputs = tokenizer("How do I freeze my card?", return_tensors="pt")
with torch.no_grad():
    logits = model(**inputs).logits

predicted_class = model.config.id2label[logits.argmax().item()]
print(predicted_class)  # → "freeze_account" or similar

Training

  • Base model: distilbert-base-uncased
  • Epochs: 8
  • Batch size: 32
  • Learning rate: 3e-5
  • Max sequence length: 128
  • Optimizer: AdamW with linear warmup (5% warmup ratio)
  • Mixed precision: fp16

Limitations

The biggest confusion pairs in the test set (why_verify_identity ↔ verify_my_identity, pending_transfer ↔ transfer_not_received_by_recipient) appear to be labeling ambiguities in the source dataset rather than model failures.

Downloads last month
38
Safetensors
Model size
67M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for khaze0911/banking77-distilbert

Finetuned
(11771)
this model

Dataset used to train khaze0911/banking77-distilbert