Skip to content

Metzo64/AI-Resume-Analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– AI Resume Analyzer

An intelligent resume analysis system powered by deep learning and natural language processing. Upload your resume, select a target job role, and get instant AI-powered insights including category classification, job match scoring, and skill extraction.

Python Flask PyTorch License


✨ Features

  • πŸ” Smart Resume Parsing - Extracts skills, email, and key information using NLP
  • 🎯 AI Classification - BERT-based deep learning model categorizes resumes into 24 professional domains
  • πŸ“Š Job Matching - Semantic similarity analysis provides 0-100% compatibility scores
  • 🎨 Modern UI - Beautiful, professional interface with glassmorphism design
  • πŸ”— REST API - JSON-based API for programmatic access

πŸš€ Quick Start

1. Install Dependencies

pip install -r requirements.txt

2. Train the Model

python train_model.py

⏱️ Takes 30-60 minutes on CPU

3. Run the Application

python app.py

4. Open in Browser

http://localhost:5000

πŸ“‹ Requirements

  • Python 3.7+
  • 2GB free disk space
  • Internet connection (for initial model downloads)

🎯 How It Works

  1. Upload Resume - Drag and drop or click to upload (TXT, PDF, DOC, DOCX)
  2. Select Job Role - Choose target position from dropdown
  3. Get Results - View category, match score, skills, and recommendations

🧠 Technology Stack

  • Backend: Flask, Python
  • Deep Learning: PyTorch, BERT, Sentence-BERT
  • NLP: NLTK, HuggingFace Transformers
  • Data: Pandas, NumPy, Scikit-learn
  • Frontend: HTML5, CSS3, JavaScript

πŸ“Š Model Performance

  • Classification Accuracy: 85-90%
  • Categories: 24 professional domains
  • Skills Detected: 50+ technical and soft skills
  • Inference Time: 2-3 seconds per resume

🎨 Screenshots

Home Page

Beautiful gradient background with glassmorphism effects and easy file upload.

Results Page

Comprehensive analysis with category, match score, skills, and actionable recommendations.


πŸ“– Documentation

For detailed documentation including architecture, API reference, and training process, see PROJECT_DOCUMENTATION.md.


πŸ”§ Configuration

Change Port

Edit app.py:

app.run(debug=True, port=5001)  # Change from 5000 to 5001

Adjust Training

Edit train_model.py:

classifier.train(
    csv_path='data/Resume.csv',
    epochs=3,        # Increase epochs
    batch_size=8,    # Increase if you have more RAM
    learning_rate=2e-5
)

πŸ› Troubleshooting

Model Not Found

python train_model.py

Out of Memory

Reduce batch size in train_model.py:

batch_size=2  # Instead of 4

Port Already in Use

Change port in app.py or kill existing process.


πŸ“ Project Structure

resume_project/
β”œβ”€β”€ data/                    # Datasets
β”‚   β”œβ”€β”€ Resume.csv          # Resume training data
β”‚   └── job_title_des.csv   # Job descriptions
β”œβ”€β”€ models/                  # Trained models (created after training)
β”œβ”€β”€ modules/                 # Core modules
β”‚   β”œβ”€β”€ parser.py           # Resume parsing
β”‚   β”œβ”€β”€ classifier.py       # BERT classification
β”‚   └── matcher.py          # Job matching
β”œβ”€β”€ static/                  # CSS files
β”œβ”€β”€ templates/               # HTML templates
β”œβ”€β”€ app.py                   # Flask application
β”œβ”€β”€ train_model.py          # Training script
└── requirements.txt        # Dependencies

πŸŽ“ Categories

The system classifies resumes into 24 professional domains:

ACCOUNTANT, ADVOCATE, AGRICULTURE, APPAREL, ARTS, AUTOMOBILE, AVIATION, BANKING, BPO, BUSINESS-DEVELOPMENT, CHEF, CONSTRUCTION, CONSULTANT, DESIGNER, DIGITAL-MEDIA, ENGINEERING, FINANCE, FITNESS, HEALTHCARE, HR, INFORMATION-TECHNOLOGY, PUBLIC-RELATIONS, SALES, TEACHER


πŸ”— API Usage

Endpoint

POST /api/analyze
Content-Type: application/json

Request

{
  "resume_text": "Your resume text here...",
  "job_description": "Job description here..."
}

Response

{
  "category": "INFORMATION-TECHNOLOGY",
  "match_score": 85.5,
  "skills": ["Python", "Machine Learning", "TensorFlow"],
  "email": "example@email.com"
}

πŸ‘₯ Team

Developed By:


πŸ“„ License

This project is licensed under the MIT License.


πŸ™ Acknowledgments

  • BERT: Google's Bidirectional Encoder Representations from Transformers
  • Sentence-BERT: Sentence embeddings using Siamese BERT networks
  • HuggingFace: Transformers library and model hub
  • NLTK: Natural Language Toolkit

πŸ“ž Support

For issues, questions, or contributions, please refer to the PROJECT_DOCUMENTATION.md file.


Β© 2024 AI Resume Analyzer - Powered by BERT, Sentence-BERT, and NLP

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors