Job Recommendation Bot
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.
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.
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
IDE: PyCharm
• Internet Connectivity
• Any PC
• Internet Browser
• Internet Connectivity
4. RELATED WORK
● 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
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("\nNice to meet you %s.\n" %name)
timesleep()
profession = input("You are a fresher or professional?\n")
timesleep()
print("\nThat's great\n")
timesleep()
skills = input("Tell me about you skills\n")
timesleep()
print("\nOkay\n")
current_location = input("What is your current location?\n")
timesleep()
prefered_location = input("\nWhat is your preferred location?\n")
timesleep()
print("\nOkay\n")
timesleep()
domain = input("On what domain you want to apply?\n")
timesleep()
print("\nOkay\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')
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
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:
● Time Efficient
● Cost Effective
● User Friendliness
7.2 OUTPUT
Figure 7.1
Figure 7.2
Figure 7.3
Figure 7.4
Figure 7.5
8. FEASIBILITY STUDY
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.
• The programmer's ability to generate a code that reflects exactly the system
specification.
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:
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.
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.
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
• Performance
• Cost
• Reliability
• Availability
• Compatibility
• Modularity
• Technology
• Ergonomics
• Connectivity
• Environmental requirements
• Software
• Support
Factors:
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.