Skill Matrix
Skill Matrix
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)
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).
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.
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.
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
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.
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).
• 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.
• Database Integration: Stores all shortlisted candidate profiles in a MySQL database with
match score, skills, and timestamp.
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
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.
Chapter 3
• 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:
• 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
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.
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.
[Link] Environment
Developer Workstations:
• Storage: SSD with at least 512 GB (for fast access to libraries and datasets)
• Network: Reliable internet connection for accessing libraries, Gemini API keys
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.
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 Candidate ranking
o User dashboard for managing resumes, job descriptions and candidate shortlists
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.
Chapter 4
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.
Figure 4.2.1: Architecture for Resume Parsing and Screening System Using NLP
o CV Upload: Job applicants upload the resumes; they are usually unstructured text files.
o Filtration Module:
Skill Set Extraction: After filtering, a set of relevant skills is extracted from the
resume.
• 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.
• 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.
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:
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.
• Resume Parsing → Extract important details like skills, education, and experience.
• Candidate Comparison (Gemini) → Compares resumes and job descriptions using Gemini.
• Display Matching Score → Shows match score between candidate and job.
• Save Results in Database → Saves matching results and rankings in the database.
Actors:
• System: Resume Parser and Screening System handles all the processing.
Use Cases:
o Internally, the system reads and converts resumes into simple text for further analysis.
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.
o The recruiter manually inputs the job requirements (e.g., required skills, experience level).
o The machine uses NLP (BERT & Gemini) to semantically compare the extracted
resume content with the job description.
o Candidates with a match score above the 40% threshold are shortlisted for further review.
o The recruiter can view all shortlisted candidates in a clear, structured dashboard.
o The recruiter can download the shortlisted profiles as a .csv file for offline review or
sharing.
o All shortlisted data is stored in a MySQL database using SQLAlchemy for future
retrieval and reporting.
Flow:
• Recruiter uploads a resume → System extracts key details (Name, Skills, etc.)
• Resume data + Job Description → Compared using BERT/Gemini for semantic matching
Flow of Operations:
• System → NLP Engine: The system sends the data for preprocessing and resume parsing.
• System → NLP Engine: Sends data for keyword extraction and semantic analysis.
• 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.
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
• Text Preprocessing:
o Text Extraction: Resumes are parsed from PDF and DOCX files using
o Regex-Based Info Extraction: Used to extract contact details, education, and skills.
• 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
• Ranking Models:
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.
• 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 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.
• Input Format: Job descriptions are entered manually into a text box as plain text within the app.
• Extracted Elements: Job Title, Required Skills, Preferred Skills, Experience Level,
Education, Requirements and Responsibilities
To perform accurate ranking and candidate-job matching, contextual embeddings are generated
from:
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.
• 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.
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.
• 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.
• 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.
contextual meaning.
2 Ranking Algorithms
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
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):
entities["DATE"])
v = embed([Link])
upsert(embeddings{...})
jd_sections = segment_jd(normalized)
upsert(embeddings{...}) cache_jd_features(jd_id,
jd_skills, attrs) return jd_id
r = load_parsed_resume(resume_id)
jd_feats.requirements)
return {...}
w = {...}
1) NLP details
2) User interface
- Upload JD
- Upload/Sync Resumes
- Rank Candidates
- Drilldown with per-feature explanation
- Feedback buttons
4) ATS integration
- 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
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)
(FastAPI)
POST /jobs
POST
/resumes
POST /rank
POST
/feedback
GET /results/{jd}
- Multilingual + OCR
- Timeline reconstruction
- De-duplication
- Active learning
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
[Link] key information extraction switch to compare with the job description (Gemini)
Fig 5.6.5: It shows the Matching Score of the Resume with the job description
Fig 5.6.6: It shows the shortlisted Resume with the job description
CHAPTER 6.
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.
1. Unit Testing:
2. Integration Testing:
• 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
3. System Testing:
• Objective: To check the end-to-end functionality of the whole resume parsing and
screening system.
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
• 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.
names
feedback
via
API
Chapter 7.
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.
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.
• 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
scalability.
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.
3. Sharma, S., & Jha, K. (2019). "Web Application for Screening Resumes Using Natural
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.