A simple NLP-based system that analyzes resumes against job descriptions to provide optimization suggestions.
- PDF and DOCX resume parsing
- Job description analysis
- Skills matching
- Improvement recommendations
NLP_ATS/
├── src/
│ ├── parser.py # Document parsing
│ ├── matcher.py # Resume-job matching
│ └── constants.py # Predefined values
├── app.py # Streamlit interface
├── requirements.txt # Dependencies
└── README.md # Documentation
- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Download spaCy model:
python -m spacy download en_core_web_sm- Run the application:
streamlit run app.py- Upload your resume (PDF or DOCX)
- Paste the job description
- Get analysis results:
- Match score
- Skills comparison
- Improvement suggestions
- Python 3.8+
- spaCy for NLP
- scikit-learn for text matching
- Streamlit for UI