This document describes a project to develop a resume filtering mechanism for companies to hire qualified candidates. It outlines the following:
1) Keywords were extracted from over 300 job descriptions and resumes and a dictionary of 45 keywords was developed.
2) A keyword matching model was built in Python to match keywords between resumes and job descriptions and output results as 1 (keyword appears) or 0 (does not appear).
3) 50 resumes were matched against 50 job descriptions and results were analyzed to identify strong and weak matches between candidates' qualifications and jobs. Soft skills, technical skills, education levels, and common majors were also analyzed from the keywords and results.
3. Introduction
Objective
• In this project we try to develop a resume filtering
mechanism for companies to hire qualified candidates.
• We want to show the company that which candidate is the
best fit for specific positions (“data analyst” and “data
scientist”) by finding keywords between resume and job
descriptions.
• Also our general keywords dictionary can be used to
suggest candidates how to improve their resume writing.
Datasets
• Over 300 job descriptions and resumes from
www.indeed.com and www.monster.com
4. Methodology
Data collection data input build keywords dictionary
develop keyword matching model analysis results
Tools: site content analyzer, Excel, Python
5. Step1 Design and Implementation
Crawl 200 Job descriptions and use content analyzer to figure
out 135 keywords with most frequencies
6. Step 2 Data processing
Remove the redundant and
meaningless high
frequency words
Combine words of similar
meaning but different forms
Remove words that are part of
a phrase and set these phrases
as keywords
7. Step 3 Data input & implementation
45 keywords in our dictionary
50
Resumes
10. Step 4 Further Matching
• Crawl 50 companies' job descriptions and run the python
code so that we get the output of 1 and 0 in Job description
• Count the number of keywords that are of same outputs (0/1)
11. • Create matrix of 50 resumes and 50 job
descriptions.
*Number of keywords that are of the same outputs(0 or 1) in resume
and job description in every matching
12. Results Analysis
For example, No.1 Candidate (refer to Resume#1) does not have teamwork-related
keywords in the resume, which is required for No.1 Job (refer to Job description#1),
thus we put an “N” to indicate an unqualification of the job requirement. If a keyword
appear in both resume and job description, we put a “Y” under the keyword.
14. Results Analysis
0
5
10
15
20
25
30
35
40
45
50
Teamwork Communication Leadership Problem Solving
41
48
39
48
Soft Skills
Leaders are becoming more and more
concerned with candidates’ soft skills.
Teamwork, communication, leadership
and problem solving skills are our
target keywords. All these four qualities
share mostly equal importance in the
job market, but communication and
problem solving are slightly higher.
• People with good communication
skills have the ability to convey
information more effectively either
orally or in writing, strengthening
their interpersonal skills as well.
15. Results Analysis
0
5
10
15
20
25
30
35
40
45
50
Technical Skills
From the chart above, we can conclude that there are mainly two classes of skills
that a successful data analyst has: statistics and programming. We offer some
suggestions to candidates who are eager to strengthen their programming skills.
For the interest of time, we suggest to start learning those software tools and
programming languages that appeared on the keyword lists, which are more likely
to be recognized by recruiters.
16. Results Analysis
Academic Degree
Bachelor Master MBA Ph.D
20%
10%
6%
0%
7%
7%5%
3%
2%
15%
25%
MAJORS
Management
Information System
Marketing
Computer Science
Engineering
Other Quant fields
Statstics
Econ
Math
Finance
Business
• Candidates with master degree are mostly wanted for a majority of companies. First
those candidates are assumed to have more professional knowledge than undergrads.
Second, masters would demand less than PhD and MBA in terms of salary, pensions.
• Most companies would like to have their employees be equipped with a business
academic background. It is good for candidates to have a solid technical background,
but it will greatly increase their opportunity of getting a job if they also have fundamental
business studies.