How does ML-based Job Resume Matching Algorithm Work? Part -2

This is the second part of our blog on How Job-Resume Matching Engine Works

In the first part we discussed the first three sections of the Resume screening process - Vocabulary and AI training models, Resume Indexing and Job Indexing. In this article, we focus on the final and perhaps the most important bit - AI Matching Algorithm.

The overall screening process in recruitment is the combination of resume screening and phone screening process. Resume Screening is the process of finding the relevant profiles/resumes corresponding to a job from the pool of candidates.

After shortlisting the matching profiles, recruiters collect additional information (which generally are not present in resume documents like CTC, notice period, preferred location, etc.) over the phone call. This process is known as telephone screening.

In Skillate, we have tried to automate both processes. To automate the resume screening process, we have created an AI-powered Matching Engine, whereas, for the phone screening step - we have created an Intelligent Chatbot.

Let’s go one by one on how these steps work:

How Resume Matching works? Matching involves two steps:

  • Indexed Filtering: To filter out the top (also max) 500 candidates with the help of a job indexed query.
  • Stack Ranking: Using a deep neural network, stack rank those 500 candidates via the job-resume matching algorithm.‌

Indexed Filtering

As discussed in our last blog, via Job Indexing and Resume Indexing, the indexed information of both resumes and jobs are stored in SOLR. The JOB SOLR query is then built to filter top or max 500 candidates from the candidate database pool. This step is significant as it (indexed query) retrieves the top 500 candidates in milliseconds.


Stack Ranking

After retrieving the best 500 candidates via Indexed Filtering, every candidate goes through the Matching Algorithm for calculating the matching score between a job and a candidate. The ranking of all candidates happened via decreasing order of matching scores.


Matching Algorithm

Matching Algorithm is the AI-powered algorithm to compute the matching score between a job and a resume. The algorithm (powered by the Deep Neural Network) uses multiple matching signals that broadly include:

  • Experience
    • Industry
    • Years of Experience
    • Title or Designations on three layers - based on title, role, and role category.
    • Seniority Level Matching.
      Example: CTO of a 25 members company and having five years of experience doesn't mean he is qualified for VP Technology in any Multinational Companies.
  • Education
    • College Relevance - according to the requirement mentioned in the job description else, no biases in college preference.
    • Degree
    • Major - which is closely related to the job skills requirements.
  • Skills
    • Functional Skills Example: JAVA, Enterprise Sales, Invoice Processing, etc.
    • Behavioral Skills Example: Critical Thinking, Communication Skills, etc.
    • Recent Candidate Skills

The Matching Algorithm uses the above matching variables in computing three scores - Skill, Education, and Experience. And according to the weights (which can be configured by the organization) given help in calculating Overall Matching Score.

Matching Score = f(Wt_Skill* Score_Skill, Wt_Education*Score_Education, Wt_Experience*Score_Experience)


Once the recruitment team completes the resume matching, the next step is to know more about the details that are not provided in the resume by calling the candidate.

Here is how we automate this step:

Chatbot Screening

To optimize the phone screening process (which consumes a significant time and bandwidth of the recruiters), Skillate provides Conversational AI chatbot functionalities where the chatbot interacts with the candidates and collects relevant information beyond resumes.

By leveraging Named Entity Recognition (popularly known as NER) and the ongoing conversation, Conversational AI Chatbot understands the intent of the candidate response and drives the remaining interaction accordingly.

For example: let's assume the chatbot has humbly asked the Current CTC, and the candidate has responded with just 200,000. The chatbot will find the information incomplete and ask further questions like "Whether the CTC is per year or month" or "Please provide the currency".


Apart from optimizing the phone screening process, the other significances of Conversational AI Chatbot are:

  1. Making existing Resume Database fresh and updated after collecting updated resumes via chatbot.
  2. Quickly rediscovery of the potential hire from the resume database saving huge time and cost.

Skillate Chatbot converts passive profiles into active candidates. Multiple conversations can be configured to ask different sets of questions depending on role type, industry, domain, etc. To know more about Skillate solutions, visit the link below.

Contact Us
Show Comments