Instant Resume Evaluation Engine
With the emergence of Job portal's like Linked-In, Indeed, Zip-Recruiter, Hire, etc. , job searching has become more convenient. The portals allow the job seeker to find all relevant jobs at one place. The job portals provide job seekers with easy-apply, apply via link & email to the recruiter type of facilities. These enable the job seeker to apply for many jobs in quick time which resulted in getting many applications for a single job posting. The companies shortlist candidates by parsing their resumes to match with job-specific criteria. The companies find it difficult to parse & extract the candidate's information due to the presence of different resume structures. Only those candidates get shortlisted whose resume is correctly parsed & which satisfy the job-specific criteria. Further, The job seekers fail to understand why their resume not getting shortlisted. Also, job seekers find it hard to identify whether the resume has all keywords (i.e. skills, experience, qualification, etc.) & does it meet the job description criteria which could be due to the content or format of the resume. This project focuses on extracting candidate information from its resume which is in PDF format. A Hybrid technique was used content-based & layout-based techniques for resume parsing. The hybrid approach uses a blend of rule-based and segmentation-based techniques for effective resume parsing.
Dependency Tools & Technology
Meteor, Python 2.7, Anaconda, PyCharm IDE
Dependency Package:
pdfminer, bson, gridfs, datefinder, fuzzywuzzy, nltk, pymongo
Installation
Cloning the repository:
git clone https://github.com/secantzhang/ResumeParser.git
To install Meteor in OS X & Linux:
curl https://install.meteor.com/ | sh
To install Meteor in Windows:
choco install meteor
To setup Meteor, go to "ResumeParser/resume-parser" directory and run all the below command sequentially: Before setting up, you probably need to change the python version from 3.X to 2.7 in order to running the python file.
source activate py27
meteor npm install --save babel-runtime
meteor npm install --save core-js
meteor add session
meteor remove autopublish
meteor
Now the App will be running at: http://localhost:3000/
Don't close the terminal and open new terminal to install python dependencies
After installing anaconda and Python 2.7, install all dependencies
pip install pdfminer
pip install bson
pip install datefinder
pip install fuzzywuzzy
pip install pyzipcode
pip install -U nltk
python -m pip install pymongo
For those who did not used nltk before, follow the instructions below to avoid some missing resources errors.
python
import nltk
nltk.download('punkt')
nltk.download('averaged_perceptron_tagger')
exit()
Running the program
Now goto /Code/ResumeParser directory and run below command to insert sample resume files to database folder.
python insert_pdf.py
After this step, resume files will be inserted into meteor MongoDB database and unique identifier to access these files will be stored in keys.csv file. To parse the resumes, run the following command:
python parser.py
Built With:
Author:
Acknowledgement:
- Prof. Christopher M. Homan (Rochester Institute of Technology)