Automated CV matching software
Recruiting is a difficult and time-consuming industry. On average, a corporate job post receives 250 resumes. Recruiters have to go through each one of them, evaluating whether the candidate has the necessary skills, sufficient education, and relevant experience. If done diligently, this process could take weeks or even months. No wonder one of the most common complaints among job applicants is the long waiting time. In today’s war for talent, companies cannot afford to lose qualified candidates because of an unreasonably lengthy hiring process. Besides, recruiting is expensive to get wrong. The average cost of a bad hire is 30% of the employee's first-year earnings. That is why businesses should strive to maximize the productivity of their recruiters by allowing them to focus on personal communication with candidates. AI is already transforming the recruitment industry. Numerous AI-driven applications like chatbots or interviewing platforms are being developed to improve the hiring process. However, they are not helping with the most exhausting part - resume screening. Here’s where CV matching comes in. Software that can shortlist the best candidates and evaluate how well they fit the position is a perfect way to speed up the hiring process, while also making it more objective and data-driven. What is more, AI allows to parse and extract data from resumes with any layout and any format (pdf, docx, etc.), which makes such software superior to traditional ATS systems.
Our client is a VC-backed tech startup that was looking to expand its existing teams and build new ones. Recruitment in the tech sector is especially difficult because of high worker demand and fierce competition for top talent. That is why the company requested to design a CV matching software that would relieve the manual burden of recruiters and optimize the hiring process, thus ensuring a better candidate experience. What is more, the client requested a solution that can help shortlist the most suitable candidates, while minimizing the impact of unconscious bias.
Solution
A CV matching software that screens the resumes and shortlists the most qualified candidates based on the vacancy and the client’s requirements.
How it works
At the entrance, the service receives the content of the resume and a detailed description of the vacancy.
Next, both parts are analyzed using NLP tools.
Relevant personal data (full name, location, year of birth, education) and information on the candidate’s qualifications are extracted from the resume. The applicant’s work experience is also analyzed based on the key metrics (total number of years, previous employers, responsibilities, etc).
The data obtained at the previous stages is sent to the intelligent matching system, which was developed and validated in cooperation with the recruiters of the customer’s company.
The system assesses whether the candidate’s background matches the relevant vacancy and whether their experience is sufficient. The candidate’s skills are also evaluated and compared with the ones mentioned in the job description.
Our challenges:
The input data format
At the beginning, there was no clear understanding of what data format we should work with (Docx, pdf, etc.). After a discussion with the client, it was decided to work with raw text data. The client agreed to adjust the input format on his side using third-party services.
Parsing of the vacancy text and resume
Many ATS (Applicant tracking systems) can only correctly read resumes with a reverse chronological structure. As a result, the system can overlook great candidates just because they chose to organize their CVs differently. We have spent some time and effort to implement extraction algorithms that allow us to convert any resume into structured data, regardless of layout.
Developing the matching algorithms
We actively collaborated with the client’s recruiters to build matching algorithms that fully meet their needs. First, we discussed the main criteria for shortlisting the candidates and the selection procedure itself. Then, we created several matching algorithms for different types of talent (technical and non-technical). Finally, to perfect the algorithms, the client’s recruiters built a test set with sample resumes and vacancies, which helped us identify and fix any gaps our software had.
Project stages
At this stage, the client’s team provided a dataset that consisted of pairs of resumes and vacancies, as well as the relevance score between them. We used this dataset to train and test our algorithms. It is worth noting that during the work on the project this dataset was expanded by adding the instances that caused difficulties in the first versions of the algorithms.
At the development stage, software was built to assess the match between the resume and the vacancy. It contained two main components:
– Natural Language Understanding (NLU), which focuses on identifying the entities in a text and then extracting the most important information about them.
– relevance assessment, which conducts an intelligent comparison of the entities extracted from both the CV and the description of the vacancy.
During the testing phase, the software was used by the client’s recruiting department as an auxiliary application. Recruiters could compare their candidate shortlists with the ones generated by our algorithms, and analyze the discrepancies. Based on their feedback, in 93% of the cases, their decisions were identical to our software’s recommendations.
The client received a test report, as well as a detailed description of the algorithms and the technologies behind them. We have also provided the source code, API interface specification, and all the information necessary to deploy the matching algorithms.