The Artificial Intelligence at the service of human resources, a new module

Nowadays, companies receive hundreds of CV's and it could be time-consuming to assesswhich candidate suits the job. In this context, our program aims at scanning each candidate’s CV and displaying a score based on different aspects: 

- the general matching between the job description and the candidate’s CV

- the matching of some industry specific keywords and the candidate’s CV

As a result, a final rank is displayed and, a candidate is outlined, which according to the program is the most appropriate applicant for the related job.

The general flow of information can be described as follows :

How does it work ?

First, a potential candidate uploads his/her CV on the website hosted by the DBMS (data base management system) Odoo. As a matter of fact, you can find on Figure 6 below how it looks like in reality.

Then, the CV is stored in the module “recruitment”, where it also saves the job description displayed on the dedicated website page. You can find below an example of a candidate which applied for a dedicated job. 

Afterwards, the customized Python program interacts with the Odoo database and takes as inputs the candidate’s CV and the related job description displayed on the website. To trigger the process, we coded different buttons to interact with the Python’s program, which simplifythe use of the algorithm. 

Once triggered, the program starts with the scanning (in the sense of reading) of the CV (it supports multiple documents’ format such as .pdf, .docx, .jpg, and also scanned documents) and then performs some text processing and words similarities operations.

Finally, it computes a score for the CV and returns a global ranking including all candidates, which is displayed in the Odoo “recruitment” module.

The benefits of this implementation

The results of this algorithm are quite promising and it could be a time-efficient solution for some recruitment companies which receive hundreds of CV’s for a specific position. As a matter of fact, it mainly provides guidance for the human resource department (HR) and is not intent to remove the human supervision from this selection process. 

The limits of this interface

However, by testing this algorithm with a high amount of different candidates, we identified some drawbacks due to his inherent way of functioning. First, some people included the job description directly in their uploaded attachments, which had the effect of computing a very high, but biased score.

Then, there was also a problem regarding the possibility that some candidate’s had multiple pages CV’s with lots of words, while other uploaded concise one page CV’s. As a matter of fact, we faced a problem of systematically underestimating the short but interesting CV’s .

To solve this problem, we add a scalable Jaccard similarity score which increases (or decreases) depending on the length of the CV’s in terms of words.