Downloads · 30 days
11
2% of all-time downloads
SwaKyxd/resume-analyser-bert
resume-analyser-bert is a text classification model from SwaKyxd. Use it when you need a label for a piece of text. The card lists the license as mit.
This is a fine-tuned BERT-base-uncased model for classifying resumes into 25 different job categories. The model achieved 100% validation accuracy on the test dataset.
Downloads · 30 days
11
2% of all-time downloads
All-time downloads
555
Public
Parameters
110M
438 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors438 MB · 100%
From the Hugging Face model README
This is a fine-tuned BERT-base-uncased model for classifying resumes into 25 different job categories. The model achieved 100% validation accuracy on the test dataset.
This model is designed to automatically classify resumes into job categories based on their content. It can be used for:
The model was trained on the Resume Dataset containing:
Data Science, Java Developer, Testing, DevOps Engineer, Python Developer, Web Developer, HR, Hadoop, Blockchain, ETL Developer, Operations Manager, Sales, Mechanical Engineer, Arts, Database, Electrical Engineering, Health and Fitness, PMO, Business Analyst, DotNet Developer, Automation Testing, Network Security Engineer, SAP Developer, Civil Engineer, Advocate
| Epoch | Training Loss | Validation Loss | Validation Accuracy | MCC Score |
|---|---|---|---|---|
| 1 | 2.6037 | 1.1563 | 53.37% | 0.4993 |
| 2 | 0.9651 | 0.2858 | 98.96% | 0.9891 |
| 3 | 0.5804 | 0.2782 | 100.00% | 1.0000 |
| 4 | 0.4473 | 0.2774 | 100.00% | 1.0000 |
| 5 | 0.3604 | 0.2767 | 100.00% | 1.0000 |
Training Time: ~72 minutes for 5 epochs
The model achieved perfect classification on the validation set, correctly identifying all 193 test resumes.
pip install transformers torch
from transformers import BertForSequenceClassification, BertTokenizer
import torch
# Load model and tokenizer
model = BertForSequenceClassification.from_pretrained('SwaKyxd/resume-analyser-bert')
tokenizer = BertTokenizer.from_pretrained('SwaKyxd/resume-analyser-bert')
# Set device
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
model.to(device)
model.eval()
# Example resume text
resume_text = """
Skills: Python, Machine Learning, Deep Learning, PyTorch, TensorFlow, NLP
Experience: 3 years in Data Science and AI model development
Projects: Built recommendation systems, sentiment analysis models
Education: Masters in Computer Science
"""
# Tokenize
inputs = tokenizer(
resume_text,
return_tensors='pt',
max_length=200,
padding='max_length',
truncation=True
)
# Move to device
inputs = {k: v.to(device) for k, v in inputs.items()}
# Predict
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.argmax(outputs.logits, dim=1)
probabilities = torch.softmax(outputs.logits, dim=1)
confidence = probabilities[0][predictions[0]].item()
# Category mapping (example - adjust based on your label encoder)
categories = [
"Data Science", "Java Developer", "Testing", "DevOps Engineer",
"Python Developer", "Web Developer", "HR", "Hadoop", "Blockchain",
"ETL Developer", "Operations Manager", "Sales", "Mechanical Engineer",
"Arts", "Database", "Electrical Engineering", "Health and Fitness",
"PMO", "Business Analyst", "DotNet Developer", "Automation Testing",
"Network Security Engineer", "SAP Developer", "Civil Engineer", "Advocate"
]
print(f"Predicted Category: {categories[predictions.item()]}")
print(f"Confidence: {confidence:.2%}")
resumes = [
"Python developer with 5 years experience in Django and Flask...",
"Experienced data scientist with expertise in machine learning...",
"Java backend developer skilled in Spring Boot and microservices..."
]
# Tokenize batch
inputs = tokenizer(
resumes,
return_tensors='pt',
max_length=200,
padding='max_length',
truncation=True
)
inputs = {k: v.to(device) for k, v in inputs.items()}
# Predict
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.argmax(outputs.logits, dim=1)
for i, pred in enumerate(predictions):
print(f"Resume {i+1}: {categories[pred.item()]}")
BertForSequenceClassification(
(bert): BertModel(
12 transformer layers
768 hidden dimensions
12 attention heads
110M parameters
)
(dropout): Dropout(p=0.1)
(classifier): Linear(768 -> 25)
)
If you use this model in your research or application, please cite:
@misc{resume-analyser-bert,
author = {Sayan Mahalik},
title = {Resume Analyser - BERT for Job Category Classification},
year = {2025},
publisher = {HuggingFace},
url = {https://huggingface.co/SwaKyxd/resume-analyser-bert}
}
For questions, issues, or feedback:
This model is released under the MIT License. See the LICENSE file for details.
Model Card Version: 1.0
Last Updated: November 2025