Conférence ICNLSP 2021 : Conception d’une solution de sélection automatique des CVs 

Lecture : 0 min
Partager cet article

Dans un marché en constante évolution, notre pôle R&D, la cellule d’expérimentation de Aymax, s’est présentée lors de la 4ème édition de la ICNLSP 2021, à la conférence internationale sur le langage naturel et le traitement de la parole, par le développement d’une solution innovante conçue pour le tri et la sélection des CVs et des candidats adéquats à l’offre recherchée.   

Dans ce cadre, nous félicitons notre lead R&D, Mohamed AMINE MENACER, pour l’admission de ses recherches son projet lors de cet événement incontournable, qui s’est déroulé les 12 et 13 novembre 2021 en virtuel.  

Notre lead R&D a pu réaliser ses recherches sur l’importance de la simplification de la sélection des CVs grâce à une solution adaptée afin d’optimiser le flux et le temps pour présélectionner le bon candidat. Une solution qui assure la rétention des bons profils et le gain que peut apporter pour l’entreprise.   

Nous avons interviewé notre lead R&D afin de nous expliquer les principaux axes qu’il a adopté pour le développement de cette solution :  

I. Un processus de recherche au sujet de la sélection automatique des CVs

1- Définir le périmètre de ce projet

  • Comment avoir trouvé cette problématique ? 

Pour cette question, nous pouvons remarquer de nos jours, que le nombre de Cvs et d’offres d’emploi qui sont déposés sur les plateformes digitales évoluent d’une façon exponentielle. A titre d’exemple, en 2020, la plateforme LinkedIn, a compté plus de 40 millions de personnes qui ont pu chercher une offre ou postuler aux différentes annonces, et cela de façon hebdomadaire (alors vous pouvez en imaginer le chiffre).  

Après, le problème de cette plateforme, c’est vrai, qu’elle est utilisée pour faciliter deux étapes dans le processus de recrutement, la première étape qui concerne la publication de l’offre d’emploi par le recruteur et la deuxième étape est la soumission des CVs par les chercheurs d’emploi. L’étape de sélection des candidats reste manuelle et coûteuse en termes de ressources humaines du temps. 

Par exemple, d’après nos recherches internes datées de 2019, pour traiter une candidature instantanée, le temps moyen que passe un recruteur pour traiter ce type de candidature, est estimé à 19 jours (vous imaginez ce temps que passe un recruteur pour sélectionner seulement un candidat)  

De ce fait, nous prenons en considération tous ces facteurs, en demandant pourquoi ne pas développer un modèle qui sera capable de faire une première étape de présélection des candidats et au lieu de se concentrer sur l’ensemble de tous les candidats qui ont postulé pour une offre d’emploi, nous allons nous concentrer seulement sur une liste potentielle de candidats qui sera présélectionnée et triée automatiquement. 

  • Quels sont les enjeux métiers autour de ce sujet ?  

L’enjeu principal est d’avoir un modèle qui va nous permettre d’extraire les informations clés à partir des offres d’emploi et des CVs dans un temps de traitement raisonnable. Si nous avons un système ou un modèle qui prend beaucoup de temps pour afficher les résultats, nous n’avons rien gagné par rapport aux processus manuels. De ce fait, il faut résoudre plusieurs problèmes. 

Le premier problème : comment nous allons traiter les documents comme les CVs et les offres d’emploi qui sont généralement des documents non structurés ? Donc ça serait difficile d’extraire des informations à partir de ces documents. L’autre problème critique est la combinaison des informations et des caractéristiques extraites à partir des CVs et des offres d’emploi, pour avoir au final un résultat qui représente le matching entre les candidats et les offres d’emploi. 

Pour résumer, l’enjeu majeur est le temps de traitement du système proposé et ensuite, les sous problèmes des extractions des informations clés et la combinaison de ces informations pour avoir le résultat final. 

  • Quels sont les travaux sur lesquels vous vous êtes basé pour ce sujet d’étude ?  

Il y a une relation directe avec le domaine du traitement automatique du langage naturel. Un domaine qui s’intéresse à tous les problèmes qui sont en relation avec le langage naturel comme la reconnaissance de la parole, la traduction automatique etc. 

Pour vous montrer le lien entre notre problématique et le traitement automatique du langage naturel, par exemple, pour extraire des informations clés à partir des documents tels que les CVs et les offres d’emploi, nous nous sommes basés sur des techniques intelligentes comme les systèmes de reconnaissance des entités nommées. Avec ses systèmes, nous serons capables d’étiqueter les séquences de mots avec des labels comme les noms propres, les pays ou les dates etc.  

Également, nous nous sommes appuyés sur des approches à base de règles, comme les expressions régulières. Une fois les informations extraites, la combinaison de ces informations et le calcul du score final est basé sur des approches du machine learning, principalement, les modèles de classification et les modèles qui s’appellent learning to rank, qui sont entraînés pour ordonner une liste selon des critères et des caractéristiques.  

Ce sont des domaines en relation avec des sujets d’études. 

2- Suivre une méthodologie bien définie  

  • Quelle méthodologie de recherche avez-vous pu appliquer ?  

Nous nous sommes basés sur une méthodologie itérative, classique dans laquelle nous avons essayé de donner des hypothèses, ensuite, nous sommes passés à l’étape de l’implémentation de ces hypothèses et puis nous avons pu finir par une étape de test. Dans l’étape de test, nous nous sommes focalisés principalement sur deux méthodes de test : une méthode d’évaluation objective dans laquelle nous avons utilisé des mesures statistiques pour évaluer les performances du modèle proposé. Également, nous trouvons l’évaluation subjective qui est généralement alisée par des êtres humains dans laquelle les résultats sont communiqués avec les personnes des ressources humaines. Ces dernières nous ont guidés pour améliorer les résultats dans le cas où le modèle échoue ou manque de performance.   

  • Quelles personnes avez-vous pu impliquer sur ce sujet ? Comment les avez-vous choisies ? 

Il y a deux personnes principales qui sont directement impliquées dans ce travail, je cite le manager du pôle digital Mr Sabeur Ben Hmidene, qui a formulé la première idée du problème, aussi, notre collaboratrice Fatma ben Hamda, qui a eu l’occasion de travailler sur ce sujet dans le cadre de son projet fin d’étude. Elle a fait une première proposition et moi par la suite, j’ai récupéré son travail et j’ai travaillé sur son amélioration. Ainsi, j’étais en contact avec les personnes du département RH qui nous ont aidé definir les informations importantes à partir des CVs, des offres d’emploi et des informations que nous devons prendre en considération pour accomplir ce travail. 

  • Avez-vous fait un état de l’art de la solution ? Si oui pouvez-vous nous l’expliquer

Pour n’importe quel travail de recherche, il faut toujours commencer par un état de l’art. Cette étude va nous permettre de savoir ce qui a été fait et les travaux qui sont en relation directe avec notre problématique pour savoir si cette problématique était résolue par d’autres travaux. Dans le cas où nous trouvons des personnes qui ont travaillé sur ce problème-là, nous devons changer notre stratégie, trouver des points faibles et essayer de trouver des solutions pour les problèmes que posent ces travaux.  

En ce qui concerne notre cas d’étude, dans l’état de l’art, nous avons remarqué que la plupart des travaux sur la sélection des candidats sont basés sur des modèles neuronaux qui sont généralement considérés comme des boîtes noires, c’est-à-dire que nous donnons une entrée et nous obtenons une sortie, il serait difficile pour nous d’interpréter les résultats et de savoir pourquoi nous avons obtenu ces résultats et ne pas obtenir d’autres. 

En partant de cette remarque-là, nous avons travaillé sur une proposition pour rendre notre modèle interprétable par un être humain. Cela veut dire que si le modèle va nous préciser que ce candidat est adapté à cette offre d’emploi, nous serons capables d’expliquer pourquoi ce candidat a été accepté et pourquoi nous n’en avons pas accepté d’autres.  Ceci est un plus par rapport à ce qui a été fait dans les travaux de l’état de l’art. 

3- Un processus de travail itératif

  • Expliquez-nous concrètement les actions du processus itératif

Dans notre processus, il y avait 3 étapes à réaliser pour mettre en place le modèle :  

La première étape concerne l’extraction du texte à partir des documents qui sont généralement des PDF ou des fichiers Word. Le problème que pose cette étape, (comme je vous ai expliqué avant), le CV n’a pas de mise en forme standard, des fois il est écrit en 2 colonnes, des fois en 3 colonnes, etc. Donc si nous utilisons les approches classiques basées sur des bibliothèques classiques, nous risquons d’avoir un texte qui n’est pas dans le bon ordre ce qui permet de perdre l’information sémantique qui existe dans le CV ou dans l’offre d’emploi.  

Notre proposition pour remédier à ce problème consistait à définir des règles pour structurer le texte et avoir un flux de texte qui ressemble au flux du document original.  

La deuxième étape, est l’extraction des informations clés et des caractéristiques à partir des documents, à ce niveau-là, quand j’ai commencé le travail, j’ai récupéré ce qui a été fait par notre collaboratrice dans le cadre de son projet fin d’étude. Par la suite, j’ai essayé de rajouter des caractéristiques selon mes connaissances. Ce processus a été amélioré de manière itérative pour rajouter d’autres informations en faisant des échanges avec des personnes RH.  

Une fois cette étape faite, c’est à dire la définition des caractéristiques, nous passons à la troisième étape, le calcul des scores. Cette étape traite la combinaison de toutes les informations clés, avec des formules mathématiques pour avoir au final un score qui représente le degré de pertinence d’un CV par rapport à une offre d’emploi.  

Voilà, ce sont les 3 actions principales dans ce processus-là : extraction de texte, définition des caractéristiques à partir du texte et le calcul du score final. 

  • La durée de la recherche et du développement 

Fatma a travaillé sur le sujet pendant 6 mois, durant la période de son projet fin d’étude. De mon côté, j’ai travaillé sur le sujet pendant 3 mois donc on va dire 9 mois au total. 

  • avez-vous pu placer vos efforts sur ce projet dans une démarche de prototype ? 

Dans notre processus, il y avait comme je vous ai expliqué 3 étapes : les deux étapes les plus importantes et les plus dures à implémenter étaient celle de la définition des caractéristiques ou des informations clés à partir des CVs et des offres d’emploi. Ainsi que l’étape du calcul du score 

Pourquoi ? dans la deuxième étape, comme je vous le disais, j’ai défini une liste de quelques caractéristiques (il y avait seulement 3 caractéristiques). En faisant appel aux personnes RH et en discutant avec le manager Sabeur, nous avons enrichi ces caractéristiques pour avoir au final 7 caractéristiques. En ce qui concerne le calcul du score final, le problème qui se posait était comment allons-nous pouvoir combiner ces caractéristiques pour avoir une information finale représentant le degré de pertinence du candidat par rapport à l’offre d’emploi ? 

Nous avons reformulé ce problème selon deux aspects :  

Le premier aspect, nous avons considéré le problème comme un problème de classification en essayant de dire à chaque candidat est-ce qu’il est accepté ou non tout court. Et dans le deuxième aspect, nous avons essayé d’ordonner les candidats selon un score, c’est comme un modèle de classement. 

  • Roeya Zouari : selon la pertinence du profil ? 
  • Amine : Voilà, exactement.  

II : Développement de l’application de sélection des CVs

1.Baser la solution sur une technologie performante et permettant l’évolution

  • Quelles technologies avezvous choisies ? Et pourquoi ? 

Dans l’implémentation actuelle, nous nous sommes basés sur deux parties : une partie Back-end et une partie Front-end.  

La partie Back-end est le noyau du système, qui va faire l’extraction des informations, le calcul du score etc. Cette partie était implémentée avec le langage python et les bibliothèques du traitement automatique du langage naturel comme SPACY et les bibliothèques du machine learning comme SCIKIT learn, donc ce sont les deux bibliothèques principales que nous avons utilisé pour réaliser cette partie.  

Après pour la partie Front-end, Il s’agit de la partie « prototype » qui représente l’interface graphique, et qui a été implémentée par des langages du web classiques comme HTML, CSS et javascript. 

  • Est-ce que la solution est pensée comme étant scalable ?  

Oui, effectivement, quand nous avons proposé la solution avant, nous avons décidé d’intégrer la solution dans notre outil CRH Ouickly, utilisé en interne, comme un module, mais après, nous avons remarqué qu’il serait intéressant de faire une plateforme à part qui est dédiée principalement au recrutement dans laquelle un recruteur aura la possibilité de postuler des offres d’emploi et le candidat, de soumettre sa candidature.  

Ensuite, le modèle proposé sera capable de faire une étape de présélection pour aider le recruteur à se focaliser seulement sur les candidats potentiels.  

Voilà, donc, cette solution, nous pouvons l’intégrer ou bien l’étendre facilement. 

2-Définir la valeur ajoutée de l’application

  • Quelle est la valeur ajoutée de cette solution sur son marché ?

La valeur principale, est le gain de temps, le recruteur dans ce cas, va gagner pas mal de temps pour avoir les candidats potentiels et même quand nous essayons de visualiser le contenu d’un CV, la solution nous permet aussi d’avoir une vision globale et structurée sur chaque CV.  

Nous ne serons donc pas obligés d’ouvrir chaque CV et de le lire pour avoir une idée générale sur le candidat. Il s’agit d’un gain du temps et du ressource. 

  • Est-ce que cette technologie peut être appliquée à d’autres domaines 

Exactement, nous pouvons l’appliquer sur plusieurs domaines, principalement les domaines où nous faisons du matching entre deux documents. Il est donc faisable d’appliquer cette technique pour traiter les requêtes de recherche qui sont basées sur la sélection des documents pertinents.  

De plus, il y a des sous modules dans notre proposition comme par exemple l’extraction du texte à partir des CVs et des offres d’emploi, nous pouvons utiliser cette partie pour le traitement des documents non structurés comme des factures etc. Donc nous pouvons l’appliquer dans un aspect qui est totalement différent de ce que nous faisons dans cette solution. 

3-Penser une solution modulable et évolutive

  • Quelles sont les évolutions possibles de cette solution ? 

Ma pensée est d’intégrer cette solution dans une plateforme dédiée pour le recrutement, donc nous pouvons l’améliorer en utilisant des RPA pour automatiser certains processus. Je vous donne un exemple ; si j’ai une liste de candidats qui ont postulé à une offre d’emploi donnée, nous pouvons utiliser des RPA pour contacter directement le candidat présélectionné afin de programmer avec lui un entretien et cela en se basant sur des informations que nous avons collecté à partir des CVs, comme les informations de contact directement, donc, c’est un point d’évolution.  

Nous pouvons utiliser la solution aussi (comme je vous ai expliqué avant) pour avoir une vision plus globale et structurée sur les CVs donc nous ne serons pas obligés d’ouvrir à chaque fois le CV pour avoir une idée sur le candidat mais nous pouvons utiliser la solution pour visualiser d’une manière plus rapide le contenu des CVs des candidats.  

Donc ce sont les deux points que je vois actuellement pour améliorer et booster la solution proposée. 

Vous pouvez consulter la publication officielle au travers de ce lien :  https://aclanthology.org/2021.icnlsp-1.15/.  
Un article rédigé par notre Lead R&D, Mohamed Amine MENACER contenant tous les aspects de cette solution. 

CONTACTEZ-NOUS

Pour toutes demandes d’information ou questions concernant nos services, veuillez nous contacter

Découvrez PLUS D'ARTICLES

Inscrivez vous a notre Newsletter

Chaque mois, recevez l’essentiel des actualités IT avec NewsMax.

Aucun champ trouvé.