0% found this document useful (0 votes)
8 views52 pages

Skill Matrix

The document is a project report for 'SkillMatrix – NLP Based Resume Parser for Automated Candidate Screening' submitted to the National Institute of Engineering, Mysuru, as part of a Bachelor of Engineering degree in Computer Science and Engineering. It outlines the need for an NLP-driven solution to automate resume parsing and candidate screening, addressing inefficiencies in traditional recruitment processes. The report details the project's objectives, system design, and advantages, emphasizing the use of advanced NLP techniques for improved candidate evaluation.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views52 pages

Skill Matrix

The document is a project report for 'SkillMatrix – NLP Based Resume Parser for Automated Candidate Screening' submitted to the National Institute of Engineering, Mysuru, as part of a Bachelor of Engineering degree in Computer Science and Engineering. It outlines the need for an NLP-driven solution to automate resume parsing and candidate screening, addressing inefficiencies in traditional recruitment processes. The report details the project's objectives, system design, and advantages, emphasizing the use of advanced NLP techniques for improved candidate evaluation.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

SKILLMATRIX – NLP BASED RESUME PARSER FOR

AUTOMATED CANDIDATE SCREENING


A PROJECT REPORT SUBMITTED TO

THE NATIONAL INSTITUTE OF ENGINEERING, MYSURU


(An Autonomous Institute under Visvesvaraya Technological University, Belagavi)

in partial fulfillment for the award of degree of

Bachelor of Engineering
in
Computer Science and Engineering

Submitted By
Bhuvan C Shekar (4NI22CS040)
Chaithanya Prasad Kulkarni (4NI22CS045)
D Ganesh Murthy (4NI22CS050)
Srujan Gowda C (4NI23CS421)

Under the guidance of


Veena Mohan M
Assistant Professor
Department of CS&E
NIE, Mysuru

Department of Computer Science & Engineering


THE NATIONAL INSTITUTE OF ENGINEERING
(Autonomous Institution) Mysuru - 570 008
2024-25
THE NATIONAL INSTITUTE OF ENGINEERING
(An Autonomous Institute under Visvesvaraya Technological
University, Belagavi)

Department of Computer Science & Engineering

CERTIFICATE
This is to certify that the project work entitled “skillmatrix – nlp based resume parser for
automated candidate screening ” is a bonafide work carried out by Bhuvan C Shekar
(4NI22CS040), Chaithanya Prasad Kulkarni (4NI22CS045), D Ganesh Murthy (4NI22CS050),
and Srujan Gowda C (4NI23CS421)in partial fulfillment for the award of degree of Bachelor of
Engineering in Computer Science and Engineering, of Visvesvaraya Technological University,
Belagavi, during the year 2024-25. It is certified that all corrections / suggestions indicated during
internal assessment have been incorporated and the corrected copy has been deposited in the
department library. This project report has been approved in partial fulfillment for the award of the
said degree as per academic regulations of The National Institute of Engineering (Autonomous
Institution).

Signature of Guide Signature of HoD Signature of Principal

Veena Mohan M Dr. Anitha R Dr. K C Manjunath


Assistant Professor Professor & Head Principal
Dept. of CSE, NIE Dept. of CSE, NIE NIE, Mysuru

Name of the Examiners Signature with Date

1.

2.
ABSTRACT

Recruitment is one of the most critical activities in modern organizations. With the rise of globalization,

remote work, and digital hiring platforms, recruiters now receive thousands of resumes for a single job

posting. Studies have shown that large organizations receive on average 250+ applications for each

vacancy, making it impractical to manually screen each candidate effectively. Human recruiters, despite

their expertise, are prone to fatigue, oversight, and bias when reviewing resumes. The diversity of resume

formats, ranging from PDF and DOCX to creative designs, further complicates automated parsing.

Traditional keyword search mechanisms within Applicant Tracking Systems (ATS) lack the intelligence

to understand context, synonyms, or candidate intent. For instance, “Software Developer with expertise

in Python” may be missed if the system only searches for “Python Developer.” To overcome these

inefficiencies, there is a pressing need for Natural Language Processing (NLP) solutions that can parse

resumes accurately, structure information intelligently, and deliver actionable insights for recruiters.
ACKNOWLEDGMENT

I sincerely owe my gratitude to all the persons who helped and guided me in completing this mini
project.

I am thankful to Dr. K C Manjunath, Principal, NIE College, Mysuru, for all the support she has
rendered.

I thank Dr. Anitha R, Professor and Head, Department of Computer Science and Engineering, for her
constant support and encouragement throughout the tenure for the mini project work.

I would like to sincerely thank my guide Veena Mohan M, Assistant Professor, Department of
Computer Science and Engineering, for providing relevant information, valuable guidance and
encouragement to complete this minor project.

Bhuvan C Shekar (4NI22CS040)

Chaithanya Prasad Kulkarni (4NI22CS045)

D Ganesh Murthy (4NI22CS050)

Srujan Gowda C (4NI23CS421)


TABLE OF CONTENT

CHAPTER 1............................................................................................................................................................ 1
INTRODUCTION .................................................................................................................................................. 1
1.1 Overview ........................................................................................................................................................ 1
1.2 Objective ........................................................................................................................................................ 1
1.3 Need for this Project ....................................................................................................................................... 2
1.4 Existing System and Drawbacks .................................................................................................................... 2
1.5 Proposed System and Advantages .................................................................................................................. 3
CHAPTER 2............................................................................................................................................................ 4
LITERATURE REVIEW ....................................................................................................................................... 4
CHAPTER 3............................................................................................................................................................ 6
SYSTEM REQUIREMENT SPECIFICATIONS ............................................................................................... 6
3.1 Functional Requirements ................................................................................................................................ 6
3.2 Non-Functional Requirements ........................................................................................................................ 7
3.3 Hardware Requirements ................................................................................................................................. 8
3.4 Software Requirement .................................................................................................................................... 8
CHAPTER 4.......................................................................................................................................................... 10
SYSTEM DESIGN ............................................................................................................................................... 10
4.1Introduction to System Design ....................................................................................................................... 10
4.2System architecture diagram .......................................................................................................................... 10
4.3 DFD Diagram ............................................................................................................................................... 12
4.4 Activity diagram ........................................................................................................................................... 14
4.5 Use Case Diagram ........................................................................................................................................ 15
4.6 Sequence diagram ......................................................................................................................................... 18
CHAPTER 5 ......................................................................................................................................................... 20
IMPLEMENTATION ........................................................................................................................................... 20
5.1 Model selection ........................................................................................................................................... 20
5.2Dataset Description ........................................................................................................................................ 21
5.3Dataset Use in Model Training and Evaluation .............................................................................................. 22
5.4Methods & Algorithms .................................................................................................................................. 23
5.5Pseudo Code of Each Algorithm .................................................................................................................... 25
5.6Snapshot ........................................................................................................................................................ 31
CHAPTER 6. ........................................................................................................................................................ 34
TESTING .............................................................................................................................................................. 34
6.1 Introduction to Testing .................................................................................................................................. 34
6.2 Types of Testing ............................................................................................................................................ 34
6.3Test Cases ...................................................................................................................................................... 36
CHAPTER 7. ........................................................................................................................................................ 42
CONCLUSION ..................................................................................................................................................... 42
7.1 Project Conclusion ....................................................................................................................................... 42
7.2Future Enhancement ...................................................................................................................................... 42
7.3References ..................................................................................................................................................... 44
LIST OF FIGURES
FIG. NO. DESCRIPTION PAGE NO.
Fig 4.2.1 Architecture for Resume Parsing and 10
Screening System Using NLP
Fig 4.3.1 Data Flow Diagram 12
Fig 4.4.1 Activity Diagram 14
Fig 4.5.1 Use Case Diagram 15
Fig 4.6.1 Sequence Diagram 18
Fig 5.6.1 Path for opening the GUI of NLP-Based 31
Resume Parser for Automated Candidate
Screening
Fig 5.6.2 this is the dashboard to upload the resumes 31
Fig 5.6.3 key information extraction 32
Fig 5.6.4 compare with the job description 32
Fig 5.6.5 It shows the Matching Score of the Resume 33
with the job description
Fig 5.6.6 It shows the shortlisted Resume with the job 33
description
SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

Chapter 1
INTRODUCTION

1.1 Overview

Recruitment is one of the most critical activities in modern organizations. With the rise of globalization,
remote work, and digital hiring platforms, recruiters now receive thousands of resumes for a single job
posting. Studies have shown that large organizations receive on average 250+ applications for each
vacancy, making it impractical to manually screen each candidate effectively. Human recruiters, despite
their expertise, are prone to fatigue, oversight, and bias when reviewing resumes. The diversity of resume
formats, ranging from PDF and DOCX to creative designs, further complicates automated parsing.
Traditional keyword search mechanisms within Applicant Tracking Systems (ATS) lack the intelligence
to understand context, synonyms, or candidate intent. For instance, “Software Developer with expertise
in Python” may be missed if the system only searches for “Python Developer.” To overcome these
inefficiencies, there is a pressing need for Natural Language Processing (NLP) solutions that can parse
resumes accurately, structure information intelligently, and deliver actionable insights for recruiters.

1.2 Objective

The primary objectives of this project are: 1. To automate the extraction of structured data such as personal
information, education, experience, and skills from resumes. 2. To use NLP techniques such as Named
Entity Recognition (NER), tokenization, and word embeddings for context-aware parsing. 3. To provide
compatibility with multiple file formats (PDF, DOCX, TXT). 4. To output standardized, structured data
(JSON, CSV, or database records) suitable for ATS integration. 5. To reduce manual recruiter effort by at
least 70% in the initial screening stage. 6. To increase accuracy and reliability in candidate shortlisting by
leveraging semantic matching instead of simple keyword searches. Each of these objectives addresses a
specific gap in the recruitment pipeline, ensuring efficiency, scalability, and fairness in hiring.

Dept .of CSE,NIE-Mysuru Page 1


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

1.3 Need for this Project

The traditional recruitment process is inefficient for modern demands. According to LinkedIn reports,
recruiters spend up to 23 hours screening candidates for a single role. Manual screening is slow, costly,
and highly error-prone. Small startups and large enterprises alike suffer from the inability to quickly
shortlist the right candidates. Moreover, keyword-based ATS systems often disqualify highly qualified
candidates due to phrasing mismatches. The project addresses this by providing an NLP-driven resume
parser that ensures resumes are fairly evaluated, contextually understood, and structured in a machine-
readable manner. This aligns with the growing need for AI-powered recruitment technologies

1.4 Existing System and Drawbacks

The current resume screening and candidate selection process is predominantly manual, where
recruiters and HR professionals are required to review hundreds or even thousands of resumes for
each job opening. The traditional hiring process is often time-intensive, requires significant manual
effort, and is susceptible to human mistakes. Resumes are typically submitted in various formats, such
as PDF and DOCX, which makes it difficult to extract structured information consistently. These
challenges, combined with the variability of human judgment, can result in important qualifications
being missed during the screening process. Furthermore, unconscious bias may influence decisions,
potentially compromising fairness and diversity. Without a deep understanding of the context or
meaning behind resume content, manual review also struggles to accurately match candidates with
job requirements. As a result, this approach leads to lower efficiency, longer hiring cycles, and
increased recruitment costs.

Dept .of CSE,NIE-Mysuru Page 2


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

1.5 Proposed System and Advantages

The proposed system is an Automated the Resume Parsing and Screening Application develop using
NLP techniques. This system goal is to automated the extraction and resume content evaluation and
match it with job requirements using modern AI models. It leverages pretrained NLP models such as
HuggingFace BERT for semantic similarity and Google Gemini for contextaware evaluation, thereby
ensuring an accurate and efficient candidate shortlisting process. The system also provides a visual
dashboard for recruiters to view and download shortlisted candidates based on match scores.

Key Features

• Resume Parsing: Automatically extracts key structured information that includes name,
contact details, education, and technical skills from the resume files (PDF/DOCX).

• Job Description Analysis: Accepts recruiter-inputted job descriptions and processes


them for relevant keyword and context understanding.

• Semantic Matching: Uses cosine similarity over BERT embeddings and Gemini model

analysis to compare resumes against job descriptions and compute a match percentage.

• Candidate Ranking: Assigns a match score (out of 100) for each resume and displays top-
matching candidates for recruiter review.

• Streamlit Dashboard: Displays shortlisted candidates with their details in a tabular


format and allows CSV download for reporting and record-keeping.

• Database Integration: Stores all shortlisted candidate profiles in a MySQL database with
match score, skills, and timestamp.

Dept .of CSE,NIE-Mysuru Page 3


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

Chapter 2

LITERATURE REVIEW

Automated Resume Information Extraction Using Named Entity Recognition-Shivhare et al., IEEE,
2018
This paper proposed the use of Named Entity Recognition (NER) techniques to extract personal
information such as names, emails, and phone numbers from resumes. The study highlighted the
limitations of rule-based approaches and emphasized machine learning for better generalization. In our
project, these ideas inspire the NER module used for parsing resumes

A Resume Extraction and Ranking System Using NLP and Machine Learning – Zhu & Li, Springer,
2019
The authors developed a resume ranking system where parsed resumes are scored against job descriptions
using NLP and ML. The work focused on semantic similarity to improve candidate-job matching. Our
system borrows the concept of skill mapping and candidate scoring from this research

Intelligent Recruitment Using AI: A Natural Language Processing Approach – Reddy et al., IEEE,
2020
This research introduced context-aware embeddings such as BERT to better interpret skills and work
experiences. The system achieved higher accuracy than keyword-based ATS. We adopt their strategy of
using embeddings for semantic understanding of resumes

Context-Aware Resume Parsing: Handling Multi-Format Documents – Kim & Park, Elsevier, 2021
This study addressed the challenge of parsing resumes in different file formats and styles. The paper
proposed preprocessing pipelines for PDF, DOCX, and TXT formats. Inspired by this, we implement
multi-format support in our system.

Applying Deep Learning for Automated Candidate Screening – Dasgupta et al., ACM, 2021
Here, deep learning models such as CNNs and Transformers were applied for classification of resume
sections and candidate attributes. Their success motivates our approach in categorizing resume segments

Dept .of CSE,NIE-Mysuru Page 4


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

effectively

Towards Smarter Applicant Tracking Systems: Challenges and Future Directions Patel & Mehta, IEEE
Access, 2022
The authors reviewed ATS limitations and discussed integrating NLP into recruitment. Their framework
informs our dashboard and API integration strategy.

To understand the existing approaches in automated resume parsing and candidate screening, several
research papers were reviewed. Each paper contributes uniquely towards solving challenges in
information extraction, ranking, and intelligent recruitment. The following table summarizes the key
contributions of these works and highlights their relevance to the present project.

Paper Contribution Relevance to Project


Automated Resume Information Proposed the use of Named Entity Provides a baseline for
Extraction Using Named Entity Recognition (NER) to extract information extraction,
Recognition (Shivhare et al., personal details (name, email, phone showing how NER improves
IEEE, 2018) number) from resumes efficiently. over rule-based methods.
A Resume Extraction and
Developed a system to parse resumes Useful for integrating ranking
Ranking System Using NLP and
and rank candidates using NLP and with parsing, helping prioritize
Machine Learning (Zhu & Li,
ML techniques. candidates.
Springer, 2019)
Intelligent Recruitment Using
Introduced context-aware Demonstrates how advanced
AI: A Natural Language
embeddings such as BERT to embeddings improve semantic
Processing Approach (Reddy et
improve resume understanding. matching for resumes.
al., IEEE, 2020)
Context-Aware Resume Relevant for ensuring
Addressed challenges of parsing
Parsing: Handling Multi-Format robustness when resumes
resumes across different file formats
Documents (Kim & Park, come in multiple formats
and structures.
Elsevier, 2021) (PDF, Word, etc.).
Applying Deep Learning for Applied CNNs and Transformers for Highlights how deep learning
Automated Candidate Screening automated screening of candidates can improve candidate
(Dasgupta et al., ACM, 2021) based on resume content. matching accuracy.
Towards Smarter Applicant Provides insights on gaps in
Tracking Systems: Challenges Reviewed limitations of existing ATS current systems and guides
and Future Directions (Patel & and discussed future directions. improvements in project
Mehta, IEEE Access, 2022) design.

Dept .of CSE,NIE-Mysuru Page 5


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

Chapter 3

System Requirement Specifications

3.1 Functional Requirements

• Resume Upload Functionality: The system must allow users (recruiters) to upload
multiple resumes in PDF or DOCX format (up to 10 at once).

• Resume Text Extraction: The system should extract text content from uploaded
resumes using PDF and DOCX parsers.

• Key Information Parsing: The system should automatically parse and extract candidate
details such as name, contact, education, and skills using NLP techniques.

• Job Description Input: The system must provide an input area for recruiters to
enter a job description.

• Resume Matching & Scoring: The system should compare each resume with the job

description using:

o HuggingFace BERT (sentence embeddings + cosine similarity)

o Google Gemini API (semantic analysis and keyword gap detection)

o It must output a match percentage and list of missing keywords.


• Candidate Ranking: The system must rank or shortlist candidates according to the
match score (e.g., match ≥ 40%).

• Database Storage: Shortlisted candidates’ details must be saved in a MySQL


database for dashboard display and export.

• Dashboard Display: A dashboard must display all shortlisted candidates in a searchable,


filterable table view.

• CSV Export Functionality: The system should allow recruiters to download


shortlisted candidate data in CSV format.

• Interactive UI: The system must provide a user-friendly web interface using Streamlit,
Dept .of CSE,NIE-Mysuru Page 6
SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

with tabs for analysis and dashboard.

3.2 Non-Functional Requirements

Performance
• The system should process and analyze up to 10 resumes concurrently without significant
delay.
• Resume-to-JD comparison should complete in under 10 seconds per file on standard
hardware.
Scalability
• The application should be scalable to handle increased resume upload volume by
optimizing embedding computation and database queries.
• Modular design allows future extension to cloud-based scalability (e.g., AWS/GCP).

Usability

• The system must provide an intuitive and minimal learning process to the end recruiters with
clearly labeled tabs, buttons, and outputs.

• The dashboard should support easy navigation, search, and data export.

Reliability

• The system must reliably extract and store data, ensuring resume text is parsed and scored
correctly even in varying formats (PDF/DOCX).

• It must handle unexpected input or corrupted files gracefully with error messages.

Availability

• The application should be accessible 24/7 when deployed on platforms like Streamlit Cloud
ensuring minimal downtime.
Maintainability
• Codebase should follow a modular structure (as in your [Link], [Link]) to support future
updates or model changes.

Security
• Uploaded resumes must be processed in-memory and not stored persistently unless explicitly
required.
• Environment variables (e.g., DB credentials, API keys) are managed using .env for secure access.

Dept .of CSE,NIE-Mysuru Page 7


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

Portability
• The system should run seamlessly on local machines and cloud platforms (e.g., Streamlit
Cloud with minimal configuration changes.
Compatibility
• Good with every major browser and supports resume files in PDF and DOCX formats.

3.3 Hardware Requirements

[Link] Environment

Developer Workstations:

• CPU: Multi-core processor (e.g., Intel i5 or AMD Ryzen 5 or better

• RAM: Minimum 8 GB (16 GB recommended for NLP tasks)

• Storage: SSD with at least 512 GB (for fast access to libraries and datasets)

• Network: Reliable internet connection for accessing libraries, Gemini API keys

and cloud services

3.4 Software Requirement

1. Introduction

• Purpose: The purpose of this document is to outline the software requirements for the
Resume Parsing and Screening System, which automates the process of screening and
ranking resumes based on job descriptions uses NLP and embedding-based similarity
matching.

• Scope: The system will allow recruiters to upload PDF/DOCX resumes and input job
descriptions, automatically parse and analyze them, and provide a ranked list of
candidates. Then stores shortlisted candidates in a MySQL database. The system
provides a dashboard for viewing, searching, and downloading candidate data, with
Streamlit as the web interface.

Dept .of CSE,NIE-Mysuru Page 8


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

• Definitions, Acronyms, and Abbreviations:

o NLP: Natural Language Processing

o HR: Human Resources

o UI: User Interface

o API: Application Programming Interface

2. Overall Description

• Product Perspective: The system will be a web-based application that integrates with
existing HR tools and platforms, offering seamless user experiences for recruiters.

• Product Functions:

o Resume parsing and analysis

o Keyword extraction from job descriptions

o Semantic similarity scoring

o Candidate ranking

o User dashboard for managing resumes, job descriptions and candidate shortlists

• User Classes and Characteristics:

o Recruiters: Primary users who will upload job descriptions and resumes and
reviewing ranked candidates.
o Job Seekers: Indirect users whose resumes will be processed and analyzed
by the system.

Dept .of CSE,NIE-Mysuru Page 9


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

Chapter 4

SYSTEM DESIGN

4.1 Introduction to System Design

The system design of the Intelligent Resume Screening and Ranking System focuses on
creating a robust, scalable, and efficient architecture that automates the parsing, analysis, and
ranking of resumes using NLP techniques. The design ensures seamless integration of core
components such as resume parsing, job description analysis, semantic similarity computation,
and candidate ranking. By leveraging pre-trained NLP models like BERT and GPT, combined
with the machine learning algorithms, the system extracts meaningful insights from unstructured
text data and provides recruiters with accurate and unbiased candidate evaluations. The user-
friendly web interface facilitates easy interaction, allowing recruiters to upload documents, view
ranked results, and provide feedback for continuous system improvement.

4.2 System architecture diagram

Figure 4.2.1: Architecture for Resume Parsing and Screening System Using NLP

Dept .of CSE,NIE-Mysuru Page 10


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

1. Applicant Side (Top Left)

o CV Upload: Job applicants upload the resumes; they are usually unstructured text files.

o Unstructured Resume: The uploaded CV is in an unstructured format, which means


it's not organized in a way that can be easily processed by a computer.

o Section-Based Segmentation: The system processes the unstructured resume and


breaks it down into segments based on sections (e.g., Education, Experience, Skills).

o Filtration Module:

Insignificant Term Removal: This module removes unnecessary or irrelevant


terms to streamline the information and extract only useful data.

Skill Set Extraction: After filtering, a set of relevant skills is extracted from the
resume.

2. Employer Side (Bottom Left)

• Job Post Creation: Employers are provided with an online form to create job listings.
This structured format ensures that all the necessary information is captured uniformly,
resulting in a consistent and standardized job posting.

• Structured Job Post: The completed job post includes clearly defined information
such as required skills, qualifications, and years of experience. This structure makes
it easier for the system to interpret and compare job requirements.

3. Classification Module

• Skill Knowledge Base: At the core of the system lies a centralized database that contains
a wide range of skills and knowledge domains relevant to different job roles. This
knowledge base is essential for accurate classification.

• Classified Resumes and Job Posts: Both resumes and job descriptions are processed
using the Skill Knowledge Base. They are classified into an unified format, making it
easier to compare candidate profiles with job requirements effectively.

Dept .of CSE,NIE-Mysuru Page 11


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

4. Matching and Ranking

• Category-Based Matching: In this phase, the system compares the classified resume
specifically, the extracted skills and experience with the structured job post. Matching
is done based on category-specific criteria such as required expertise, education, and
work history.
• Ranking: Candidates are then ranked based on their profiles meet the job criteria. The
top matching candidates are identified and stored in a database, giving employers a
prioritized list of suitable applicants.

This system effectively automates the recruitment process by extracting and matching skills
between applicants and job posts, improving the performance and accuracy of candidate
selection.

4.3 DFD Diagram

Fig 4.3.1: Data Flow Diagram

This diagram outlines the step-by-step process used to matchs the resumes with job
requirements using a machine learning approach. Here's a simplified breakdown of each step:

Dept .of CSE,NIE-Mysuru Page 12


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

o Input Collection: The system starts by gathering resumes and job descriptions as input data.
o Pre-processing: Before analysis, the text is cleaned. This involves removing unnecessary
elements like stopwords (common words like "and", "the"), numbers, special characters,
and punctuation to focus only on meaningful content.
o Feature Extraction: The cleaned text is convert into a numerical values using a method
called BERT, which helps identify how important a word is in a document compared to
others.
o Feature Reduction: To simplify the data and reduce processing time, dimensionality is
reduced using a technique called Truncated SVD (Singular Value Decomposition).
o Model Building: A similarity and ranking model is built. This model compares job
descriptions with resumes and ranks the resumes based on how closely they match the
job requirements.
o Entity Extraction: Important information such as name, contact details, skills, experience,
and company names are extracted from the resumes for deeper analysis.
o Output Generation: Based on the ranking, the system recommends the top 10 most
suitable resumes for a given job description.
o Visualization: Finally, a visualization is created showing the most common and relevant
words found in both the top matching resumes and the job descriptions.

Dept .of CSE,NIE-Mysuru Page 13


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

4.4 Activity diagram

Fig 4.4.1: Activity Diagram


• Upload Resumes → Recruiter uploads resumes and job details to the system.

• Resume Parsing → Extract important details like skills, education, and experience.

• Enter Job Description → Recruiter inputs or uploads job requirements.

• Candidate Comparison (Gemini) → Compares resumes and job descriptions using Gemini.

• Candidate Ranking (BERT) → Ranks candidates based on relevance using BERT.

• Display Matching Score → Shows match score between candidate and job.

• Show in Dashboard → System prepares an interface for recruiters to view results.

• Display Results → Recruiters see the ranked list of candidates.

• Save Results in Database → Saves matching results and rankings in the database.

• End → Process completes successfully.

Dept .of CSE,NIE-Mysuru Page 14


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

4.5 Use Case Diagram

Fig 4.5.1: Use Case Diagram

Dept .of CSE,NIE-Mysuru Page 15


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

Actors:

• Recruiter: Interacts with the system by uploading resumes, entering job


descriptions, and viewing results. Triggers almost every action in the system.

• System: Resume Parser and Screening System handles all the processing.

Use Cases:

• Upload Resume (PDF/DOCX)

o The recruiter uploads candidate resumes in .pdf or .docx format.

o Internally, the system reads and converts resumes into simple text for further analysis.

• Extract Key Info (Name, Contact, Skills...)

o The tool parses the resumes to extract structured information using regex and Gemini API.

o Data like name, phone number, email, skills, education, and experience is captured.

• Enter Job Description

o The recruiter manually inputs the job requirements (e.g., required skills, experience level).

o This match the candidates effectively.

• Compare Resume with JD

o The machine uses NLP (BERT & Gemini) to semantically compare the extracted
resume content with the job description.

o Both are converted into embeddings to compute similarity.

• Calculate Match Score (using BERT/Gemini)

o Using cosine similarity or LLM-based analysis, the software calculates a


similarity score that indicates how good an applicant fits the job.

o This is typically shown as a percentage match.

Dept .of CSE,NIE-Mysuru Page 16


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

• Shortlist Candidate (≥ 40%)

o Candidates with a match score above the 40% threshold are shortlisted for further review.

o This threshold can be changed depending on use case.

• View Dashboard (Shortlisted Profiles)

o The recruiter can view all shortlisted candidates in a clear, structured dashboard.

o Each candidate’s match score and extracted data are shown.

• Download CSV (Shortlisted Data)

o The recruiter can download the shortlisted profiles as a .csv file for offline review or
sharing.

• Save to Database and CSV

o All shortlisted data is stored in a MySQL database using SQLAlchemy for future
retrieval and reporting.

o It’s also saved as a CSV file as backup/export option.

Flow:

• Recruiter uploads a resume → System extracts key details (Name, Skills, etc.)

• Recruiter inputs job description → System semantically processes job requirements

• Resume data + Job Description → Compared using BERT/Gemini for semantic matching

• Match score is calculated → Candidates with score ≥ 40% are shortlisted

• Recruiter views shortlisted profiles on dashboard →Profiles saved todatabase and


downloadable as CSV

Dept .of CSE,NIE-Mysuru Page 17


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

4.6 Sequence diagram

Fig 4.6.1: Sequence Diagram

Actors and Components:

• User: Uploads resumes and job descriptions, and views results.

• System: The central controller supervises all processes.

• NLP Engine: Handles text preprocessing, parsing, and semantic analysis.

• Ranking Module: Applies ranking algorithms to order candidates.

• Database: Store Ranked Candidates

Dept .of CSE,NIE-Mysuru Page 18


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

Flow of Operations:

• User → System: The user uploads a resume and job description.

• System → NLP Engine: The system sends the data for preprocessing and resume parsing.

• NLP Engine → System: Returns parsed resume data.

• System → NLP Engine: Sends data for keyword extraction and semantic analysis.

• NLP Engine → System: Returns extracted features for candidate evaluation.

• System → Ranking Module: Applies ranking algorithms on extracted features.

• Ranking Module → System: Returns ranked candidates based on job relevance.

• System → User: Displays the ranked candidates to the user on the interface/dashboard.

Key Idea:

The diagram highlights how different components (System, NLP Engine, Ranking Module)
interact step by step to transform uploaded resumes into a ranked candidate list, ensuring
efficiency and accuracy in the hiring process.

Dept .of CSE,NIE-Mysuru Page 19


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

Chapter 5

Implementation

The Resume Parsing and Screening System is deployed on a cloud-based infrastructure, providing
a responsive and scalable backend to handle resume parsing, NLP processing, and candidate
ranking in real-time. Through a user-friendly dashboard, recruiters can view ranked candidate lists,
access match scores, and filter candidates by criteria such as skills and experience, making the
hiring process efficient and intuitive. In terms of results, the system accurately identifies top
candidates based on job requirements, achieving high precision and recall in matching skills,
experience, and qualifications. By automating and enhancing the initial screening phase, this
system significantly reduces time-to-hire and ensures a fair, data-driven candidate selection
process.
5.1 Model selection

1. NLP Techniques for Resume Parsing and Ranking

• Text Preprocessing:

o Text Extraction: Resumes are parsed from PDF and DOCX files using

PyPDF and python-docx.

o Lowercasing & Line Splitting: Basic cleaning by converting text to


lowercase and splitting by lines for pattern matching.

o Regex-Based Info Extraction: Used to extract contact details, education, and skills.

o Keyword Matching: Technical skills are matched from a predefined


list using caseinsensitive substring search.

• Embedding Models:

o Hugging Face BERT: Used to convert resumes and job descriptions into
vector embeddings for semantic similarity.
o Google Gemini API: Used to extract structured insights such as match score,
Dept .of CSE,NIE-Mysuru Page 20
SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

missing keywords, and qualitative summary

• Ranking Models:

o Cosine Similarity: Applied on BERT vectors to compute match score between

resume and job description.

o LLM-Based Scoring (Gemini): Google Gemini returns semantic match

percentage and missing keyword list.

5.2 Dataset Description

The Resume Parsing and Screening System works on unstructured written content
obtained from uploaded resumes and manually entered job descriptions. These inputs are
handled by means of NLP techniques and semantic similarity models to evaluate how well a
candidate fits a job.

5.1.1 Resumes Dataset

• File Format: Resumes are uploaded in either PDF or DOCX format. They are
parsed and transformed into unformatted text using PyPDF and python-docx.

• Extracted Attributes:

o Name: Candidate’s name (extracted using regex from Gemini response).

o Email & Phone: Extracted using regex patterns from parsed resume.

o Skills: Extracted using Gemini API and used for semantic comparison with job
descriptions.

o Education: Degree, university, and other educational details extracted through Gemini

o Experience: Job titles, companies, and work descriptions are parsed from resume text.

o Certifications & Projects: When mentioned, are included in extracted data.

5.1.2 Job Descriptions Dataset

• Input Format: Job descriptions are entered manually into a text box as plain text within the app.

Dept .of CSE,NIE-Mysuru Page 21


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

• Extracted Elements: Job Title, Required Skills, Preferred Skills, Experience Level,
Education, Requirements and Responsibilities

• BERT-based embeddings for vector-based similarity comparison.

• Gemini API for contextual keyword matching and summarization.

5.1.3 Supplementary Data

To perform accurate ranking and candidate-job matching, contextual embeddings are generated
from:

o HuggingFace BERT: Generates embeddings for resumes and job descriptions


for cosine similarity comparison.
o Google Gemini API: Analyzes semantic fit and provides structured feedback
like match percentage, missing keywords, and alignment summary.

5.3 Dataset Use in Model Training and Evaluation

This project does not have any training custom machine learning models from raw data.
Instead, it relies on real-time processing of uploaded resumes and job descriptions using
pretrained Natural Language Processing (NLP) models, such as HuggingFace BERT and Google
Gemini.

This input data is used for the following steps:

• Parse and Structure Information: Pretrained large language models (LLMs) extract organized
information like the candidate’s name, contact details, education, work experience, and
skillsets from the unstructured text of resumes.
• Feature Matching: The system evaluates how well the extracted resume features align with
the job description by applying semantic similarity techniques.
• Candidate Scoring: Each candidate is assigned a match score by comparing vector
representations of resumes and job descriptions using methods such as cosine similarity or
outputs from Gemini.

Dept .of CSE,NIE-Mysuru Page 22


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

5.3.1 Data Preprocessing Technique

4.5.1 Text Processing Methods

These preprocessing tasks are automatically managed by the language models used (BERT
and Gemini):

Tokenization: This step divides the input text into smaller units—typically individual words or
short phrases—called tokens. It serves as the initial phase of analyzing textual content.

Stop-word Removal: Eliminates common words (e.g., "and," "the," "is") that do not contribute
meaningful information to the analysis.

Lemmatization/Stemming: Reduces words to their base or root forms (e.g., "running" to "run"),
ensuring that variations of a word are treated as the same term.

4.5.2 Feature Extraction Techniques

The system relies on the following embedding methods:

• Contextual Embeddings (BERT): The HuggingFace-BERT model generates vector


representations of both the resume and the job description. These embeddings capture the
meaning of text based on context, enabling deep semantic comparison.

• Word Embeddings: Techniques like Word2Vec records the semantic connections between
words, allowing the model to understand context. This helps in comparing candidate
skills with
job requirements.

5.4 Methods & Algorithms

1 Similarity Measurement Algorithms

• Cosine Similarity: Used to measure the semantic similarity between the resume and job
description by comparing their vector embeddings. Cosine similarity ranges from -1 to
1 with higher values indicating greater relevance.

• Transformer-based Embeddings: Pretrained models such as HuggingFace-BERT and


Google Gemini are used to convert text into high-dimensional embeddings that capture
Dept .of CSE,NIE-Mysuru Page 23
SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

contextual meaning.

2 Ranking Algorithms

• Generative AI Models (Gemini): Used to generate detailed analysis comparing the


resume and job description, including missing skills and estimated match percentage.
Semantic Matching using Transformers: Leveraging transformer-based embeddings to compare
semantic similarity between job roles and candidate profiles.

Dept .of CSE,NIE-Mysuru Page 24


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

5.5 Pseudo Code of Each Algorithm

1) High-level architecture (production-ready) Core

services
- API Gateway (FastAPI/Flask): /jobs, /resumes, /rank, /feedback, /eval
- NLP Worker (Celery/RQ): heavy parsing, embeddings, model inference
- Vector Store (FAISS/pgvector/Elastic k-NN) for embeddings
- Relational DB (PostgreSQL/MySQL): metadata, parsed fields, feedback
- Object Store (S3/MinIO): raw PDFs/DOCX
- Model Registry (local dir/MLflow) - Dashboard (Streamlit/React)

Models

- Extractor -Segmenter
- NER & Skill Mapper
- Embedder
- Heuristic Scorer
- Learning-to-Rank (LTR)
- Fairness Post-processor

2) Data model (SQL schema)

TABLE job_description (...) TABLE


resume (...)

TABLE parsed_resume (...)


TABLE embeddings (...)
TABLE rank_result (...)
TABLE feedback (...)
TABLE skill_kb (...)

3) End-to-end pipeline with pseudocode ###

3.1 Ingestion & text extraction


function ingest_resume(file_bytes, mime, candidate_name): resume_id =
insert_resume_metadata(...) enqueue(parse_resume_job(resume_id))

return resume_id
Dept .of CSE,NIE-Mysuru Page 25
SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

job parse_resume_job(resume_id):

file = load_from_store(resume.file_uri) text =


extract_text(file, mime)

clean = normalize_text(text) sections =


segment_sections(clean) entities =
ner_extract(clean)

skills = map_skills(sections["skills"], entities, SKILL_KB) exp_years =


infer_experience(sections["experience"],

entities["DATE"])

edu_level = infer_education(sections["education"]) upsert(parsed_resume{...})

chunks = build_chunks(sections) for c in


chunks:

v = embed([Link])
upsert(embeddings{...})

### 3.2 Job description processing

function upsert_job_description(jd_text, attrs): jd_id =


insert_or_update_jd(attrs, text=jd_text) normalized =
normalize_text(jd_text)

jd_sections = segment_jd(normalized)

jd_skills = extract_required_skills(jd_sections, SKILL_KB) v =


embed(normalized)

upsert(embeddings{...}) cache_jd_features(jd_id,
jd_skills, attrs) return jd_id

### 3.3 Feature engineering

function build_features(jd_id, resume_id): jd_feats =


load_jd_features(jd_id)

r = load_parsed_resume(resume_id)

tfidf_sim = cosine(tfidf(r.raw_text), tfidf(jd_feats.text)) v_jd =


get_embedding(owner_type='jd', owner_id=jd_id) v_resume =
aggregate_resume_embedding(resume_id)

Dept .of CSE,NIE-Mysuru Page 26


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening
emb_sim = cosine(v_jd, v_resume) req =
set(jd_feats.required_skills) res =
set([Link])

jaccard_skill = |req ∩ res| / |req ∪ res| coverage = |req


∩ res| / max(1, |req|)

exp_ok = sigmoid(r.exp_years - jd_feats.min_exp_years) edu_ok =


match_edu(r.edu_level, jd_feats.edu_requirements)

loc_match = location_signal([Link], jd_feats.location) exp_s =


section_sim([Link]["experience"],

jd_feats.requirements)

proj_s = section_sim([Link]["projects"], jd_feats.requirements)

return {...}

### 3.4 Baseline scoring function baseline_score(features):

w = {...}

s = Σ w[k] * features[k] return


clamp(s, 0, 1)

### 3.5 Learning-to-Rank (LTR) function train_ltr(jd_ids):


... function ltr_score(features): ...

### 3.6 Fairness & bias mitigation function fairness_adjust(ranked_list, group_attr,


target_props): ...

### 3.7 Ranking endpoint

POST /rank { jd_id, filter, top_k }: ...

### 3.8 Feedback loop

POST /feedback { jd_id, resume_id, label, notes }: ...

### 3.9 Evaluation pipeline function evaluate(jd_ids,


test_resumes): ...

Dept .of CSE,NIE-Mysuru Page 27


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

1) NLP details

Segmentation → regex + classifier

NER & Skill Mapping → spaCy/HF + KB synonyms


Embeddings → transformer encoders Similarity

→ cosine, TF-IDF, Jaccard

2) User interface

- Upload JD
- Upload/Sync Resumes
- Rank Candidates
- Drilldown with per-feature explanation
- Feedback buttons

4) ATS integration

- Pull JDs/resumes via ATS APIs


- Push ranked results back - Idempotency with external IDs

5) Security & compliance

- Encryption (rest + transit)


- Role-based access control
- Retention policies
- Audit logs
- Consent handling

6) Deployment & scaling

- Containers
- Autoscaling
- Caching
- Observability

7) Test plan

- Unit tests
- Golden labeled sets
- Robustness tests
- Fairness audits
Dept .of CSE,NIE-Mysuru Page 28
SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

8) Module-wise pseudocode index

A) extract_text if mime == pdf → pdf_to_text if mime


== docx → docx_to_text ...

B) segment_sections lines = split_lines(clean_text)


candidates = find_heading_candidates(lines)
labels = classify_headings(candidates) return
slice_into_sections(lines, labels)

C) map_skills tokens = tokenize(...) if fuzzy_match(t,


KB) or embed_sim(t, KB) > τ: ...

D) infer_experience years =
sum(duration_spans(...))

E) aggregate_resume_embedding vectors =
select vectors where resume_id = ...
return mean(vectors)
F) section_sim
return cosine(embed(section_text), embed(jd_text))

G) mean_reciprocal_rank
for query q: rank_of_first = index_of_first(label>=positive)

return mean(1 / rank_of_first) 11) Minimal API sketch

(FastAPI)

POST /jobs
POST
/resumes
POST /rank
POST
/feedback

GET /results/{jd}

12) Results & Evaluation


- Metrics: nDCG@10, MRR, Precision@10, latency
Dept .of CSE,NIE-Mysuru Page 29
SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening
- Ablations
- Qualitative examples

13) Future enhancements

- Multilingual + OCR
- Timeline reconstruction
- De-duplication
- Active learning

Dept .of CSE,NIE-Mysuru Page 30


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

5.6 Snapshot

1. Open the anaconda prompt then add a path to the project folder and conda activate nlp env

Fig 5.6.1: Path for opening the GUI of NLP-Based Resume Parser for Automated Candidate
Screening
2. Dashboard to upload the Resumes

Fig 5.6.2: this is the dashboard to upload the resumes

Dept .of CSE,NIE-Mysuru Page 31


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

[Link] upload the resumes

Fig 5.6.3: key information extraction

[Link] key information extraction switch to compare with the job description (Gemini)

Fig 5.6.4: compare with the job description

5. Switch to BERT in comparing with job description

Dept .of CSE,NIE-Mysuru Page 32


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

Fig 5.6.5: It shows the Matching Score of the Resume with the job description

[Link] comparison shortlisted students view in dashboard

Fig 5.6.6: It shows the shortlisted Resume with the job description

Dept .of CSE,NIE-Mysuru Page 33


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

CHAPTER 6.
TESTING

6.1 Introduction to Testing

Testing plays a crucial role in validating the performance, reliability, and usability of the
Resume Screening and Ranking System. Before deploying the system in a real-world recruitment
environment, it is essential to ensure that each component—from data preprocessing to NLP-based
ranking is functioning correctly and meeting the defined objectives. The testing phase focuses on
verifying both functional requirements (such as resume parsing, keyword extraction, semantic
analysis, and candidate ranking) and non-functional requirements (such as efficiency, scalability,
and data security). Different levels of testing are applied to systematically identify and resolve
errors, optimize performance, and validate user expectations.

6.2 Types of Testing

1. Unit Testing:

• Objective: To verify that individual modules such as text preprocessing, feature


extraction, and similarity scoring function correctly in isolation.
• Description: Each component of the system is tested separately, ensuring correctness of
operations like tokenization, stop-word removal, keyword extraction, and embedding
generation. This allows early detection of logical errors before integrating modules.

2. Integration Testing:

• Objective: to provide seamless communication between the system's various parts.

• Description: Modules such as resume parsing, job description analysis, and candidate
ranking are tested together to check if the data flows correctly between them. The focus is
on identifying

interface mismatches or data handling issues.

Dept .of CSE,NIE-Mysuru Page 34


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

3. System Testing:

• Objective: To check the end-to-end functionality of the whole resume parsing and

screening system.

• Description: The performance is tested as a whole by simulating real recruitment scenarios.


From uploading resumes and job descriptions to generating ranked candidate lists, the
complete workflow is evaluated for correctness, reliability, and compliance with
requirements.

4. Performance Testing

• Objective: To assess the speed, scalability, and stability of the system under different
workloads.
• Description: The system is tested with large number of resumes and job descriptions to
measure response time, throughput, and resource utilization. Stress and load testing help
determine
whether the system can scale effectively in real-world conditions.

5 Validation Testing

• Objective: To validate that the system's output is in line with recruiter expectations and

project requirements.

• Description: The results generated by the system (ranked candidates) are compared
with the correct data or recruiter feedback. Accuracy metrics such as precision, recall,
F1-score, and mean

reciprocal rank (MRR) are used for evaluation.

Dept .of CSE,NIE-Mysuru Page 35


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

6. User Acceptance Testing (UAT)

• Objective: To confirm that the system is user-friendly and meets recruiter needs in
practical scenarios.

• Description: Recruiters interact with the dashboard to test usability, candidate filtering,
and interpretation of ranking results. Feedback is collected to validate ease of use and
practical applicability before deployment.

6.2 Test Cases

Test ID Test Case Expected Actual Result


Result Status.
(Pass/Fail)

TC001 Upload a valid Resume parsed Resume parsed Pass


PDF resume and stored and stored

TC002 Upload a valid Resume parsed Resume parsed Pass


DOCX resume and stored and stored

TC003 Upload an Error message Error message Pass


unsupported file displayed displayed
format

TC004 Extract text Text extracted Text extracted Pass


from PDF with correctly correctly
normal
formatting

TC005 Extract text Text extracted Text extracted Pass


from DOCX with structure with structure
with tables preserved preserved

Dept .of CSE,NIE-Mysuru Page 36


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

TC006 Parse resume Skills section Skills section Pass


and detect identified identified
Skills section

TC007 Parse resume Education Education Pass


and detect section section
Education identified identified
section

TC008 NER ORG ORG Pass


identifies entities entities
organization extracted extracted

names

TC009 NER Degree Degree Pass


identifies entities entities
degree names extracted extracted

TC010 Map synonym Mapped to Mapped to Pass


skills (C++ vs
C plus plus) same KB same KB
entry entry

TC011 Compute TF- Similarity Similarity Pass


IDF similarity score score
returned returned

TC012 Compute Cosine Cosine Pass


embedding
similarity similarity similarity
returned returned

Dept .of CSE,NIE-Mysuru Page 37


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

TC013 Compute skill Coverage Coverage Pass


coverage score score
returned returned

TC014 Check years Exp_ok Exp_ok Pass


of experience signal signal
returned returned
against JD

TC015 Check Edu_ok Edu_ok Pass


signal signal
education returned returned
requirement
against JD

TC016 Check Location Location Pass


location match match
match signal signal
returned returned

TC017 Compute Score 0-1 Score 0-1 Pass


returned returned
baseline score

TC018 Rank resumes Ranked list Ranked list Pass


for a JD returned returned

TC019 Apply Adjusted Adjusted Pass


fairness ranked list ranked list
adjustment returned returned

Dept .of CSE,NIE-Mysuru Page 38


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

TC020 Submit Feedback Feedback Pass


recruiter stored stored

feedback

TC021 Retrain LTR Model Model Pass


model with updated updated
feedback

TC022 Evaluate nDCG, nDCG, Pass


MRR, MRR,
ranking
metrics Precision Precision
computed computed

TC023 Integrate JD JD stored JD stored Pass


upload via with with
API embedding embedding
s s

TC024 Integrate Resume Resume Pass


resume stored and stored and
upload parsed parsed

via

API

TC025 Call /rank Rank Rank Pass


API results results
returned returned

TC026 Call /feedback Feedback Feedback Pass


API saved saved

Dept .of CSE,NIE-Mysuru Page 39


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

TC027 Call Rank Rank Pass


results results
/results/{jd} retrieved retrieved
API

TC028 Encrypt Data Data Pass


encrypted encrypted
resume data at
rest

TC029 Encrypt Data Data Pass

resume data transmitted transmitted


in transit via TLS via TLS

TC030 Ensure Access Access Pass

rolebased granted/de granted/de


access control nied nied
works correctly correctly

TC031 Retention Data older Data older Pass


policy for than TTL than TTL
resumes purged purged

TC032 Audit logs for Logs Logs Pass


ranking recorded recorded
events

TC033 Cache Cached Cached Pass


embeddings embedding embedding
for JD used used

Dept .of CSE,NIE-Mysuru Page 40


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

TC034 Cache Cached Cached Pass


embeddings for embedding used embedding
resumes used

TC035 Handle Error handled Error handled Pass


corrupted PDF gracefully gracefully
resume

TC036 Handle very Resume Resume Pass


large resume processed processed
file without crash without crash

TC037 Handle OCR fallback OCR fallback Pass


imageonly used used
PDF resume

TC038 Fairness Exposure parity Exposure parity Pass


constraint ensured ensured
parity check

TC039 Drilldown Feature Feature Pass


feature breakdown breakdown
contributions shown shown

6.2.1: Validation Test Cases

Dept .of CSE,NIE-Mysuru Page 41


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

Chapter 7.

Conclusion

7.1 Project Conclusion

The Resume Parsing and Screening System, powered by Gemini AI, leverages advanced
NLP capabilities to deliver highly accurate, unbiased, and efficient candidate selection. Gemini
AI’s contextual understanding enables precise parsing and categorization of complex resume
information, including skills, job titles, and experience, ensuring that only the most relevant
details are extracted and matched against job-specific requirements. Its sophisticated ranking
algorithms facilitate effective and fair candidate scoring, minimizing bias and enhancing
accuracy in the screening process. This adaptability and accuracy make the tool suitable for
various industries and provide companies of all sizes with a streamlined recruitment process and
a reduced time-to-hire.

7.2 Future Enhancement

• Enhanced Semantic Matching: Future versions could incorporate more advanced


transformer based models such as GPT-4 or domain-specific BERT variants for deeper
semantic understanding, enabling more accurate alignment between candidate
experience and job

description.

• Integration with ATS Platforms: Expanding the system to integrate with widely-used
Applicant Tracking Systems (ATS) would allow seamless adoption within existing HR
workflows and enhance recruiter efficiency.

• Bias Mitigation Techniques: Incorporating fairness-aware algorithms and error


detection mechanisms can help validate equitable candidate evaluation, minimizing
unintentional demographic bias in the selection process.

• Multilingual Support: Adding support for multilingual NLP models would enable
parsing and matching of resumes and job role requirements in different languages,
Dept .of CSE,NIE-Mysuru Page 42
SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

allowing for global

scalability.

• Feedback-Based Learning: A feedback loop from recruiters can used to continuous


improvement of the system performance, allowing the model to adjust the evolving
hiring

standards and real-world job market trends.


• Mobile Application Development: Creating a mobile application version of the Resume
Parser can enhance accessibility, enabling users to upload resumes, receive feedback,
and track their profile status on-the-go.

Dept .of CSE,NIE-Mysuru Page 43


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

7.3 References

1. Li, S., & Ma, H. (2020). "An Intelligent Resume Screening System Based on NLP and
ML"
International Journal of Advanced Computer Science and Applications, 11(3), 25-31.

2. Chandrashekar, G., & Sahin, F. (2014). "A Survey on Feature Selection


Methods."
Computers & Electrical Engineering, 40(1), 16-28.

3. Sharma, S., & Jha, K. (2019). "Web Application for Screening Resumes Using Natural

Language Processing" IEEE International Conference on Nascent Technologies in


Engineering.

4. Chowdhury, A. S., & Chatterjee, P. (2019). "Automated Resume Screening: A

Study Using Machine Learning Techniques." International Journal of Computer

Applications, 178(7), 24-29.

5. Rana, A., & Rahman, M. (2021). "Intelligent Resume Screening System


Using Deep Learning." International Journal of Computer Applications, 175(8), 1-7.

6. Kumar, S., & Kumari, R. (2020). "An Efficient Resume Parser System for
Automatic Screening of Candidates." International Journal of Information
Technology, 12(3), 823-830.

7. Meena, K., & Kumar, R. (2020). "A Novel Approach for Automated Resume
Screning Using Text Mining." International Journal of Scientific & Technology
Research, 9(2), 5834-5839.

8. Jain, S., & Singh, R. (2020). "Intelligent Resume Parsing and Ranking Using
Machine Learning." Journal of King Saud University - Computer and Information
Sciences.

9. Alotaibi, H. M., et al. (2021). "Automated Resume Screening usingz Machine


Learning: A Review." Journal of Computer Networks and Communications.

10. Ghaffari, A., & Ghasemaghaei, M. (2018). "Leveraging Natural Language


Processing for Resume Screening." Proceedings of the 2018 IEEE

Dept .of CSE,NIE-Mysuru Page 44


SkillMatrix -NLP-Based Resume Parser for Automated Candidate Screening

Dept .of CSE,NIE-Mysuru Page 45

You might also like