Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📄 Resume Screening System using Machine Learning

📌 Project Overview

The Resume Screening System is an NLP-based Machine Learning project that automates the resume screening process by analyzing resumes, extracting technical skills, comparing them with a job description, calculating similarity scores using TF-IDF and Cosine Similarity, identifying missing skills, and ranking candidates based on job relevance.

This project was developed as part of Machine Learning Task 3 during my internship at Future Interns.


🎯 Objectives

  • Automate resume screening
  • Extract technical skills using NLP
  • Compare resumes with job descriptions
  • Rank candidates based on similarity
  • Identify missing skills
  • Visualize candidate rankings

🚀 Features

  • ✅ Resume text preprocessing
  • ✅ NLP-based skill extraction
  • ✅ TF-IDF Vectorization
  • ✅ Cosine Similarity Matching
  • ✅ Candidate Ranking
  • ✅ Skill Gap Analysis
  • ✅ Data Visualization

🛠️ Tech Stack

  • Python
  • Pandas
  • NumPy
  • NLTK
  • Scikit-learn
  • Matplotlib
  • Regular Expressions (re)

📂 Dataset

The dataset contains 2484 resumes from multiple domains, including:

  • Information Technology
  • HR
  • Engineering
  • Finance
  • Banking
  • Healthcare
  • Sales
  • Teacher
  • Business Development
  • And more...

Each record contains:

  • Resume Text
  • Resume HTML
  • Resume Category

⚙️ Project Workflow

Resume Dataset
        │
        ▼
Data Preprocessing
        │
        ▼
Skill Extraction
        │
        ▼
Job Description Processing
        │
        ▼
TF-IDF Vectorization
        │
        ▼
Cosine Similarity
        │
        ▼
Resume Ranking
        │
        ▼
Skill Gap Analysis
        │
        ▼
Visualization

📸 Project Screenshots

1️⃣ Candidate Ranking

The system ranks resumes based on similarity with the job description.

Candidate Ranking


2️⃣ Skill Extraction

Technical skills extracted automatically from resumes using NLP.

Skill Extraction


3️⃣ Match Score Visualization

Visualization of similarity scores for the top-ranked candidates.

Match Scores


📊 Sample Output

Category Match Score Skills Extracted
Information Technology 92.4% Python, SQL, Git
Data Science 88.7% Python, Pandas, ML
HR 63.2% Communication, Excel

📁 Project Structure

FUTURE_ML_03
│
├── dataset/
│   ├── data/
│   └── Resume/
│       └── Resume.csv
│
├── notebook/
│   └── Resume_Screening.ipynb
│
├── screenshots/
│   ├── candidate_ranking.png
│   ├── skill_extraction.png
│   └── match_scores.png
│
├── requirements.txt
├── README.md
└── .gitignore

▶️ Installation

Clone the repository

git clone https://github.com/prav-tech/FUTURE_ML_03.git

Go to the project folder

cd FUTURE_ML_03

Install dependencies

pip install -r requirements.txt

Run Jupyter Notebook

jupyter notebook

Open

Resume_Screening.ipynb

📌 Future Improvements

  • Streamlit Web Application
  • Resume PDF Upload
  • ATS Score Prediction
  • Semantic Matching using BERT
  • Resume Parser with spaCy
  • Multi-Job Description Support

📚 Learning Outcomes

This project helped me gain hands-on experience in:

  • Natural Language Processing (NLP)
  • Resume Text Preprocessing
  • TF-IDF Vectorization
  • Cosine Similarity
  • Feature Extraction
  • Candidate Ranking
  • Skill Gap Analysis
  • Data Visualization

👩‍💻 Author

Pravallika B

B.Tech Computer Science & Engineering

Machine Learning Intern @ Future Interns

GitHub: https://github.com/prav-tech


⭐ Acknowledgement

This project was completed as part of the Machine Learning Internship Program at Future Interns.

About

Machine Learning-based Resume Screening System using NLP, TF-IDF and Cosine Similarity

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors