An application to match resumes with a job description.
This application is designed to help recruiters and hiring managers efficiently match resumes with a job description. It uses natural language processing (NLP) techniques to analyze the content of resumes and job descriptions, and then provides a similarity score based on the match between the two.
- Upload multiple resumes and a job description in PDF format.
- Extract text from PDF files using PyPDF2.
- Tokenize text using the spaCy NLP model.
- Extract CGPA, skills, and qualifications from resumes using a finetuned BERT model.
- Display overall matches and individual results in a table.
- Download the results as a CSV file
- Generate a heatmap to visualize the similarity between skills keywords and resumes.
- Clone the repository:
git clone https://github.com/parthkulkarni04/Resume-Matching-Codewits.git
- Navigate to the project directory:
cd Resume-Matching-Codewits
- Create a virtual environment:
python3 -m venv venv
- Activate the virtual environment:
On macOS/Linux:
source venv/bin/activate
On Windows:
venv\Scripts\activate
- Install the required Python packages:
pip install -r requirements.txt
- Upload resumes and a job description in PDF format.
- View the overall matches and individual results in a table.
- Generate a heatmap to visualize the similarity between skills keywords and resumes.
- Download the results as a CSV file
streamlit run bert.py
There is also an older version of the application available in the repository. This version only uses Doc2Vec instead of BERT for extraction, which makes it faster but not as accurate as the current version. You can run that using the following command.
streamlit run doc2vec.py