Skip to content

VaishnavaDevi-R/Automated-Resume-Screening-Tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 AI Resume Screening System

An AI-powered Resume Screening Tool that analyzes, ranks, and shortlists candidates based on job descriptions using Natural Language Processing (NLP) and Machine Learning.


📌 Project Overview

This project automates the resume screening process by:

  • Extracting text from resumes (TXT, PDF, DOCX)
  • Identifying relevant skills using NLP
  • Matching resumes with job descriptions
  • Scoring and ranking candidates
  • Shortlisting top candidates automatically

🎯 Features

  • Resume Parsing (TXT, PDF, DOCX)
  • Skill Extraction using NLP
  • TF-IDF + Cosine Similarity
  • Candidate Ranking System
  • Automatic Shortlisting
  • Streamlit Interactive Dashboard
  • CSV Export of Results

🧠 Tech Stack

  • Python
  • Pandas, NumPy
  • Scikit-learn
  • spaCy (NLP)
  • pdfplumber, python-docx
  • Streamlit

⚙️ System Workflow

Resume Upload → Text Extraction → Cleaning → Skill Extraction → Matching → Scoring → Ranking → Shortlisting → Dashboard


📂 Project Structure

Automated-Resume-Screening-Tool/
│
├── data/
│   └── job_description.txt
│
├── docs/
│   ├── approach.md
│   ├── architecture.md
│   └── project_overview.md
│
├── images/
│   ├── dashboard.png
│   ├── ranking.png
│   ├── chart.png
│   ├── upload.png
│   └── csv_output.png
│
├── outputs/
│   └── results.csv
│
├── resumes/
│   ├── resume1.txt
│   ├── resume2.txt
│   ├── resume3.txt
│   ├── resume4.txt
│   ├── resume5.txt
│   ├── resume6.txt
│   └── resume7.txt
│
├── src/
│   ├── extractor.py
│   ├── scorer.py
│   └── utils.py
│
├── app.py
├── main.py
├── requirements.txt
├── .gitignore
└── README.md

🚀 How to Run

1️⃣ Clone the repository

git clone https://github.com/VaishnavaDevi-R/Automated-Resume-Screening-Tool.git
cd Automated-Resume-Screening-Tool

2️⃣ Create virtual environment

python -m venv venv
venv\Scripts\activate

3️⃣ Install dependencies

pip install -r requirements.txt
python -m spacy download en_core_web_sm

4️⃣ Run CLI version

python main.py

Output:

outputs/results.csv

5️⃣ Run Dashboard

streamlit run app.py

📊 Sample Output

Resume Score Status
resume1.txt 0.78 Shortlisted
resume2.txt 0.52 Shortlisted
resume3.txt 0.30 Rejected

📸 Screenshots

🖥 Dashboard

Dashboard

📋 Ranking Table

Ranking

📈 Score Chart

Chart

📂 Upload Section

Upload

📄 CSV Output

CSV


💡 Key Concepts Used

  • TF-IDF Vectorization
  • Cosine Similarity
  • NLP-based Skill Matching
  • Ranking Algorithms

🎯 Real-World Applications

  • Applicant Tracking Systems (ATS)
  • HR Automation
  • Resume Filtering Systems
  • Talent Analytics

🚀 Future Improvements

  • Deep Learning (BERT / Transformers)
  • Resume Feedback Suggestions
  • Skill Gap Analysis
  • Cloud Deployment
  • Explainable AI

👩‍💻 Author

Vaishnava Devi


🌟 Support

If you like this project:

⭐ Star this repo 🍴 Fork it 📢 Share it


About

AI-powered Resume Screening System using NLP and Machine Learning to analyze, rank, and shortlist candidates based on job descriptions with an interactive Streamlit dashboard.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages