erecruiter expert system

40
eRecruiter Expert System Presenters: Jonathan Musser, Maxwell Hallum, Jonathan Silliman, Wei Chen Project websites: Google Project Site , Google Code Site

Upload: avedis

Post on 23-Feb-2016

30 views

Category:

Documents


0 download

DESCRIPTION

eRecruiter Expert System. Presenters: Jonathan Musser, Maxwell Hallum, Jonathan Silliman, Wei Chen. Project websites: Google Project Site , Google Code Site. Agenda. Project Review Project Progression Meetings with experts Bolts and Nuts Demo and questions. Part 5-1 Project Review. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: eRecruiter  Expert System

eRecruiter Expert System

Presenters: Jonathan Musser, Maxwell Hallum, Jonathan Silliman, Wei Chen

Project websites: Google Project Site, Google Code Site

Page 2: eRecruiter  Expert System

Agenda1. Project Review2. Project Progression3. Meetings with experts4. Bolts and Nuts5. Demo and questions

Page 3: eRecruiter  Expert System

Part 5-1 Project Review

Wei Chen

Page 4: eRecruiter  Expert System

eRecruiter Problem domain:

an expert system that help judge a resume according to expert knowledge

As an expert system, our system implements: Facts from resumes and expert knowledge Templates to define the structure of facts and knowledge Inference rules for scoring and weighting facts and making decisions Explanation for explaining the results of judgments Linguistic fuzziness handled through natural language processing

Use cases of the system: Quickly create a pool of qualified resumes Rank resumes Judge an individual resume

Wei 1/5

Page 5: eRecruiter  Expert System

System design: components

Facts generation 1 CLIPS Execution2

Explanation3

Wei 2/5

Page 6: eRecruiter  Expert System

Step 3-1 Facts generation

wxPython and Python

Beautifulsoup, NLTK and Python

Wei 3/5

Page 7: eRecruiter  Expert System

Step 3-2 CLIPS Execution

Python and PyCLIPS

Wei 4/5

Page 8: eRecruiter  Expert System

Step 3-3 Explanation

Python and wxPython

Wei 5/5

Page 9: eRecruiter  Expert System

Part 5-2 Project Progression

Jonathan Silliman

Page 10: eRecruiter  Expert System

Team Meetings Met weekly on Fridays and occasionally on

Wednesday Discussion of system design

System architecture Scoring system

Assigned work for week Timeboxes Coding assignments

Jon S. 1/3

Page 11: eRecruiter  Expert System

Project Progression• Researched the topic• Planned initial framework of the system

– Scoring on desired employee attributes• Initial rules and facts

– Leadership and Skills• Design for explanation system• Initial Resume Parser• Meeting with Rachel Ligman

– Reevaluate design– Focus on important facts in resume

Jon S. 2/3

Page 12: eRecruiter  Expert System

Project Progression Created new rules and templates Developed UI Redeveloped resume parser Merged CLIPS rules, UI, and the resume parser Last meeting with Rachel Ligman

Jon S. 3/3

Page 13: eRecruiter  Expert System

Part 5-3 Expert Meetings

Maxwell Hallum

Page 14: eRecruiter  Expert System

Industry Partner-Steve Saunders Initial idea for project Obtained initial expectations/problem domain Formed our initial approach

Ranking resumes based off scores in 16 categories Must be able to handle multiple resumes Must allow for flexibility in judging based off

employers needs

Max 1/3

Page 15: eRecruiter  Expert System

Course Instructor-Naeem Shareef Discussed many of our project ideas with him Helped us settle on the eRecruiter system

Max 2/3

Page 16: eRecruiter  Expert System

Career Service Advisor-Rachel Ligman Works for OSU’s Engineering Career Services

office 1st meeting

Explained the actual employment screening process to us

Convinced us to look at a far smaller set of qualities

Formed our desired/required qualities approach 2nd meeting

Suggested removal of our Loyalty quality Seemed very enthusiastic when shown our system

Max 3/3

Page 17: eRecruiter  Expert System

Part 5-1 Bolts and Nuts

Wei Chen and the Team

Page 18: eRecruiter  Expert System

Work Division and Accomplishments Individual accomplishment:

Max: Skills, Certifications, Work Area, min/max degree rules

Jon M: Education, Leadership Experience, majors,

Normalization rules Jon S.

UI, Integration of CLIPS and resume parser, testing Wei:

Resume formatting, resume parsing, resume CLIPS facts generation

Shared accomplishments: Discussion on the overall design of the system Preparation of knowledge base Discussion on facts structure and inference rules Discussion on scoring strategy and explanation system Timebox, deliverables, expert contact and group meetings

Page 19: eRecruiter  Expert System

Bolts and Nuts 3-1 Resume parsing and facts

generation

Wei Chen

Page 20: eRecruiter  Expert System

NLTK• NLTK (natural language toolkit) is used to extract

resume facts based on linguistic patterns.– “(I) Worked on Ruby on Rails application creating

MySQL database.”– I/PRP worked/VBD on/IN Ruby/NNP on/IN Rails/NNS

application/NN creating/VBG MySQL/NNS database/NN ./.

– Facts extracted based on noun phrases:– Ruby on Rails application (NNP IN NNS NN)– MySQL database (NNS NN)

• Other linguistic patterns:• Word forms: e.g. lead, leader, leading• Word sense:e.g. (help, aid) (manage, organize)

Wei 1/5

Page 21: eRecruiter  Expert System

HTML resume to CLIPS facts

HTML resum

e

Experience

Position Leadership quality

Experience description

Work area quality

DurationLoyalty quality

Skills Skill qualities

Certifications Certification qualities

Education

DegreeDegree quality

SchoolSchool rank

quality

Major Major quality

DOM root

DOM objects

Text area and attributes of objects

Wei 2/5

Page 22: eRecruiter  Expert System

HTML structure……<div id="company1" title="ClearNet Security"> <div id="position11">Consultant</div> <div id="exp_time11">January 2010-April

2010</div> <div id="experience11">Worked on Ruby

on Rails application creating matching algorithms and UPC database.</div>

</div>……

Wei 3/5

Page 23: eRecruiter  Expert System

Wei 4/5

Page 24: eRecruiter  Expert System

Some coding conventions Resume facts CLIPS file is named uniquely as

ID_Name.clp

Each deffacts has a ID slot to uniquely identify a candidate

Wei 5/5

Page 25: eRecruiter  Expert System

Bolts and Nuts 3-2User Interface

Jonathan Silliman

Page 26: eRecruiter  Expert System

User Interface• Multiple purposes

– Get user input– Display Results– Interfaces CLIPS code

and resume parser• Easy access to

resumes and explanations

• Clear results• Flexible Input• Implemented using

wxPythonJon S.1/3

Page 27: eRecruiter  Expert System

User Inputs• Skills - Required and desired• Certifications - Required and desired• Degree Level – Required and maximum• Major – Required and desired• Grade point average – Required• Leadership Experience – Desired• Areas of Expertise – Required and Desired • Years Experience – Minimum and Max• Cutoffs for Skills, Certifications , and Leadership

Experience• Apply weights to Skills, Certifications, Degrees,

Leadership Experience and Areas of Expertise

Jon S.2/3

Page 28: eRecruiter  Expert System

Explanation System Show contributing

score for areas Gives user friendly

explanations A mixture of

explanations from CLIPS and UI code

Jon S.3/3

Page 29: eRecruiter  Expert System

Bolts and Nuts 3-3CLIPS Templates and Rules

Max Hallum, Jonathan Musser

Page 30: eRecruiter  Expert System

Person

CLIPS Templates Explanation

ID

LeadershipExpMonthsExperien

ce

WorkAreaExp

Education

Degree

Skills

Certification

KeyWordOccurance

Fired (1 each)

Explanation, section

Position, level, company, duration

name, duration

months

Degree, degreelevel, major, GPA

Major

skill

name

Phrase, count

Name, Path, SkillScore, LeadershipScore, EducationScore,

DegreeScore, CertificationScore,

WorkAreaScore, TotalScore, Normalized,

fired TotalYearshighestDegree

SchoolNam

equality

Max 1/4

Page 31: eRecruiter  Expert System

OutsideWantedExp

TotalExp

LeadershipExp

MonthsExperience

WorkAreaExp

Education, Degree

Skills

Certification

Templates

Is-level3

Is-level2

Is-level1

Salience Level 0

MissingSkills

PresentSkills

DesiredSkill

MissingWorkAreas

general-DurExp

MissingCerts

DesiredCert

PresentCerts

Salience Level 1

Eliminate-

outside-

degreelevelsEliminate-

below-minGP

A

score-bachelors-school-Listed

score-bachelors-schoolNotListed

meetsDesiredMajor

score-masters-school-Listed

score-masters-school-notListed

Score-PhD-school-Listedscore-PhD-

school-Listed

CLIPS Rules

Max 2/4

Page 32: eRecruiter  Expert System

Person

Template

Normalize (Salience

0)Totaler

(Salience -1)

OutputScores (Salience -2)

CLIPS Rules Cont.

Max 3/4

Page 33: eRecruiter  Expert System

Skills, Certifications, Work Area Experience Very similar structure 1 rule to check for Desired skills

Skills/Certs gain 1 point for each, WAE gains duration of experience

2 rules to check for required skills 1 detects the presence of required skills (not in

Work Area Experience) 1 detects the absence of required skills Need to generate separate explanations No point change for presence, loses all points for

absence.

Max 4/4

Page 34: eRecruiter  Expert System

CLIPS Rule Subdivisions Scoring Rules

Education Leadership Exp Desired Skills Desired Major Desired Certifications Work Area Experience

Minimum Requirement Rules Minimum GPA Required Skills Required

Certifications Required Major Minimum Degree Min/Max years worked

Jon M.1/6

Page 35: eRecruiter  Expert System

Education/Major Rules Must first eliminate experiences below minimum

gpa and below minimum degree level – these will not be counted

Next check required/desired majors and score if desired

Finish by scoring the experience Function of school quality and gpa School quality comes from hard coded facts (US News and

World Reports Computer Science Rankings) Once at this point, deviations between education

experiences are minor – the requirements dominate

Jon M.2/6

Page 36: eRecruiter  Expert System

Leadership Experience Rules Three categories

Level 1 “Presidential” Level – CEO, Director, etc.

Level 2 “Managerial” Level – Managers, lead engineer, etc.

Level 3 “General” Level – all remaining positions There is some level of leadership score associated with

each position

Jon M.3/6

Page 37: eRecruiter  Expert System

Example of a Scoring Rule ExecutionFormula:LdrshpScr = LdrshpScr +lvlscr * (duration/12)^(1/2)

Formula:LdrshpScr = 0 +10 * (60/12)^(1/2)

Formula:LdrshpScr = 22.36 +1 * (10/12)^(1/2)

22.36

1

23.27

1

Jon M.4/6

Page 38: eRecruiter  Expert System

Normalization Once all fields scored, CLIPS portion will normalize

scores for easier use by the GUI

Determines realistic maximum values for each subscore Example: Nobody could have higher skill score than

somebody earning every desired skill – make this max

Use these maximums to determine relative value of each score before scaling by the weighting factor input from the GUI In essence, make it out of 100%, multiply by weight and

sum

Jon M.5/6

Page 39: eRecruiter  Expert System

Future Improvements Enhanced, Intuitive UI Fine tune the scoring system More Robust System Expand the Domain Ability to parse resumes in their original

format

Jon M.6/6

Page 40: eRecruiter  Expert System

DEMO

Jonathan Silliman and the eRecuiter team