Resume Screening

AI Resume Screening is a tool that uses artificial intelligence to automate the process of resume screening and shortlisting. The tool uses natural language processing and machine learning algorithms to analyze resumes and classify them to the job roles based on the words in their resume.

AI & Machine LearningJupyter NotebookMIT

Abstract

Resume Screening is an open-source AI & Machine Learning project. AI Resume Screening is a tool that uses artificial intelligence to automate the process of resume screening and shortlisting. The tool uses natural language processing and machine learning algorithms to analyze resumes and classify them to the job roles based on the words in their resume. It is built using Jupyter Notebook, Machine Learning. Key capabilities include: Automated resume screening: AI Resume Screening saves time and effort by automatically screening resumes based on job requirements and pre-defined criteria; Improved accuracy: The tool uses advanced algorithms to analyze resumes, reducing the likelihood of human bias and improving the accuracy of the shortlisting process. We have achieved 91 percent accuracy; Efficient process: Each resume is categorized with the model in less than 5 seconds. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building an AI & Machine Learning mini project or final-year project.

1. Introduction

AI Resume Screening is a tool that uses artificial intelligence to automate the process of resume screening and shortlisting. The tool uses natural language processing and machine learning algorithms to analyze resumes and classify them to the job roles based on the words in their resume.

Our tool will be designed to make the hiring process easier for both HR teams and job seekers. Our idea is to develop a user-friendly web page that enables HR teams to select the specific job role they are recruiting for. Once the job role is chosen, a link is shared with potential candidates who can then upload their resumes.

Using pre-trained machine learning models, which are trained on thousands of resumes , our tool automatically filters out resumes that do not match the job requirements. Resumes are categorized based on specific keywords and phrases related to the job role ( for example , python developer – main words can be python , developed , project , computer science etc). If a candidate's resume matches the job description, they are immediately notified and their resume is uploaded to the company's database. Even if a candidate’s resume doesn’t match the description , it shows the potential role which is suitable for the uploaded resume.

2. Objective

AI Resume Screening is a tool that uses artificial intelligence to automate the process of resume screening and shortlisting. The tool uses natural language processing and machine learning algorithms to analyze resumes and classify them to the job roles based on the words in their resume.

This project demonstrates how Jupyter Notebook, Machine Learning can be applied to a real-world AI & Machine Learning problem.

3. Key Features / Modules

  • Automated resume screening: AI Resume Screening saves time and effort by automatically screening resumes based on job requirements and pre-defined criteria.
  • Improved accuracy: The tool uses advanced algorithms to analyze resumes, reducing the likelihood of human bias and improving the accuracy of the shortlisting process. We have achieved 91 percent accuracy.
  • Efficient process: Each resume is categorized with the model in less than 5 seconds.
  • Detailed output : The HR gets a detailed output of the Name, Email, Location, and the candidate's resumé, based on the scores.

4. Technology Stack

Jupyter NotebookMachine Learning

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Python 3.8 or later with Jupyter Notebook / JupyterLab (or Google Colab)
  • pip for dependencies
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/harsha-chirumamilla/resume-screening.git
cd resume-screening
  1. cv.pickle : It is the pickled file which contains the features of the model trained on the resumes by using TF-IDF. This pickle file is used to compare the features of the Uploaded resume with the model.
  2. SQL.txt : Contains the MySQL queries to set up a database to store the details of the short listed candidates.
  3. HR.py: The page where HR enters the job role which is open for hiring, based on which shortlisting of candidates is done. Use the command “streamlit run HR.py” to run it in the local server.
  4. pages/Show_Resumes.py: It displays the resumes of the shortlisted candidates by sorting them in descending order of the scores.

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Deploy the model as a web app with Streamlit, Flask or FastAPI
  • Compare against an additional model and report the metric difference
  • Add explainability (SHAP / Grad-CAM)

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. What dataset does the project use and how was it pre-processed?
  2. Which algorithm / model architecture is used and why was it chosen over alternatives?
  3. How are training and testing data split, and how is overfitting avoided?
  4. Which evaluation metrics (accuracy, precision, recall, F1) are reported and what do they mean here?
  5. How would you deploy this model for real users?

9. Source Code & License

This project is developed by harsha-chirumamilla and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on an AI & Machine Learning project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for AI & Machine Learning Internship