Skip to content

NLP-based resume parsing tool for extracting relevant info and rank candidates for job applications

License

Notifications You must be signed in to change notification settings

avrtt/nlp-resume-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project is a Python-based application with Streamlit interface for parsing resumes, extracting relevant details (skills, experience, etc.), and ranking candidates against job descriptions using NLP.

This is a small public piece of code (standalone fork) taken from of one of my freelance projects.

Features

  • Resume parsing: Extracts structured information like name, email, phone, skills, and experience from uploaded PDF resumes
  • Candidate ranking: Compares extracted skills with a job description and ranks candidates based on relevance
  • Interactive interface: Allows users to upload resumes, enter job descriptions, and view rankings directly in a web browser

Technologies

  • Streamlit for the user interface
  • spaCy for NLP and named entity recognition
  • scikit-learn for similarity calculations
  • pdfplumber for extracting text from PDF files

Installation

  1. Clone the repository:

    git clone git@github.com:avrtt/nlp-resume-parser.git
    cd nlp-resume-parser
  2. Create a virtual environment and activate it:

    python -m venv env
    source env/bin/activate # Windows: env\Scripts\activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Download the en_core_web_sm model for spaCy:

    python -m spacy download en_core_web_sm

Usage

  1. Run the app:

    streamlit run app.py
  2. Open your browser and navigate to http://localhost:8501

  3. Upload resumes in PDF format and enter a job description; the app will parse the resumes, rank candidates, and display the results

Example output

  • Parsed resume data:

    Name: Someone Someonovich
    Email: someonovich@example.com
    Phone: 1234567890
    Skills: Python, Machine Learning, NLP
    Experience: 5 years at Biba Boba Corp
    
  • Ranked candidates:

    1. Someone Someonovich (Score: 0.85)
    2. Matye Bal (Score: 0.78)
    

To-do

  • Add support for DOCX resume formats
  • Improve ranking using advanced models
  • Add database integration for storing parsed data and rankings
  • Analytics dashboard (visualize candidate metrics)

License

MIT

About

NLP-based resume parsing tool for extracting relevant info and rank candidates for job applications

Topics

Resources

License

Stars

Watchers

Forks

Languages