File size: 3,098 Bytes
2162b17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38d6a05
2162b17
 
f0b009f
 
2162b17
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# Resume Analyzer & Job Match System

AI-powered resume analysis tool using NLP and deep learning to compare resumes with job descriptions and provide detailed matching scores.

## πŸ“‹ Table of Contents
- [Overview](#overview)
- [Features](#features)
- [Technology Stack](#technology-stack)
- [Installation](#installation)
- [Usage](#usage)
- [How It Works](#how-it-works)
- [API Endpoints](#api-endpoints)
- [Deployment](#deployment)
- [Author](#author)

## 🎯 Overview

This application analyzes resumes against job descriptions using state-of-the-art NLP models to provide:
- Overall compatibility scores
- Section-by-section analysis
- Keyword matching
- Skill gap identification
- Improvement suggestions

Built with Gradio for an interactive web interface and optimized for deployment on Hugging Face Spaces.

## ✨ Features

- **Multi-Model Analysis**: Uses BERT, Sentence Transformers, and TF-IDF for comprehensive matching
- **Document Support**: Accepts PDF and DOCX formats for both resumes and job descriptions
- **Detailed Scoring**: Provides scores for:
  - Overall match percentage
  - Skills alignment
  - Experience relevance
  - Education compatibility
  - Keyword density
- **Visual Feedback**: Generates word clouds and similarity visualizations
- **API Support**: FastAPI endpoints for programmatic access
- **Cloud-Ready**: Optimized for Hugging Face Spaces deployment

## πŸ›  Technology Stack

### Core ML/NLP
- **PyTorch** - Deep learning framework
- **Transformers** (Hugging Face) - BERT models for contextual understanding
- **Sentence Transformers** - Semantic similarity with \`all-MiniLM-L6-v2\`
- **Scikit-learn** - TF-IDF vectorization and cosine similarity

### Document Processing
- **PyMuPDF (fitz)** - PDF text extraction
- **python-docx** - Word document processing

### Web Framework
- **Gradio** - Interactive web UI
- **FastAPI** - REST API endpoints
- **Uvicorn** - ASGI server

### Visualization
- **Matplotlib** - Plotting and charts
- **WordCloud** - Visual keyword representation

## πŸš€ Installation

### Prerequisites
- Python 3.8 or higher
- pip package manager
- 4GB+ RAM (for transformer models)

### Setup

1. Clone the repository:
\`\`\`bash
git clone https://github.com/pradyten/Resume-Comparator.git
cd Resume-Comparator
\`\`\`

2. Create a virtual environment (recommended):
\`\`\`bash
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
\`\`\`

3. Install dependencies:
\`\`\`bash
pip install -r requirements.txt
\`\`\`

**Note:** The installation may take several minutes as it downloads pre-trained transformer models (~400MB).

## πŸ‘¨β€πŸ’» Author

**Pradyumn Tendulkar**

Data Science Graduate Student | ML Engineer

- GitHub: [@pradyten](https://github.com/pradyten)
- LinkedIn: [Pradyumn Tendulkar](https://www.linkedin.com/in/p-tendulkar/)
- Email: pktendulkar@wpi.edu

---

⭐ If you found this project helpful, please consider giving it a star!

πŸ“ **License:** MIT

πŸ’‘ **Contributing:** Pull requests are welcome! For major changes, please open an issue first to discuss proposed changes.