400 likes | 544 Views
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.
E N D
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 Wei Chen
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
System design: components 3 Explanation 2 CLIPS Execution 1 Facts generation Wei 2/5
Step 3-1 Facts generation wxPython and Python Beautifulsoup, NLTK and Python Wei 3/5
Step 3-2 CLIPS Execution Python and PyCLIPS Wei 4/5
Step 3-3 Explanation Python and wxPython Wei 5/5
Part 5-2 Project Progression Jonathan Silliman
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
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
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
Part 5-3 Expert Meetings Maxwell Hallum
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
Course Instructor-NaeemShareef • Discussed many of our project ideas with him • Helped us settle on the eRecruiter system Max 2/3
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
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
Bolts and Nuts 3-1 Resume parsing and facts generation Wei Chen
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
HTML resume to CLIPS facts Text area and attributes of objects DOM objects DOM root Wei 2/5
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
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
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 wxPython Jon S.1/3
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
Explanation System • Show contributing score for areas • Gives user friendly explanations • A mixture of explanations from CLIPS and UI code Jon S.3/3
Bolts and Nuts 3-3CLIPS Templates and RulesMax Hallum, Jonathan Musser
CLIPSTemplates Explanation Explanation, section Fired (1 each) LeadershipExp Position, level, company, duration ID name, duration MonthsExperience WorkAreaExp months Person KeyWordOccurance Phrase, count Degree Major Name, Path, SkillScore, LeadershipScore, EducationScore, DegreeScore, CertificationScore, WorkAreaScore, TotalScore, Normalized, fired TotalYears highestDegree Skills skill Certification name Name School Education Degree, degreelevel, major, GPA quality Max 1/4
CLIPSRules meetsDesiredMajor TotalExp PresentCerts general-DurExp Is-level1 DesiredSkill LeadershipExp score-bachelors-schoolNotListed DesiredCert Is-level2 PresentSkills score-bachelors-school-Listed OutsideWantedExp MissingSkills Is-level3 MissingCerts MissingWorkAreas Skills WorkAreaExp Certification Eliminate-outside-degreelevels MonthsExperience score-masters-school-notListed Score-PhD-school-Listed Eliminate-below-minGPA Education, Degree score-PhD-school-Listed score-masters-school-Listed Templates Salience Level 1 Salience Level 0 Max 2/4
CLIPSRules Cont. Normalize (Salience 0) Person Totaler (Salience -1) OutputScores (Salience -2) Template Max 3/4
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
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
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
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
22.36 23.27 1 1 Example of a Scoring Rule Execution Formula: LdrshpScr = LdrshpScr + lvlscr * (duration/12)^(1/2) Formula: LdrshpScr = 0 + 10 * (60/12)^(1/2) Formula: LdrshpScr = 22.36 + 1 * (10/12)^(1/2) Jon M.4/6
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
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