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 Fit1-> Potential Fit2-> 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
Model tree for domynom/resume-job-distilbert
Base model
distilbert/distilbert-base-uncased