A Python NLP application that predicts the most relevant job categories from a resume using TF-IDF vectorization and cosine similarity. Built with Streamlit, it allows users to upload resumes (.txt, .pdf, .docx) or paste text and instantly see matching job categories along with similarity scores.
- Upload resumes in TXT, PDF, or DOCX format, or paste text directly.
- Predict top 3 job categories based on the content of the resume.
- View similarity scores to understand how closely the resume matches each category.
- Clean and interactive Streamlit UI/UX.
- Fully offline — no external API required.
- Easy to deploy on Render, Railway, or Streamlit Cloud.
- Python 3.10+
- NLTK – for text cleaning and lemmatization
- Scikit-learn – TF-IDF vectorization & cosine similarity
- Streamlit – for interactive web interface
- PyPDF2 & python-docx – reading PDF and DOCX files
- Text Cleaning: Removes stopwords, punctuation, and performs lemmatization.
- Vectorization: Converts resume text into numerical vectors using TF-IDF.
- Prediction: Computes cosine similarity between the uploaded/pasted resume and dataset resumes.
- Top Matches: Returns the top 3 categories along with similarity scores.
- Clone the repository:
git clone https://github.com/Gauravchy09/resume-job-category-matcher.git
cd resume-job-category-matcher
conda create -n resume_matcher python=3.10
conda activate resume_matcher
pip install -r requirements.txt
streamlit run app.pyIntegrate job posting APIs (LinkedIn, Indeed, etc.) to suggest live job openings.
Use Word2Vec or BERT embeddings for better semantic understanding.
Add keyword highlighting in the resume for easy visualization.
Provide downloadable PDF report with predicted categories and scores.