Resume-Job Fit Classifier (DistilBERT)

distilbert-base-uncased fine-tuned as a 3-class sequence-pair classifier that scores how well a resume fits a job description. Built for Northeastern IE 7500 (Applied NLP). Powers the Resume Job Fit Matcher Space.

Usage

Pass the resume as the first sequence and the job description as the second.

from transformers import AutoModelForSequenceClassification, AutoTokenizer

tok = AutoTokenizer.from_pretrained("domynom/resume-job-distilbert")
model = AutoModelForSequenceClassification.from_pretrained("domynom/resume-job-distilbert")

inputs = tok(resume_text, job_text, truncation=True, max_length=512,
             return_tensors="pt")
pred = model(**inputs).logits.argmax(-1).item()
print(model.config.id2label[pred])

Labels

Label order is authoritative in config.json — read id2label rather than assuming positional order:

  • 0 -> No Fit
  • 1 -> Potential Fit
  • 2 -> Good Fit

Training

Fine-tuned on cnamuangtoun/resume-job-description-fit. The dataset's own test split is held out for final evaluation; a 90/10 split of train supplies validation.

Setting Value
Base model distilbert-base-uncased
Learning rate 1e-5
Epochs 8
Batch size 8
Weight decay 0.01
Max sequence length 512
Precision fp16
Seed 52

Reproduce with python scripts/train_distilbert.py from the project repo.

Evaluation

Held-out test split of the same dataset:

Metric Score
Accuracy 0.5020
Macro F1 0.4315
Weighted F1 0.4777
Macro precision 0.4544
Macro recall 0.4325

Limitations

Fit on this dataset is genuinely hard and the scores above are close to the three-class floor — treat a single prediction as a weak signal, not a verdict. In the project's own evaluation a TF-IDF baseline matched or beat this model on macro-F1, so the model is published as one comparison point among several rather than as a best-in-class scorer. It inherits whatever role, seniority, and demographic bias exists in the underlying postings, and it has not been audited for disparate impact. Do not use it to screen real candidates.

Downloads last month
48
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 domynom/resume-job-distilbert

Finetuned
(12298)
this model

Dataset used to train domynom/resume-job-distilbert

Space using domynom/resume-job-distilbert 1