ResumeAnalyzer | An Easy Solution to Rank Resumes using Spacy
Let’s say, you have an opening for a data scientist in your organization. You post the requirement and you receive thousands of resumes. Great!
But there’s a challenge — how do you select the top 50 or 100 most relevant resumes against your requirement description for the next round?
If this problem sounds familiar to you, ResumeAnalyzer is here to rescue you.
ResumeAnalyzer is an easy, lightweight python package to rank resumes based on your requirement in just one line of code.
How it works?
textract to process your documents,
spacy’s PhraseMatcher to rank your resumes and
Dash to render UI inside notebook as well as in browser.
Here’s is a complete code looks like —
Let’s breakdown the code
1 - Install, Import & Instantiate
2 - Define the rank criteria
A rank criteria is set of categories and its important terms to rank a candidate’s resume.
ResumeAnalyzer passes this information to
Spacy’s PhraseMatcher to calculate if that term is present in resume. If present, +1 is assigned to the resume in that category.
For e.g. — if “Neural Network” is present in the resume, the candidates is assigned a +1 in the Deep Learning category.
3 - Render
Render renders the results inside jupyter notebook or browser using
render takes 3 arguments —
- path — path to resume folder
- metadata — ranking criteria defined in step 2
- mode — mode can be “notebook” if you want to visualize the results in Jupyter Notebook or “browser” to see the results in separate browser tab.
🥳Voila — We’re done!
The Best Part !— The above table is filterable as well as sortable.
- You can sort candidates based on “Deep Learning” if you want to pickup candidates based on their deep learning skills
- You can filter candidates with “Total Score” > 3
- You can also select candidates based on percentile (Ranking): With “Ranking” >0.7 means candidates above 70th percentile.
👋 Try it out in Google Colab