Skip to content

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.

Notifications You must be signed in to change notification settings

parthkulkarni04/Resume-Matching-Codewits

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Resume Matching Tool 📃📃

An application to match resumes with a job description.

User interface of the app

Introduction

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.

Features

  • 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.

Installation

  1. Clone the repository:
git clone https://github.com/parthkulkarni04/Resume-Matching-Codewits.git
  1. Navigate to the project directory:
cd Resume-Matching-Codewits
  1. Create a virtual environment:
python3 -m venv venv
  1. Activate the virtual environment:

On macOS/Linux:

source venv/bin/activate

On Windows:

venv\Scripts\activate
  1. Install the required Python packages:
pip install -r requirements.txt

Usage

  1. Upload resumes and a job description in PDF format.
  2. View the overall matches and individual results in a table.
  3. Generate a heatmap to visualize the similarity between skills keywords and resumes.
  4. Download the results as a CSV file

Run the Streamlit BERT Version

streamlit run bert.py

Run the Streamlit Doc2Vec Version

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

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published