Downloads · 30 days
15
19% of all-time downloads
Joshuant/resume-ner-distilbert
resume-ner-distilbert is a token classification model from Joshuant. Use it when you need labels on individual words, such as names. It is set up for transformers. The card lists the license as apache-2.0.
This is a fine-tuned Named Entity Recognition (NER) model for extracting structured information from resumes. The model is trained using Fine-tuning with LoRA on a distilbert-base-uncased backbone.
Downloads · 30 days
15
19% of all-time downloads
All-time downloads
80
Public
Parameters
66.4M
266 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors266 MB · 100%
From the Hugging Face model README
This is a fine-tuned Named Entity Recognition (NER) model for extracting structured information from resumes. The model is trained using Fine-tuning with LoRA on a distilbert-base-uncased backbone.
| Entity Type | Description | Example |
|---|---|---|
| NAME | Person's name | "John Doe" |
| Email address | "[email protected]" | |
| PHONE | Phone number | "+1 555-123-4567" |
| LOCATION | Geographic location | "San Francisco, CA" |
| ORG | Organization/Company | "Google Inc." |
| TITLE | Job title | "Senior Software Engineer" |
| DEGREE | Academic degree | "Bachelor of Science in Computer Science" |
| SKILL | Technical or soft skill | "Python", "Machine Learning" |
| CERT | Certification | "AWS Solutions Architect" |
| DATE | Date or time period | "2020-2023", "January 2022" |
| Metric | Validation Set |
|---|---|
| Precision | 0.2189 |
| Recall | 0.2037 |
| F1-Score | 0.2110 |
from transformers import pipeline
# Load the model
ner = pipeline("ner", model="Joshuant/resume-ner-distilbert", aggregation_strategy="simple")
# Extract entities from resume text
text = """
John Doe
Email: [email protected]
Phone: +1 555-123-4567
EDUCATION
Bachelor of Science in Computer Science, MIT, 2020
EXPERIENCE
Senior Software Engineer at Google, 2020-2023
- Developed ML pipelines using Python and TensorFlow
"""
entities = ner(text)
for entity in entities:
print(f"{entity['entity_group']}: {entity['word']} (score: {entity['score']:.3f})")
from transformers import AutoTokenizer, AutoModelForTokenClassification
import torch
# Load model and tokenizer
tokenizer = AutoTokenizer.from_pretrained("Joshuant/resume-ner-distilbert")
model = AutoModelForTokenClassification.from_pretrained("Joshuant/resume-ner-distilbert")
# Tokenize input
text = "John Doe, Senior Software Engineer at Google"
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512)
# Run inference
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.argmax(outputs.logits, dim=-1)
# Decode predictions
tokens = tokenizer.convert_ids_to_tokens(inputs["input_ids"][0])
labels = [model.config.id2label[p.item()] for p in predictions[0]]
for token, label in zip(tokens, labels):
if label != "O":
print(f"{token}: {label}")
If you use this model in your research, please cite:
@misc{resume_ner_slm_2026,
title={Context-Aware Resume NER with Small Language Models},
author={Research Team},
year={2026},
howpublished={\url{https://huggingface.co/Joshuant/resume-ner-distilbert}}
}
This model is released under the apache-2.0 license.
Model trained on 2026-01-08