The Resume Ranking App is a Python application built with Streamlit that allows you to rank and shortlist resumes based on their similarity to a given job description. It uses Natural Language Processing (NLP) techniques to extract skills and projects from resumes and then calculates the similarity between the job description and each resume using the Term Frequency-Inverse Document Frequency (TF-IDF) vectorizer and cosine similarity.
- Upload job title and job description.
- Upload multiple resumes in supported formats (PDF, DOCX, or TXT).
- Rank the resumes based on their similarity score with the job description.
- Shortlist candidates whose similarity score meets the specified threshold.
- Extract contact information (emails and phone numbers) from shortlisted resumes.
-
Install the required dependencies:
pip install streamlit nltk PyPDF2 textract docx openai langchain
-
Set your OpenAI API key as an environment variable:
export OPENAI_API_KEY=your_openai_api_key_here
-
Run the app using Streamlit:
streamlit run app.py
-
Enter the job title, job description, and upload resumes to start the ranking process.
-
This app uses the OpenAI API to extract skills and projects from resumes. Make sure you have set your OpenAI API key as an environment variable (OPENAI_API_KEY) before running the app.
-
The app currently supports resumes in PDF, DOCX, and TXT formats. Make sure to upload the resumes in these formats for accurate processing.
-
For security reasons, do not share your OpenAI API key publicly or commit it to version control systems.
This project is licensed under the MIT License. Feel free to use, modify, and distribute the code as per the license terms.
This project is for demonstration purposes only and not intended for production use. The accuracy of resume ranking may vary depending on the quality of the job description and the resumes provided. Always verify and validate the results before making any hiring decisions.