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.
 
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.
 
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.
 
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.
 
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

Aide à la saisie de comptes rendus d'intervention de maintenance

Responsable du service après-vente (SAV) dans une entreprise de fabrication et d’installation de volets roulants, j'envoie quotidiennement des techniciens de maintenance intervenir chez nos clients. Après chaque intervention, ils doivent rédiger un compte rendu (CR) dont une grande partie est pré-remplie à l’aide de notre logiciel de gestion de maintenance assistée par ordinateur (GMAO). Il reste cependant une zone de texte libre à renseigner, quel que soit le type d’intervention (corrective, préventive ou curative). Le clavier des tablettes et téléphones qu’utilisent nos techniciens ne permet pas de le faire rapidement. La reconnaissance vocale peut-elle faciliter la tâche de nos techniciens lors de rédaction de leurs CR, tout en s'intégrant aisément à notre application de GMAO ?

Classer la polarité des avis clients de manière fine

Je suis responsable du service après-vente d'un site de vente en ligne et nous avons actuellement un système de prédiction automatique permettant de classer les avis de clients comme positifs, négatifs et neutres. Cependant, nous aimerions un système de détection qui, au lieu de donner une étiquette globale à un texte entier, fournisse des informations à un niveau plus fin. Existe-t-il des solutions de ce genre ?

Qualifier automatiquement les leads : un gain de temps et de précision

Je suis responsable commercial du service de ventes en ligne pour une entreprise de vente de produits sportifs, et dans le cadre du processus de gestion de nos leads, je souhaite disposer d'une solution pour aider les commerciaux de mon équipe à qualifier automatiquement les leads et à les classer en fonction de leur profil ou de leurs intentions d'achat.