Banking77 Intent Classifier (DistilBERT)

DistilBERT fine-tuned to classify customer messages into 77 banking intents (e.g. card_arrival, top_up_failed, pending_transfer).

Results (test set, 3,076 examples)

Model Accuracy Macro-F1
TF-IDF + Logistic Regression 0.8898 0.8899
BGE-small embeddings + Logistic Regression 0.9311 0.9310
DistilBERT (this model) 0.9217 0.9217

Training

  • Base model: distilbert-base-uncased
  • Data: mteb/banking77, 90/10 train/validation split (stratified), test set held out
  • 5 epochs, learning rate 5e-5, batch size 32, max length 64, fp16 on a T4 GPU
  • Best epoch selected by validation macro-F1

Usage

from transformers import pipeline
clf = pipeline("text-classification", model="MithunKaveriappa/banking77-distilbert", top_k=3)
print(clf("My card has not arrived yet"))

Limitations

  • Trained only on short English banking messages.
  • Always predicts one of the 77 known intents, even for unrelated text, so low confidence scores should be treated as "unknown".
  • Several intents overlap (e.g. top-up failed vs. reverted), which causes most errors.
Downloads last month
32
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 MithunKaveriappa/banking77-distilbert

Finetuned
(12825)
this model

Dataset used to train MithunKaveriappa/banking77-distilbert