A Streamlit-based NLP-powered resume screening tool that classifies resumes into job categories and ranks them by relevance. It also compares resumes against job descriptions using cosine similarity.
- 📄 Extracts and cleans resume text from
.pdf,.docx, and.txt - 🧠 Predicts job categories using a trained ML model
- 📊 Ranks multiple resumes by prediction confidence
- 📝 Compares resume content with pasted job descriptions
- 💬 Collects user feedback
- Python
- Streamlit
- Scikit-learn
- NLTK
- Plotly
- NumPy, pandas, re, PyPDF2, python-docx
resume-screening-app/ │ ├── app.py # Streamlit app interface ├── clf.pkl # Trained classifier (multiclass) ├── tfidf.pkl # TF-IDF vectorizer ├── encoder.pkl # Label encoder for categories ├── requirements.txt # All dependencies ├── UpdatedResumeDataSet.xls # Resume dataset used for training ├── README.md # You're reading this!
pip install -r requirements.txtstreamlit run app.py##🧠 Model Training (optional) The classifier was trained using Scikit-learn on a labeled resume dataset with a TF-IDF vectorizer and a Multinomial Naive Bayes classifier. To reproduce the training pipeline, see the notebook: Resume Screening with Python.ipynb
-
✅ Filename: resume1.pdf
-
✅ Predicted Category: Data Science
-
✅ Confidence: 92.5%
-
✅ JD Similarity Score: 88.7%
- Pull requests and enhancement ideas are welcome!
- Feel free to fork the repo and add new features or suggest improvements.
Rishita Makkar 📧 Email: rishita.m@example.com 🌐 LinkedIn (Update with your profile)
#NLP #Streamlit #MachineLearning #ResumeClassifier #AIRecruitment #PortfolioProject
- Save this file as
README.mdin the root directory of your project. - Push it to GitHub — it will render beautifully and make your repo more attractive.
Let me know if you want me to generate the matching requirements.txt or zip the full folder for upload.
Generate this automatically (recommended):
pip freeze > requirements.txt