Advance_ATS_System / README.md
MayankGupta06's picture
Upload 3 files
20a6f22 verified
# ATS Resume Scorer
An AI-powered tool to analyze resume-job description compatibility using ATS (Applicant Tracking System) scoring and skill matching.
## πŸš€ Features
- **PDF Resume Upload**: Extract text from PDF resumes using pdfplumber
- **Job Description Input**: Paste job descriptions for comparison
- **ATS Match Scoring**: Calculate similarity score using TF-IDF vectorization and cosine similarity
- **Skill Matching**: Identify matched and missing skills from a predefined list
- **Interactive UI**: Clean Streamlit interface with progress bars and color-coded tags
- **Error Handling**: Graceful handling of invalid PDFs, empty inputs, and extraction failures
## πŸ› οΈ Tech Stack
- **Frontend/UI**: Streamlit
- **PDF Processing**: pdfplumber
- **NLP Processing**: NLTK (tokenization, stopwords, lemmatization)
- **Machine Learning**: scikit-learn (TF-IDF, Cosine Similarity)
- **Python**: Core language
## πŸ“ Project Structure
```
ATS-Resume-Scorer/
β”œβ”€β”€ app.py # Main Streamlit application
β”œβ”€β”€ utils/
β”‚ β”œβ”€β”€ text_extraction.py # PDF text extraction utilities
β”‚ β”œβ”€β”€ preprocessing.py # Text preprocessing (lowercase, punctuation, stopwords, lemmatization)
β”‚ β”œβ”€β”€ scoring.py # ATS score calculation using TF-IDF and cosine similarity
β”‚ └── skill_matcher.py # Skill matching against predefined list
β”œβ”€β”€ data/
β”‚ └── skills.txt # Predefined list of skills for matching
β”œβ”€β”€ requirements.txt # Python dependencies
└── README.md # Project documentation
```
## πŸƒβ€β™‚οΈ How to Run Locally
1. **Clone or download the project**:
```bash
cd /path/to/your/workspace
# Place the ATS-Resume-Scorer folder here
```
2. **Install dependencies**:
```bash
cd ATS-Resume-Scorer
pip install -r requirements.txt
```
3. **Run the application**:
```bash
streamlit run app.py
```
4. **Open your browser** and go to `http://localhost:8501`
## ☁️ Deploy on Streamlit Cloud
1. **Fork or upload to GitHub**: Ensure all files are in a GitHub repository.
2. **Go to Streamlit Cloud**: Visit [share.streamlit.io](https://share.streamlit.io)
3. **Connect your GitHub repo**: Select the repository containing this project.
4. **Deploy**: Choose `app.py` as the main file and click deploy.
5. **Access your app**: Once deployed, you'll get a public URL to access the application.
## πŸ“ Usage
1. Upload a PDF resume using the file uploader.
2. Paste the job description text in the text area.
3. Click "Analyze" to get:
- ATS match score (0-100%)
- Visual progress bar
- Matched skills (green tags)
- Missing skills (red tags)
## πŸ”§ Customization
- **Skills List**: Edit `data/skills.txt` to add or modify the predefined skills for matching.
- **Preprocessing**: Modify `utils/preprocessing.py` to adjust text cleaning steps.
- **Scoring Algorithm**: Enhance `utils/scoring.py` for more advanced similarity measures.
## 🀝 Contributing
Feel free to fork this project and submit pull requests for improvements!
## πŸ“„ License
This project is open-source and available under the MIT License.