Apparier des CV à des offres d'emploi

|

|

Le besoin
La solution
Ils peuvent vous aider

Le besoin

Comment évaluer automatiquement si un CV est pertinent pour un poste ?

Une fiche de poste décrit les prérequis nécessaires chez un candidat et les attentes de l'employeur pour la bonne réalisation d'un poste. Une annonce de recrutement reprend les éléments de la fiche de poste et vise à convaincre les candidats les plus pertinents de candidater à un poste. Un candidat qui postule est donc supposé fournir un CV qui contient tout ou au moins une partie des prérequis contenus dans la fiche de poste.

Si ces prérequis diffèrent selon le poste proposé, ils sont globalement composés des éléments suivants :

  • compétences : outils ou techniques que le candidat sait manipuler (par exemple : "C++", "pytorch", "vente"),

  • formations : formations nécessaires pour ce poste (par exemple : "licence de linguistique", "master en mathématiques appliquées"),

  • expériences : postes occupés par le candidat dans sa vie professionnelle (par exemple : "data scientist", "web developper") et missions correspondantes (par exemple : "refonte du site web", "management de l'équipe de vente"),

  • niveau d'expérience : ancienneté du candidat dans la profession (par exemple : "junior", "confirmé"). Cette information se déduit généralement de la durée de l'expérience professionnelle.

Pour évaluer automatiquement si un CV est pertinent pour un poste, il faut donc pouvoir automatiquement :

  1. Extraire les prérequis de la fiche de poste.

  2. Extraire les éléments pertinents du CV.

  3. Calculer un score de correspondance entre les prérequis du poste et les éléments du CV, c'est le "scoring" des CVs.

Ces trois étapes impliquent toutes deux la langue naturelle et nécessitent donc des outils de Traitement Automatique de la Langue. Comment l'intelligence artificielle peut-elle m'aider à diminuer le temps de traitement et augmenter la fiabilité ?

La solution

Le TAL pour évaluer la pertinence d'un CV pour un poste

Extraire les informations d'une fiche de poste ou d'un CV

Analyse automatique de de la fiche de poste

Pour trouver le candidat pertinent pour la description suivante, "Diplômé·e d'une école d'Ingénieur de premier rang (Centrale, Mines,…) ou équivalent - première expérience en langage objet (idéalement Java) en tant qu'ingénieur·e de développement idéalement dans le domaine de la finance.", la première étape consiste à détecter automatiquement les prérequis tels que "ingénieur", "Mines", "Centrale", "développement", "Java" et "finance".

La reconnaissance d’entités nommées (REN, ou Named Entity Recognition -NER-) vise à détecter automatiquement des informations comme noms de personnes ou de lieux, relations entre entreprises, dates, montants, etc. dans un texte. Au-delà des entités nommées, l'extraction d'information fournit des termes pertinents pour le domaine applicatif (voir la page de FAQ sur l'extraction d'information). Cette étape pourra extraire des termes comme Mines, Centrale, Java, ingénieur, développement, finance.

Ces éléments sont ensuite classés par rapport à une ontologie métier qui va permettre de classifier Java comme compétence, ingénieur, Mines ou Centrale comme des formations. Cette étape d'interprétation métier est cruciale par rapport à un extracteur d'information générique qui aurait plutôt tendance à extraire les éléments dans de grandes catégories "standard" telles que "nom", "organisation" ou "lieu". Dans notre cas, cet extracteur générique aurait certainement tendance à qualifier Mines, Centrale ou Java comme des lieux.

Pour réaliser cette ontologie métier, il est indispensable de disposer soit de données annotées (pour une classification automatique) soit d'une taxonomie explicitement construite.

On peut imaginer qu'à la fin du traitement, on obtienne une représentation telle que :

  • qualification : ingénieur,
    • optionnel : Mines, Centrale
  • expérience : développeur,
    • optionnel : finance
  • compétence : Java

Analyse automatique du CV

L'analyse automatique du CV va procéder au même type de traitement que l'analyse d'offres, mais avec deux éléments de complexité supplémentaires :

  • d'une part, la gestion des formats de documents : là où les offres sont généralement accessibles en texte brut, rendant leur analyse immédiate, les CVs sont présentés dans des formats d'impression (PDF, documents Office, images scannées, etc.) ce qui nécessite une étape de conversion préalable. Cette étape peut être source de perte d'information lors d'un traitement automatique, car l'objectif de ces formats est la présentation, pas la cohérence du contenu.
  • d'autre part, un CV présente beaucoup plus d'informations qu'une fiche de poste, incluant des expériences lointaines, des hobbies, etc. qui sont utiles à un recruteur pour comprendre le parcours d'un candidat mais peu utiles pour juger de sa qualification à un poste donné.

Pour la simplicité de l'exemple, tenons-nous en au titre d'un CV qui serait "ingénieur junior Calypso".

On va donc extraire de ce profil la représentation suivante :

  • formation : ingénieur
  • niveau d'expérience : junior
  • compétence : Calypso

Calculer la correspondance entre un poste et un CV

Lorsqu'un profil structuré comme ci-dessus a été extrait du CV, il convient de calculer un score de correspondance entre le CV et l'offre afin de hiérarchiser l'ensemble des CVs reçus. Cela s'effectue par comparaison de ces structures semi-formelles. Il reviendra bien sûr au recruteur de décider quels CVs retenir suite à cette hiérarchisation.

La méthode la plus simple consisterait à donner un score de 100% aux candidats ayant exactement tous les éléments requis par l'offre, et 0% aux autres. Par exemple, si une offre requiert comme formations "ingénieur", "mines", "centrale" et comme compétence "Java", "finance" et si les termes "ingénieur", "mines", et "java" et "finance", sont dans le CV du candidat, alors le candidat est retenu pour l'offre. Cette approche laisse cependant de côté les CVs qui seraient compatibles mais dont les termes ne seraient pas exactement les mêmes que ceux exprimés dans l'offre, comme celui que nous avons vu ci-dessus. En effet, Calypso est un logiciel Java spécialisé en trading. Notre candidat est donc très bien placé alors que formellement, il ne "coche" qu'une case dans la correspondance.

Il convient donc de définir un score qui prenne en compte la dimension sémantique des facettes retenues, à savoir leur signification, afin de considérer que "Calypso" est un logiciel et qu'il est écrit en Java. Des méthodes symboliques (basées sur des règles logiques organisées en réseaux sémantiques) ou vectorielles (basées sur des modèles statistiques) peuvent servir à représenter cette sémantique (voir Analyse sémantique).

Représentation symbolique

Les ontologies et taxinomies sont deux méthodes de représentation des connaissances qui permettent de représenter les relations entre des objets. La taxinomie permet de représenter des relations "parent-enfant" (par exemple : "Calypso" est une sorte de "logiciel" ), tandis que l'ontologie permet une description plus complexe des relations (par exemple : "Calypso" a pour domaine "finance" et "Calypso" est lié à "Java"). Ces deux méthodes permettent donc de représenter les liens sémantiques entre objets par un ensemble de règles logiques qui les lient.

De nombreuses classifications de ce type existent en accès libre, dont certaines spécifiques aux ressources humaines (comme par exemple la taxinomie ESCO). Elles peuvent servir à initialiser une représentation métier qui pourra être enrichie par des informations métier, soit issues de corpus de CV et/ou d'offres, soit ajoutées explicitement.
Dans notre cas, elles peuvent servir à représenter formellement les prérequis de la fiche de poste, et à représenter et enrichir les connaissances extraites du CV. Le score de proximité entre le CV et l'offre d'emploi peut alors être calculé directement sur ces représentations. En effet, les taxinomies et ontologies sont respectivement des arbres et graphes, des structures mathématiques que l'on peut comparer.

Représentation vectorielle

Formellement, on peut représenter la mise en correspondance d'une offre avec des CVs avec de la recherche documentaire via un moteur de recherche : la fiche de poste est la requête, le corpus est l'ensemble des CVs reçus, charge à la machine de nous produire la meilleure réponse à notre question. La différence principale réside dans le fait que, le domaine étant ciblé, il est possible d'une part de qualifier les critères de recherche (compétence, expérience, etc.) et d'autre part d'utiliser un référentiel métier pour exploiter la sémantique des requêtes.

Les modèles de langue permettent de représenter mots ou groupes de mots dans un espace vectoriel où la proximité des vecteurs représente leur proximité sémantique. Ils permettent de transformer les objets linguistiques en objets mathématiques, ce qui permet alors de calculer que "jardinier" est plus proche de "botaniste" que de "mécanicien".

Pour calculer un score de proximité à l'aide de ces modèles de langue, il est donc possible de procéder de la sorte :

  1. Obtenir grâce au modèle de langue la représentation vectorielle de chaque information extraite.

  1. Combiner (par exemple en calculant leur somme) les vecteurs du CV et ceux du poste.

  2. Calculer la distance entre le vecteur du CV et celui du poste.

La distance obtenue à la dernière étape représente un score de proximité sémantique entre les entités nommées qui constituent le poste et celles qui constituent le CV.

Points d'attention

Certaines entreprises (ou sites d'emploi) choisissent de structurer l'information au préalable en demandant les prérequis dans un formulaire à choix restreints, puis de se servir de cette information pour ensuite générer l'offre. Ceci permet de s'affranchir de l'étape d'extraction d'information dans les offres d'emploi. Cependant, cela nécessite d'intégrer un système de génération de texte (voir Comment fonctionne la génération de texte ?) pour rédiger le poste en langue naturelle à partir des éléments obtenus dans le formulaire. Cette autre méthode intéressante peut permettre de s'affranchir de l'étape d'une partie de l'extraction de l'information des postes (sachant qu'une partie des données, comme le descriptif de la mission n'est pas formalisable en liste à choix fini et restera donc en texte libre).

Par Laurine Huber, doctorante en IA/NLP

Ils peuvent vous aider

Demande de mise en relation concernant l'étude de cas Apparier des CV à des offres d’emploi
Veuillez recopier le texte ci-dessous afin de pouvoir envoyer votre message. Attention aux majuscules !
 
QWAM développe des solutions logicielles d'intelligence artificielle appliquée au traitement du langage naturel. Nos solutions combinent les approches sémantiques, big data, machine learning et deep learning. QWAM intervient pour répondre aux besoins d'exploitation avancée des données textuelles existantes au sein des entreprises et organisations ou bien disponibles sur le web.
 
Leader des technologies d'investigation et services pour la sécurité globale.
 
Agir chaque jour dans votre intérêt, et celui de la société.
 
Automatisation de la relation client via des interfaces conversationnelles et des chatbots. Clustaar permet aux marques d'aider leurs clients en répondant automatiquement à des demandes d'informations ou de support.
 
Synapse est expert en Intelligence Artificielle appliquée au texte. Notre raison d'être est d'accompagner nos clients dans la transmission de leurs connaissances. En ce sens, Synapse intervient tout au niveau de 3 leviers : - Créer de la connaissance, à travers un outil d'aide à l'écriture qui permet d'écrire l'esprit libre : Cordial. - Structurer de la connaissance, à travers des outils d'analyse sémantique. - Partager de la connaissance, à travers un chatbot capable de se connecter à la documentation d'une entreprise et de générer automatiquement sa base de connaissances.
 
Semantiweb apporte un décodage marketing des contenus conversationnels spontanés des internautes. Cette expertise donne une valeur stratégique aux annonceurs, permet de créer une intimité clients, détecte les tendances de consommation et traduit les insights des marchés en les rendant opérationnels pour l’entreprise, la marque et le produit.
 
Datapolitics met la donnée au service de l'action publique. La data est partout, volumineuse, et peu structurée : son utilisation dépasse rapidement le cadre du fichier Excel. Avec Datapolitics, passez la vitesse supérieure en bénéficiant des multiples possibilités offertes par la datascience. Propulsez vos contenus au meilleur niveau grâce à nos algorithmes et nos intelligences artificielles. Nous collectons aujourd'hui les prises de position des gouvernants ou de ceux qui aspirent à le devenir et produisons des analyses automatiques au travers de la plateforme Hedwige.
 
Kairntech développe une plateforme d'IA visant à démocratiser et accélérer le développement d'applications basées sur le TAL au sein de l’entreprise. L’objectif est de pouvoir créer rapidement et sans programmation des robots permettant d’analyser automatiquement de grandes quantités de texte avec une très grande précision, faisant économiser du temps et des efforts. Nous aidons les professionnels de l’information et les analystes (auditeurs, analystes marketing, chercheurs scientifiques, enquêteurs…) à bâtir des applications pour gagner en efficacité tout en prenant de meilleures décisions.
 
Lingua Custodia est une Fintech leader du Traitement Automatique des Langues (TAL) pour la Finance basée en France et au Luxembourg. Elle a développé son expertise avec une offre pointue de traduction automatique spécialisée par type de document financier. La société propose aujourd'hui également des services de transcription automatique, des services d'analyse linguistique de document et des services d'extraction de données via sa plateforme en ligne ou par API. Ses clients sont des institutions financières et les départements financiers de grandes sociétés et ETI.
 
Callity est né en 2018 du constat que les solutions de Quality Monitoring et de Speech Analytics traditionnelles étaient dépassées. Qui peut dire aujourd’hui qu’il exploite pleinement l’ensemble de ses interactions clients ? Personne ! Chez Callity nous oeuvrons pour changer cela via une plateforme SaaS moderne, utilisant pleinement les possibilités offertes par l'intelligence artificielle, qui permette aux marques d'exploiter 100% des conversations clients et les transformer en stratégies d'acquisition, de fidélisation et de formation efficaces.
 
L'APIL, association à but non lucratif, rassemble l'expertise des personnes et des industriels du traitement automatique des langues. Elle a pour ambition de promouvoir le traitement automatique des langues auprès des utilisateurs, qu'ils soient industriels ou grand public. Nous animons un réseau d'expertise en collaboration avec les acteurs spécialisés du domaine : forum JeunesTalents en collaboration avec l'ATALA, les rencontres entre membres industriels, ou l'accompagnement de projets collaboratifs innovants en partenariat international.

Vous fournissez de telles solutions et vous souhaitez faire partie de nos partenaires, contactez-nous.

Les technologies à mettre en oeuvre

Comment comparer des documents ?
Comparaison de documents, de quoi parle-t-on ? De nom­breuses appli­ca­tions néces­sitent de pou­voir com­pa­rer des docu­ments entre eux, par exemple pour cor­ri­ger un docu­ment, détec­ter du...
Analyse sémantique
Signifiant, signifié, de quoi parle-t-on ? Au tout début du XXème siècle, Louis Fer­di­nand de Saus­sure, dans ses Cours de lin­guis­tique Géné­rale, explo­rait la dif­fé­rence entre...
Extraction d'information, de quoi s'agit-il ?
L’extraction d’information, à quoi ça sert ? L’ex­trac­tion d’in­for­ma­tion consiste à iden­ti­fier, dans des textes en langue natu­relle, des infor­ma­tions types : noms de per­sonnes ou de...

Ces études de cas peuvent aussi vous intéresser

Mettre en place une veille scientifique multilingue

Je suis responsable produits/R&D dans le domaine pharmaceutique, et je souhaite mettre en place une veille multilingue.

Tendances selfcare et modernisation du support client

Je suis directeur du support client chez un fournisseur de télévision par satellite. J’ai pour objectif de mettre en place plus de selfcare et automatiser mon support pour que mes clients trouvent plus rapidement les informations qu’ils recherchent. En parallèle, je dois faire baisser les coûts du support client. Alors, comment faire ?

Exploiter efficacement les bases de brevets

En tant que responsable R&D, il est important pour moi d’exploiter les bases de données de brevets dans mon domaine d’activités pour m'assurer que la société ne va pas investir du temps et de l'argent dans un projet qui pourrait être considéré comme une violation de brevet. Cependant, la volumétrie des données disponibles est considérable. A titre d’exemple, l’Office Européen des Brevets donne accès à plus de 140 millions documents de brevets. Le Traitement Automatique des Langues peut-il m’aider à mieux présélectionner des brevets via un fournisseur de brevets et ensuite à en faire un tri efficace ?