Skip to content

AI-powered ATS Resume Analyzer that evaluates resumes against job descriptions using NLP to improve candidate-job matching and ATS compatibility.

Notifications You must be signed in to change notification settings

jeevikar14/AdvancedAts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎯 Advanced ATS — AI-Powered Resume Screening & Job Matching

An intelligent AI-driven Applicant Tracking System helping job seekers and recruiters make fast, data-driven hiring decisions using machine learning, NLP, and embeddings.

📋 Overview

Advanced ATS combines resume scoring, classification, experience detection, job recommendations, and recruiter decision prediction to streamline the hiring process.

✨ Key Capabilities:

ATS Resume Scoring (0–100) with explainable breakdown

Automatic Resume Classification into 25 job categories

Experience-Level Detection: Entry / Mid / Senior

Job Recommendations filtered by skills, experience & location

AI Career Assistant for resume feedback

Recruiter Decision Prediction (hire/reject prioritization)

🚀 Features

Intelligent Resume Scoring: Keyword + semantic scoring with ML refinement

Resume Classification: TF-IDF + optimized classifiers for 25 categories

Experience Detection: Engineered features + PCA + K-Means clustering

Job Recommender: Real-time job search via SerpAPI

AI Career Assistant: Google Gemini-based feedback & suggestions

Recruiter Prediction: Embedding-based historical decision modeling

🔧 Tech Stack

ML / AI: scikit-learn, SentenceTransformers, NumPy, Pandas

LLM / Feedback: Google Gemini

Web / UI: Streamlit

Database: SQLite

APIs: SerpAPI (jobs), Google Generative AI (feedback)

🎯 Getting Started Prerequisites

Python 3.8+

Clone & Install git clone https://github.com/jeevikar14/AdvAts cd AdvAts pip install -r requirements.txt

Environment Variables

Create a .env file in the project root:

GEMINI_API_KEY=your_gemini_api_key_here SERPAPI_KEY=your_serpapi_key_here

Initialize DB & Train python setup_database.py python train_ats_score.py python resume_classifier.py python experience_classifier.py python train_recruitor_decision_model.py

Run App streamlit run app.py

🔍 How It Works

1️⃣ ATS Score Calculation

Keyword Matching (40%) → skills, experience, education

Semantic Similarity (60%) → embeddings via all-MiniLM-L6-v2

Weighted features → Random Forest predicts 0–100

2️⃣ Resume Classification

Preprocessing → TF-IDF (top 3k features) → optimized classifier → GridSearchCV

3️⃣ Experience Detection

Feature extraction → PCA → K-Means clustering → Entry / Mid / Senior

4️⃣ Job Recommendation

Query SerpAPI → filter by skills, experience, location

5️⃣ Recruiter Decision Prediction

Embeddings of resumes, JDs, transcripts → classifier → hire/reject prioritization

📊 Model Performance

ATS Scoring: R² ≈ 77.6%, MAE ≈ 4.59 (Random Forest)

Resume Classifier: Accuracy ≈ 99%, F1 ≈ 0.99 (LogReg)

Experience Clustering: Silhouette ≈ 0.41 (PCA + K-Means)

🎯 Use Cases

Job Seekers: Instant ATS score, actionable feedback, role matching

Recruiters: Automated screening, candidate ranking, experience filtering

🧪 Testing

Run system validation:

python test_system.py

Tests include imports, inference engine, Gemini integration, recommender, and database checks.

🤖 API Keys & Fallbacks

Google Gemini: Optional; fallback → rule-based feedback

SerpAPI: Optional; fallback → local job examples

📌 Notes

Resume DB → database/ats_db.sqlite

Uploaded files → uploads/

Predictions run locally (except optional API calls)

📄 Acknowledgments

Dataset: UpdatedResumeDataset.csv

Sentence Transformers by UKPLab

Google Gemini AI

SerpAPI for job search

About

AI-powered ATS Resume Analyzer that evaluates resumes against job descriptions using NLP to improve candidate-job matching and ATS compatibility.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published