Professional Documents
Culture Documents
Natasha Fyp
Natasha Fyp
Developed By
Supervised By Panel 1
Ms. Zakia Jalil
Dr. Umara Zahid
Final Approval
Dated: __________________
It is certified that we have read the project report submitted by Natasha Saeed (3119-
Committee:
Supervisors:
Dr. Ummara Zahid
Lecturer
DCS&SE, FBAS IIUI Signature:
Ms. Zakia Jalil
Lecturer
DCS&SE-IT, FBAS IIUI Signature:
Dedicatio
n
DEDICATION
I dedicate this project to my loving guardians and supportive teachers. Additionally, I also
dedicate this project to the teamwork put in by each other in this journey. For
special dedication, I dedicate my project to my family, concerned teachers
and helpful batch mates who created a space of appreciation and hope for me
to reach here. I could not have made it without the prayers, hard work and
passion.
Automated Recruitment System i
Dissertatio
n
DISSERTATION
A dissertation is submitted to the Department of Computer Science & Software
Engineering. International Islamic University Islamabad, as a partial fulfillment of
requirements, for the award of the degree.
BS in Software Engineering
DECLARATION
I hereby declare that this system neither as a whole nor as a part has been copied from
any source. It is further declared that I have developed this system entirely based on my
personal efforts and learning made under the sincere guidance of my teachers and
supervisors. If any part of this report is proved to be copied out or found to be reported, I
shall stand by the consequences. No portion of the work presented in this report has been
submitted in support of any application for any other degree or qualification of this or any
other university or institute of learning
Natasha Saeed
3119-FBAS/BSSE/F16
ACKNOWLEDGEMET
I would like to express how blessed and grateful I am to Allah for His beneficial
blessings. My project is a directly supervised by Him as he kept me in good health and
made every obstacle easy.
Furthermore, I would like to mention my guardians. Their support, prayers and
encouragement allowed me to work in peace even during the pandemic. Moreover, a huge
thanks goes to my kind teachers; Dr. Umara Zahid and Ms. Zakia Jalil for marking their
presence through every step of my project. I have learnt a great deal of knowledge from
them.
Natasha Saeed
3119-FBAS/BSSE/F16
PROJECT IN BRIEF
COMPLETED:
OPERATING Windows 10 pro 64-bit
SYSTEM:
TOOLS Front End GUI will be done in HTML5, CSS3, bootstrap
ABSTRACT
Today companies prefer online-recruitment System to attract and pick the best suit from a
pool of potential candidates. Addressing the effectiveness of online recruitment and
generating the solutions for overcoming the current difficulties of manual recruitment is
key focus of my project. Recruitment and selection strategy based on modern
technologies requires an experienced and competent candidate resume. This web-based
application Automated Recruitment System is very useful system. This system is
developed for hiring the candidates for specific vacant post. In this project two major
languages are used PHP and Python and the most important text rank algorithms are the
main focus of this project. This Machine learning algorithm is used which reduce most of
the hectic task of HR. Two unquestionable benefits of this system are limiting the length
of the process in time and possibility to decrease the costs. The current system coupled
with the addition of planned enhancements will increase future hiring efficiency,
employee quality, and resulting financial savings.
Preface
This document contains total seven chapters. Brief overview of these chapters are as
follows. The first chapter includes introduction to the project, scope of the project,
problem statement etc. Second chapter includes basic concept. The third chapter deals
with the proposed system and project overview is given. It also includes the objectives of
the proposed system. The fourth chapter explains designing objectives or data structure
design of the system. The fifth chapter deal with the system development. The sixth
chapter deals with the system testing. The seventh chapter includes the conclusion about
the project. And finally, references are given.
Table of Contents
Chapter 01 ...................................................................................................................................... 13
INTRODUCTION .............................................................................................................................. 13
1. INTRODUCTION ........................................................................................................................ 2
1.1. Overview ........................................................................................................................... 3
1.2. Project Motivation ............................................................................................................ 3
1.3. Project Purpose ................................................................................................................ 3
1.4. Aims and objectives .......................................................................................................... 3
1.5. Problem statement ........................................................................................................... 4
1.6. Stakeholder and User Description .................................................................................... 4
1.7. User Summary .................................................................................................................. 5
CHAPTER 2........................................................................................................................................ 6
BASIC CONCEPTS/EXISTING SYSTEM ................................................................................................ 6
2. Problem Analysis ...................................................................................................................... 6
2.1. Project Idea ....................................................................................................................... 6
2.2. Proposed System .............................................................................................................. 6
2.3. Software Process .............................................................................................................. 6
2.3.1. Planning .................................................................................................................... 6
2.3.2. Designing .................................................................................................................. 7
2.3.3. Developing ................................................................................................................ 7
2.3.4. Testing ...................................................................................................................... 7
2.4. Software Technology ........................................................................................................ 7
2.5. Use Case Diagram ............................................................................................................. 8
2.6. Fully dressed use cases: ............................................................................................................. 8
CHAPTER 03.................................................................................................................................... 16
PROBLEM/SYSTEM ANALYSIS ......................................................................................................... 16
3. SYSTEM ANAYLYSIS................................................................................................................. 15
3.1. Specific functional requirements ................................................................................... 15
3.2. Non-functional requirements ......................................................................................... 15
Chapter 04 ...................................................................................................................................... 17
PROJECT DESIGN............................................................................................................................. 17
4. System Design ........................................................................................................................ 18
4.1. Domain model: ................................................................................................................... 18
4.2. Class Diagram ................................................................................................................. 19
Automated Recruitment System ix
Table of Contents
4.3. ERD (Entity Relationship Diagram) ................................................................................. 20
4.4. System Sequence Diagram ............................................................................................. 21
4.5. Sequence Diagram .......................................................................................................... 22
4.5.1. Sequence Diagram For login ............................................ Error! Bookmark not defined.
4.5.2 Sequence Diagram For API call ...................................................................................... 23
4.5.3 Sequence Diagram For Ranking ..................................................................................... 24
4.6. Flow chart: ...................................................................................................................... 25
CHAPTER 05 .................................................................................................................................... 26
IMPLEMENTATION ......................................................................................................................... 26
5. IMPLEMENTATION.................................................................................................................. 27
5.1.1.2 CSS3 ............................................................................................................................ 27
5.1.1.3 Bootstrap: ................................................................................................................... 27
5.1.2. Middleware: ..................................................................................................................... 28
5.1.2.1 PHP: ............................................................................................................................ 28
5.1.2.2. Python: ...................................................................................................................... 28
1. Introduction:
We live in a connected world where new technologies can bring benefits to us all, as
individuals, communities and businesses. With technology there is always progress and until
the end of time it will always be in motion.After completing education, the next phase that
comes in a person’s life is job. However, there are lots of people who start working before
completing their formal education. While searching for jobs the most important thing to
represent an applicant is Curriculum Vitae (CV) or Resume. In this era of technology, job
searching has become more smart and easier at the same time. However, there are more than
enough applicants for a single job and it is the responsibility of HR to review all the Resumes
carefully, this situation might be overwhelming to HR that need to allocate human resources
for manually assessing the candidate resumes and evaluating the process of analyzing the
applicant profiles to determine the ones that fit the position’s specifications could lead to an
increased efficiency. The ones that fit the position’s specifications could lead to an
applicant’s suitability for the positions at hand.
Automating this system is to help HR for selecting best fit Resume of the candidate for a
job. The system can also be used for professional. Sometimes it become difficult for the
HR to manage bulk of Resumes and difficult to review each Resume carefully, in such
situation he may select a candidate who may not fit best for that seat or he may miss some
Resume because of stress or tiredness, it will be counted as his negative point. To solve
this problem, an approach combined with Natural Language Processing (NLP) and
Machine Learning (ML) seems like a feasible opportunity. Nowadays, there are lots of
research done in both Natural Language Processing and Machine Learning. Machine
learning is about learning from data and making predictions and/or decisions.
HR receive applicant’s resumes and save them in a folder. He will login to system and
upload resumes and give a job description, then API will call, and python’s code will
execute and after few seconds he will get top five ranking resumes.
1.1. Overview:
This research starts with a desire to develop a unique system with a unique concept that
help the people. The challenging thing is the use of Machine Learning Algorithms that
gives the perfect result according to need or description.
I got my inspiration to develop this system is by my own internship in the summer break.
When I did work as a HR reviewing resumes of so many people and it was so hectic for
me to review every Resume and it was time taking. At that point, I got an idea in my
mind that why should I made a system that give relief to HR and reduce his work.
The main purpose of this system is to help HR for selecting best fit Resume of the candidate
for a job. The system can also be used for professional. Sometimes it become difficult for the
HR to manage bulk of Resumes and difficult to review each Resume carefully, in such
situation he may select a candidate who may not fit best for that seat or he may miss some
Resume because of stress or tiredness, it will be counted as his negative point. To solve this
problem, an approach combined with Natural Language Processing (NLP) and Machine
Learning (ML) seems like a feasible opportunity. Nowadays, there are lots of research done
in both Natural Language Processing and Machine Learning. Machine learning is about
learning from data and making predictions and/or decisions.
The project aims and objectives are achieved after the completion of the project were
carried out in this chapter. The succession of the application is also evaluated through this
sub chapter.
Create a talent pool of candidates to enable the selection of best candidates for the
organization.
It helps upwards the achievement rate of choice process by diminishing number of
unmistakably under-qualified or over-qualified work candidates.
The main aim of recruitment and selection is to aid the decision making of the upper
management to fill a gap; it helps them find the right candidate with the right qualifications
and skills to be able to do the job not taking in to consideration their race, age, gender, color
or nationality. This is important as it is a fair, effective and in good practice.
In order to remove the above mentioned and many other complications we will look
towards an automated system for selecting candidates. I am designing a system in order to
remove the drawback which we see in case of manual recruitment system of selecting
candidates. People can send their Resumes to HR and HR will upload these Resume on
our system then system will predict with the help of machine learning algorithms,
functions and datasets that which one is best for position.
2. Problem Analysis:
In this chapter, the main idea of Automated Recruitment System and its scope is
discussed. Problem analysis is the understanding of real-world problems, user’s needs and
proposing solutions to meet those needs. The goal of problem analysis is to gain better
understanding of a problem being solved, before development begins. Following is the
analysis on the project “Automated Recruitment System”.
The software process followed are everyday approach of planning, developing and testing.
Each phase is briefly explained:
2.3.1. Planning:
During this phase problem is identified and analyzed and the problem’s solution is
proposed in the form of a proposed system. The problem is identified, and
solution is proposed for it.
Project starts to take its proper shape during this phase. Problem domain analysis
is done, and the basic form of the architecture is made for the project. A use cases
of Automated Recruitment System where the actor of the project was modeled
and their goals that were identified in the inception phase. Use case descriptions
are also developed during this phase. A description of the software design has also
been made in this phase. UML diagrams System Sequence Diagram were made
for the system design.
2.3.3. Developing:
Implementation of the system takes place in this phase along with the testing. I
used python, Text Rank algorithms, word embedding similarities, php, bootstrap,
jQuery, JavaScript to develop the project.
2.3.4. Testing:
The website was tested through various test cases for every individual level as
well as a whole. Test cases were then observed and acted upon.
This application was developed by python using following libraries and packages
Spacy
Pdfminer
NLP
Xampp server
Anaconda navigator is used for python.
Front End GUI develop in HTML5, CSS3, BOOTSRAP.
Middleware: PHP (Hypertext Preprocessor)
Browsers: Chrome, Internet Explorer.
Priority High
Authentication:
UploadCv:
Priority High
API call:
Priority High
Data Cleaning:
Priority Medium
Data Acquisition:
Semantic matching:
Ranking:
Result:
Priority High
CHAPTER 03
PROBLEM/SYSTEM ANALYSIS
Chapter 3 Problem/System Analysis
3. SYSTEM ANAYLYSIS:
System analysis is a software engineering task that bridges the gap between system level
requirements engineering and software design.
Resume parsing feature automatically extracts basic details and creates consistently
formatted profiles for every candidate.
The system should rank candidates based on the criteria set.
The system should make some mathematical logics to short listed candidates.
The system shall display only short-listed candidates.
The system should offer the user (HR) a minute login page whenever he wants to add
to it.
The system shall also show sorted candidates resume file.
Usability:
The system shall have a clean interface with only needed features, clear terminology
and tool tips wherever necessary. The System’s functionality can be tested by layman
who did not develop the system. Check the speed with which HR uploads the fees for
selection. Navigation among pages should be done in no effort.
Efficiency:
The system shall Rank candidates in reasonable amount of time. The system shall
accept a big size of data especially when a user wants to upload documents like
curriculum vitae.
Security:
There should be no complaints regarding unauthorized access to the system. The
system should be physically secure.
4. System Design:
This chapter illustrates the diagrams which show the relationship between the classes,
objects and their attributes and the functionality performed by the classes.
UploadCv
System HR
LOGIN
API
Semantic matching
.com
Data Acquisition
Data Cleaning
Result
.com
System
HR Database
-Email:String -Email: String -Email:String
-Pass:string -Pass String
-Pass:Sring
-checkLogin(); -verifylogin();
+callingAPI();
-checkLogin()
-matchdata()
+words: String
-cleanup(pdf_path);
:System
:HR
Login()
Authentication
UploadCv()
APIcall()
Result
Logout()
acknowledge
A sequence diagram shows object interactions arranged in time sequence. It depicts the
objects involved in the scenario and the sequence of messages exchanged between the
objects needed to carry out the functionality of the scenario.
CheckLogin()
[if data!=correct]
Error Message
[else]
Authentication
Dashboard()
Display Dashboard
uploadCvs()
uploaded call()
acknowledge
Cleanup()
acknowledge
readdata ()
acknowledge
extraxtskills()
extracted
Match similarity()
Matching Done
Score()
Display result
Logout()
done
Start Login
Authentication Error
message
check No
Yes
Upload
Cvs
Error message
Error message
No No
Add job Upload
Description Resume
Yes Yes
API call
Extract Key
phrases
Semantic
matching
Ranking
Display
Result Logout End
5. IMPLEMENTATION
The best technique to cover this chapter includes description of tools and languages and
pseudo code used to develop this project. The pseudo codes have been classified as
function, non-function, back-end modules and database codes for better distinction to the
reader.
Bootstrap is a framework to help you design websites faster and easier. It includes HTML
and CSS based design templates for typography, forms, buttons, tables, navigation,
modals, image carousels, etc. It also gives you support for JavaScript plugins.
5.1.2. Middleware:
5.1.2.1 PHP:
PHP is a server-side scripting language. That is used to develop Static websites or Dynamic
Websites or Web applications. PHP stands for Hypertext Pre-processor, that earlier stood
for Personal Home Pages. PHP scripts can only be interpreted on a server that has PHP
installed. The client computers accessing the PHP scripts require a web browser only.
PHP files contains PHP tags and ends with the extension “. Php”.
5.1.2.2. Python:
5.1.3.1. MySQL:
MySQL creates a database for storing and manipulating data, defining the relationship of
each table. Clients can make requests by typing specific SQL statements on MySQL. The
server application will respond with the requested information and it will appear on the
clients’ side.
{
Get email
Get password
If (email !=$email)
{
If (password!=$password)
Display Error message (“invalid data”);
back to login}
}
Go to dashboard
Click on button (“upload”)
Go to index.php
Enter description in given text area and Upload Cvs
Click on button (“upload”)
{
If (description == empty)
display Error message (“description is required”)
If (uploadCvs == empty)
display Error message(“must upload Cvs”)
}
The process of testing a software is essential to locate and correct errors, to analyze all
functionalities and to determine the correct output of the designed system. We have opted
the technique of using Test Cases to test our system’s correctness.
Software Tester
Software Developer
Configuration Manager
End user
Roles may be change from company to company and their designations. The following
are some designation in software testing.
Software Quality Assurance Engineer
Analyst and Lead
This type of testing perfumed by developers before project is hand over to the testing
team, which formally execute test cases. Goal is to isolate each part of program and show
that individual’s part are corrects in terms of requirements.
Sub systems are integrated to make up the entire system. The testing process is concerned
with finding errors that result from unanticipated interactions between sub-systems and
system components. It is also concerned with validating that the system meets its
functional and non-functional requirements.
This is the final stage in the testing process before the system is accepted for operational use.
The system is tested with data supplied by the system procurer rather than simulated test data.
Acceptance testing may reveal errors and omissions in the system requirements definition
because the real data exercises the system in different ways from the test data. It
May also reveal requirements problems where the system's facilities do not really meet
the user's needs or the system's performance is not acceptable.
Test Cases:
A set of conditions such as pre-requisites and post conditions to specify a scenario for the
successful completion of a task. Test cases provide variables which determine whether a
system under test satisfies requirements and determines its correctness.
Date 15 OCT,2020
Tester Name: Natasha Saeed
Date 15 OCT,2020
Tester Name: Natasha Saeed
Actor: System
Pre-Conditions: Extraction must be done,
and resumes must be
uploaded
Normal Flow Expected Results Actual Results (Pass/Fail)
Check whether job Successful matched and If match, then ranking
description that we provided top one’s resume receive. process will continue. If not
is matching with skills same list of resumes will
mentioned in resumes return.
Alternative Flow Expected Results Actual Results (Pass/Fail)
Actor: System
Pre-Conditions: Semantic matching done
properly skill by skill.
Normal Flow Expected Results Actual Results (Pass/Fail)
Weight the skills in one Successful done. pass
gram, bigram, trigram etc.
Summary:
The journey of my project has stumbled with technical obstacles and circumstances due to
pandemic. The uncertainty, apprehensions and prevailing conditions had overpowered me
during my work cycle. Fortunately, as things resumed it was due to my teachers that I
gained I strength back. During the entire project I was supported academically and
morally, due to which I was able to produce the crux of learning from my four-year
degree program. I am proud to complete my project in time and feel confident with my
present skill set. Additionally, I hope to benefit from my final year project in my future
endeavors. My work was to bring out an application that provide ease to professionals
who have high burden of hiring someone for a specific post. They want to get rid of
reviewing each resume and it takes lots of time. The application is particularly designed
in such a way that it will help HR for selecting candidates and will reduce his workload
and he get best results from this system in the form of top-ranking candidates list.
Note:
Every interface has already been described in detail in chapters throughout the document.
How to access the website, how to upload resumes and system will display result
everything has already been discussed.
APPENDIX B
REFERENCES
Appendix B References
APPENDIX B
REFERENCES
3. Stack Overflow Community. (s.f.). Stack Overflow. Retrieved from <Stack Overflow:
https://stackoverflow.com/questions/52739323/python-data-cleaning>
4. Vidhya. (n.d.). introduction-text-summarization-textrank. Retrieved from <Analytics
Vidhya:https://www.analyticsvidhya.com/blog/2018/11/introduction-text-summarization-
textrank-python/>
5. AI, P. G. (2014). semanticscholar . Retrieved from
semanticscholar : <https://www.semanticscholar.org>