CareerLens Resume-Job Fit Classifier
Fine-tuned version of jjzha/jobbert-base-cased (a BERT model continually pretrained on job postings) for 3-class resume-job description fit classification, built as the main model for the CareerLens capstone project (ULAB).
Labels
Good FitNo FitPotential Fit
Training data
Fine-tuned on cnamuangtoun/resume-job-description-fit (8,000 resume-JD pairs), using a custom resume-level group-stratified split to prevent the same candidate's resume from leaking across train/validation/test (the original dataset's official split had ~99.8% resume overlap between train and test).
- Train: 5,832 examples
- Validation: 1,156 examples
- Test: 1,011 examples (held out, zero resume overlap with train/val)
Evaluation results (held-out test set)
| Metric | Score |
|---|---|
| Accuracy | 63.60% |
| Macro F1 | 0.63 |
Trained for 8 epochs in a single continuous run. A 20-epoch extension was also tried but showed overfitting after epoch 12 with no statistically significant improvement, so the 8-epoch checkpoint (epoch 7) was kept as final.
Important: use with the skill-overlap safety net
Adversarial testing found this model alone has weak sensitivity to the job description —
it can rate an unrelated resume as "Good Fit". In the CareerLens pipeline, predictions from
this model are combined with an ESCO-based skill-overlap check (see careerlens_pipeline.py,
function predict_fit_safe) before being shown to users. Using this model's raw output
without that check is not recommended.
Usage
from transformers import AutoTokenizer, AutoModelForSequenceClassification
tokenizer = AutoTokenizer.from_pretrained("parvez30/careerlens-fit-classifier")
model = AutoModelForSequenceClassification.from_pretrained("parvez30/careerlens-fit-classifier")
inputs = tokenizer(resume_text, job_description_text, truncation=True, max_length=512, return_tensors="pt")
outputs = model(**inputs)
Limitations
Trained on a relatively small, English-only dataset skewed toward IT/Software job postings; performance on other industries or non-English resumes has not been validated. See the "safety net" note above regarding JD-sensitivity.
- Downloads last month
- 85
Model tree for parvez30/careerlens-fit-classifier
Base model
jjzha/jobbert-base-cased