0% found this document useful (0 votes)
101 views27 pages

Job Recommendation Bot

This document describes a job recommendation bot that uses recommendation systems including collaborative filtering and content-based filtering. It discusses the existing job searching process and proposes a bot to reduce search time and filter results based on user preferences like location and domain. The document then covers related work on recommendation algorithms, system implementation details, the recruiting process, and coding for the bot.

Uploaded by

sparsh Gupta
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)
101 views27 pages

Job Recommendation Bot

This document describes a job recommendation bot that uses recommendation systems including collaborative filtering and content-based filtering. It discusses the existing job searching process and proposes a bot to reduce search time and filter results based on user preferences like location and domain. The document then covers related work on recommendation algorithms, system implementation details, the recruiting process, and coding for the bot.

Uploaded by

sparsh Gupta
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
You are on page 1/ 27

JOB RECOMMENDATION BOT

Abstract
Dealing with the enormous amount of recruiting information on the Internet, a job
seeker always spends hours to find useful ones. To reduce this laborious work, this
design and implement a recommendation system for online job- searching l. The
model we proposed is verified through experiments study which is using actual
data. The recommended results can achieve higher scores of precision and recall,
and they are more relevant with users’ preferences than before. This bot uses a
recommendation system; item-based collaborative filtering; content-based filtering.
1. INTRODUCTION

The increasing usage of the Internet has heightened the need for online job hunting.
According to Jobsite’s report 2014, 68% of online jobseekers are college
graduates or post graduates. The key problem is that most job-hunting websites
just display recruitment information to website viewers. Websites just display
recruitment information to website viewers. Students have to retrieve all the
information to find jobs they want to apply for. The whole procedure is tedious and
inefficient. By creating an easy job recommendation system where everyone will
have a fair and square chance. This saves a lot of potential time and money both on
the industrial as well as the job seeker’s side. Moreover, as the candidate gets a fair
chance to prove his talent in the real world it is a lot more efficient system. The
basic agenda of every algorithm used in today’s world be it a traditional algorithm
or a hybrid algorithm is to provide a suitable job that the user actually seeks and
wishes for.

1.1 OBJECTIVES

In this project we are going to make a BOT which will recommend the Job or
Internship to the candidate as per candidates preferred location and domain.

1.2 NEED OF NEW SYSTEM


1.2.1 EXISTING SYSTEM

According to the comparison between the existing system and proposed system
that is clear there are many ways to figure out jobs and internships through various
websites. There are many sources which are used to search and apply for a job or
internship.

1.2.2​ ​PROPOSED SYSTEM

It will be the proper utilization of time by avoiding usual searching method. It


demonstrated in their proposed model, the relationship between recruiting
tasks and divided the recruiting process into two main phases: The attraction
phase and the selection phase, both phases contain a planning and an
execution part. The planning part determines the overall strategy and actual
measures to attract valuable employees as well as the explicit selection methods.
The execution part comprises the employer branding activities that include all
long-term marketing measures that attract qualified candidates.

This BOT will reduce the time of the searching process and filter the output as per
the candidate’s requirements.
1.2.3 ADVANTAGES OF PROPOSED SYSTEM

The aim of the proposed system is to develop a system of improved facilities. The
proposed system can overcome all the limitations of the existing system. This will
minimize the time of the searching process and filter the output as per the
candidate’s requirements.

● Security of data.
● Minimize manually searching process
● Minimize time needed for the various processing.
● Greater efficiency.
● Better services.
● User friendliness and interactive.
● Minimum time required.
2. LITERATURE SURVEY

2.1 Introduction

There are endless algorithms to help a seeker find the right job, some are the
traditional algorithms while some are newly found and there are a large number of
hybrid algorithms which are a combination of many algorithms. All these
algorithms have the only goal to seek a righteous job for the candidate. CF is a
popular recommendation algorithm that bases its predictions and recommendations
on the ratings or behaviour of other users of the system. It also uses a profound
technique called Information Retrieval (IR). Information Retrieval is a new and
advanced technique used for achieving the most accurate and desired result without
compromising on the efficiency of the result.
3. OVERVIEW OF TECHNOLOGY

Programming Language: ​Python

Operating System: ​Windows 10 Pro

IDE:​ ​PyCharm

Server Operating System:​ ​Windows 10 Pro

Client Software Requirements: ​Any internet browser which supports Windows


10 Pro

Server Hardware Requirements:

● Processor : Intel(R) Core (TM) i5-3470U CPU @3.40GHz


● RAM : 8GB DDR4 SDRAM
• Storage (ROM) : 500 GB

• Internet Connectivity

Client Hardware Requirements:

• Any PC

• Internet Browser

• Internet Connectivity
4. RELATED WORK

4.1. Recommendation Algorithms

1) Content-based filtering (CBF):

In Content-based methods, features of items are abstract and compared with a


profile of the user’s preference. In other words, this algorithm tries to recommend
items that are similar to those that a user liked in the past. It is widely applied in
information retrieval(IR). However it performs badly in multimedia fields such as
music or movie recommendation because it is hard to extract items attributes and
obtains user’s preference sometimes.

2) Collaborative Filtering (CF):

CF is a popular recommendation algorithm that bases its predictions and


recommendations on the ratings or behavior of other users in the system.

There are two basic types: User-based CF and Item-based CF.

● User-based CF: find other users whose past rating behavior is similar to that
of the current user and use their ratings on other items to predict what the
current user will like. The working of User –based CF is a quite simplified
technique; all it does is examine the past interests of the user and based on
the past results the system makes an accurate result of the candidate who has
applied for a job.
● Item-based CF: Rather than using similarities between users’ rating behavior
to predict preferences, item–based CF uses similarities.
4.2 Implemented System

When building our first bots, we decided that they should be modular programs
that can be added to communication groups. That way, they provide additional
functionality to groups, the bot complexity is self contained, and bot code remains
separate from our server/infrastructure code bases.

This design and implement a recommendation system for online job- searching.
The model we proposed is verified through experiments study which is using
actual data. The recommended results can achieve higher scores of precision and
recall, and they are more relevant with users’ preferences than before. This lets us
easily change providers for our services, and also alias our calls into
understandable method names. So, we can write.
5. THE RECRUITING PROCESS

Recruiting process is a core function of human resource management treating


labor as one of the important factors of production (Färber et al., 2003). The
key Al-Otaibi and Ykhlef. The objective of the recruiting process is to hire
candidates who are valuable for the company (Laumer and Eckhardt, 2009). Two
viewpoints are distinguished: from recruiters‟ and job seekers. The recruiters
generate the job description by determining the set of requirements and
constraints on skills, expertise levels, and degrees. The job-seeker, on the other
hand, generates his/her CV by specifying the academic background, previous
work experience and skills (Fazel-Zarandi and Fox, 2010). The IT support for the
recruiting activities is ranging from attracting and finding talent to choose
and retain candidates (Laumer et al., 2010). The degree of process integration
represents the complexity of using e-recruitment solutions (Malinowski et al.,
2005). Färber et al. (2003) demonstrated in their proposed model, the
relationship between recruiting tasks and divided the recruiting process into
two main phases: The attraction phase and the selection phase, both phases
contain a planning and an execution part. The planning part determines the
overall strategy and actual measures to attract valuable employees as well as the
explicit selection methods. The execution part comprises the employer branding
activities that include all long-term marketing measures that attract qualified
candidates. The attraction phase aims to generate a description for open job
positions. The selection phase starts with the pre-screening of resumes and
other submitted materials. Then, the final selection of candidates is conducted
by comparing the remaining set of candidates that has not been filtered out in
the screening phase. Finally, the applicant management serves as a secondary
function; it consists of the contact of applicants, the management of applicant data
and associated processes such as directing applications to organization‟s
members involved in the selection decision. Figure 1 represents the recrui-ting
process that is adapted from Lang et al. (2011). Additionally, Carroll et al.
(1999) presented four phases of the recruiting process: an assessment of job
position that needs to be filled, a description job profile, the construction of
a job description and a candidate specifi-cation. Moreover, Breaugh and Starke
(2000) composed the recruiting process into five main tasks: short-term and
long-term candidate attraction, applicant management, pre-selection as well as
the final selection of candidates. Short-term and long-term marketing measures
are establishing the attractive employer image that intended to attract qualified
candidates.

6. CODING PHASE

6.1 Code

import ​time
import ​requests
from ​bs4 ​import ​BeautifulSoup
from ​openpyxl ​import ​Workbook
workbook = Workbook()

sheet = workbook.active
sheet[​"A1"​] = ​"Name"
sheet[​"B1"​] = ​"Domain"
sheet[​"C1"​] = ​"Location"
sheet[​"D1"​] = ​"Link"
workbook.save(filename=​"Data.xlsx"​)
sheet = workbook.active

def ​timesleep():
s = time.sleep(​3​)
​return ​s

#User details
print(​"Hey!!!​\n​"​)
timesleep()
print(​"I am Lara from Conscript HR Pvt Ltd.​\n​"​)
timesleep()
print(​"I am here to help you.​\n​"​)
timesleep()
name = input(​"May I know your name?​\n​"​)
timesleep()
print(​"​\n​Nice to meet you %s.​\n​" ​%name)
timesleep()
profession = input(​"You are a fresher or professional?​\n​"​)
timesleep()
print(​"​\n​That's great​\n​"​)
timesleep()
skills = input(​"Tell me about you skills​\n​"​)
timesleep()
print(​"​\n​Okay​\n​"​)
current_location = input(​"What is your current location?​\n​"​)
timesleep()
prefered_location = input(​"​\n​What is your preferred location?​\n​"​)
timesleep()
print(​"​\n​Okay​\n​"​)
timesleep()
domain = input(​"On what domain you want to apply?​\n​"​)
timesleep()
print(​"​\n​Okay​\n​"​)
timesleep()

'''Web Scraping'''
i = ​1
j = ​0
print(​"Here I got top 10 links from monster.com​\n​"​)
timesleep()
print(​"You must check​\n​"​)
url =(​'https://www.monster.com/jobs/search/?q=%s&where=%s'​) %
(domain​,​prefered_location)
page = requests.get(url)
soup = BeautifulSoup(page.content​, ​'html.parser'​)
results = soup.find(id=​'ResultsContainer'​)
job_elems = results.find_all(​'section'​, ​class_=​'card-content'​)

for ​job_elem ​in ​job_elems:


title_elem = job_elem.find(​'h2'​, ​class_=​'title'​)
company_elem = job_elem.find(​'div'​, ​class_=​'company'​)
location_elem = job_elem.find(​'div'​, ​class_=​'location'​)
​if None in ​(title_elem​, ​company_elem​, ​location_elem):
​continue
​print(company_elem.text + ​"Domain : " +
​ title_elem.text)
​# print(title_elem.text)
​print(location_elem.text)
jobs = results.find_all(​'h2'​, ​string=​lambda ​text: job_elem)
link = job_elem.find(​'a'​)[​'href'​]
print(​f"Apply here: ​{​link​}\n​"​)

print(​"--------------------------------------------------------------------------------------
-----"​)
time.sleep(​1​)
i = i+​1
​a = (​"A%s"​)%(i)
b = (​"B%s"​) % (i)
c = (​"C%s"​) % (i)
d = (​"D%s"​) % (i)
sheet[a]= company_elem.text
sheet[b] = title_elem.text
sheet[c] = location_elem.text
sheet[d] = link
workbook.save(filename=​"Data.xlsx"​)
j = j + ​1
​if ​j == ​10​:
​break

print(​"Here I attach some more website links from other website, I hope this
will help you.​\n​"​)
timesleep()
url2 = (​'https://www.indeed.co.in/jobs?q=%s&l=%s&sort=date​\n\n​'​) %
(domain​,​prefered_location)
print(url2)
url3 =(​'https://www.reed.co.uk/jobs/%s-jobs-in-%s​\n\n​'​) %
(domain​,​prefered_location)
print(url3)
url4 = (​'https://www.iimjobs.com/c/filter/%s-jobs-in-%s-15-2-0-0-1.html​\n\n​'​)
% (domain​,​prefered_location)
print(url4)
url5
=(​'https://www.naukri.com/data-science-jobs-in-mumbai?k=%s&l=%s​\n\n​'​) %
(domain​,​prefered_location)
print(url5)
7. RESULT AND DISCUSSION

7.1 Software Results

This Job Recommendation Bot will take inputs from the user by asking general
questions. It will take details and place it in appropriate position. By using web
scrapping, it will parse various websites. After parsing websites, it will give
outcome of particular domain. It will provide the name of company, Job domain,
its location and link in which candidate can apply. It will be the proper utilization
of time by avoiding copy paste method. Users do not need to waste time to search
on any search engine and look for filtration on any website. This Bot will filter
everything by itself. It is simple to use. Our Job recommendation bot needs to do
the following tasks:

To exchange the cultural information globally through the bot:


● Other features include: -

● Time Efficient

● Cost Effective

● Simple and Easy to use

● User Friendliness

7.2 OUTPUT
Figure 7.1

Figure 7.2
Figure 7.3
Figure 7.4

Figure 7.5
8. FEASIBILITY STUDY

8.1 What are the user’s demonstrable needs?


User needs a system, which will remove all the above-mentioned problems that,
the user is facing. The user wants a system, which will be more secure and if the
user hires a person instead he/she has to pay for it.

8.2 How can the problem be redefined?


We proposed our perception of the system, in accordance with the problems of
existing system by making a full layout of the system on paper. We tallied the
problems and needs by existing system and requirements. We were further
updating in the layout in the basis of redefined the problems. In feasibility study
phase we had undergone through various steps, which are described as under:

8.3 How feasible is the system proposed?


This was analysed by comparing the following ​factors with both the existing
system and proposed system:-
Cost: ​The cost required in the proposed system is comparatively less to the
existing
System or we can say it is costless.
Effort: ​Compared to the existing system the proposed system will provide a better
working environment in which there will be ease of work and the effort required
will be comparatively less than the existing system.
Time: ​It saves the time of the person.
9. TESTING PHASE

One of the purposes of the testing is to validate and verify the system. Verification
means checking the system to ensure that it is doing what the function is supposed
to do and
Validation means checking to ensure that system is doing what the user wants it
to do. No program or system design is perfect; communication between the user
and the designer is not always complete or clear, and time is usually short. The
result is errors and more errors. Theoretically, a newly designed system should
have all the pieces in working order, but in reality, each piece works
independently. Now is the time to put all the pieces into one system and test it to
determine whether it meets the user's requirements. This is the best chance to
detect and correct errors before the system is implemented. The purpose of
system testing is to consider all the likely variations to which it will be subjected
and then push the system to its limits. If we implement the system without proper
testing then it might cause the problems.

• Communication between the user and the designer.

• The programmer's ability to generate a code that reflects exactly the system
specification.

• The time frame for the design.

Theoretically, a new designed system should have all the pieces in working order,
but in reality, each piece works independently. Now is the time to put all the
pieces into one system and test it to determine whether it meets the requirements
of the user.
The process of system testing and the steps taken to validate and prepare a system
for final implementation are:

9.1 Levels of Testing

The different types of testing are as follows:

9.1.1 Unit Testing:

This is the smallest testable unit of a computer system and is normally tested
using the white box testing. The author of the programs usually carries out unit
tests.

9.1.2 Integration Testing:

In integration testing, the different units of the system are integrated together to
form the complete system and this type of testing checks the system as whole to
ensure that it is doing what is supposed to do. The testing of an integrated system
can be carried out top-down, bottom-up, or big-bang. In this type of testing, some
parts will be tested with white box testing and some with black box testing
techniques. This type of testing plays very important role in increasing the
systems productivity. We have checked our system by using the integration
testing techniques.
9.1.3 System Testing:

A part from testing the system to validate the functionality of software against the
requirements, it is also necessary to test the non-functional aspect of the system.
Some examples of non-functional tools include tests to check performance, data
security, usability/user friendliness, volume, load/stress that we have used in our
project to test the various modules.
System testing consists of the following steps:

• Program(s) testing.

• String testing.

• System testing.

• System documentation.

• User acceptance testing.

9.1.4 Field Testing:

This is a special type of testing that may be very important in some projects. Here
the system is tested in the actual operational surroundings. The interfaces with
other systems and the real world are checked. This type of testing is very rarely
used. So far, our project is concerned, we haven't tested our project using the field
testing.
9.1.5 Acceptance Testing:

After the developer has completed all rounds of testing and he is satisfied with the
system, then the user takes over and re-tests the system from his point of view to
judge whether it is acceptable according to some previously identified criteria.
This is almost always a tricky situation in the project because of the inherent
conflict between the developer and the user. In this project, it is the job of the
book stores to check the system that whether the made system fulfils the goals or
not.
10. MAINTENANCE AND EVALUATION

As we know, creating software is one thing and the implementation of the


created software is another. The process of implementing software is much
difficult as compared to the task of creating the project. First, we have to
implement the software on a small scale for removing the bugs and other errors in
the project and after removing them we can implement the software on a large
scale. Before we think in terms of implementing the Software on a large basis, we
must consider the Hardware requirements. Whenever we develop software or
project a certain hardware and software is being used by the programmer for
developing the project. The hardware and software to be used by the programmer
for developing the project should be such that it would result in the development
of a project, which would satisfy all the basic needs for which the project has been
created by the programmer. The Hardware should be such that cost constraints of
the Client should also be taken into account without affecting the performance.

10.1 Hardware Evaluation Factors

When we evaluate computer hardware, we should first investigate specific


physical and performance characteristics for each hardware component to be
acquired. These specific questions must be answered concerning many important
factors. These hardware evaluation factors questions are summarized in the below
figure.
Notice that there is much more to evaluating hardware than determining the
fastest and cheapest computing device. For e.g. the question of possible
obsolescence must be addressed by making a technology evaluation. The factor of
ergonomics is also very important. Ergonomics is the science and technology that
tries to ensure that computer and other technologies are "user-friendly", that is
safe, comfortable and easy to use. Connectivity is another important evaluation
factor, since so many computer systems are now interconnected within wide area
or local area telecommunications networks.
Factors:

• Performance

• Cost

• Reliability

• Availability

• Compatibility

• Modularity

• Technology

• Ergonomics

• Connectivity

• Environmental requirements

• Software
• Support

10.2 Software Evaluation Factors

Software can be evaluated according to many factors similar to the hardware


evaluation. Thus, the factors of performance, cost, reliability, compatibility,
modularity, technology, ergonomics, and support should be used to evaluate
proposed software acquisitions. In addition, however, the software evaluation
factors are summarized in below figure. For e.g. some software packages require
too much memory capacity and are notoriously slow, hard to use, or poorly
documented. They are not a good selection for most ​end users, even if offered at
attractive prices.

Factors:

• EFFICIENCY: Is the software a well-written system of computer


instructions that does not use much memory capacity or CPU time?
• FLEXIBILITY: Can it handle its processing assignments easily without
major modifications?
• SECURITY: Does it provide control procedures for errors, malfunctions
and improper use?
• LANGUAGE: Do our computer programmers and users write it in a
programming language that is used?
• DOCUMENTATION: Is the software well documented? Does it include
helpful user instructions?
• HARDWARE: Does existing hardware have the features required to best
use this software?
• Other characteristics of hardware such as its performance, what about the
cost, how much is reliable and etc.

11.CONCLUSION

On the basis of this study and various techniques to research and after
implementation of algorithms the CF based algorithm for its better performance
and overall factors. Of course a lot of improvement and hybrid algorithms need to
be implemented alongside CF algorithms. To further optimize the recommendation
system, and integrate the system for better performance we keep in check the
sparsity of the user profile and use some methods of filling the user's preference
matrix can be utilized.

You might also like