Trouver le bon Job dans toutes les offres d'emploi en ligne
|
|
Le besoin
Identifier les offres d'emploi qui sont le plus pertinentes pour moi dans la grande masse d'annonces
Je suis un particulier qui recherche activement un emploi dans le domaine de la finance. J’ai besoin d’un outil qui m’aide à identifier les offres qui correspondent réellement à mon profil et à mes souhaits professionnels afin de me faire gagner du temps pour ma recherche. La problématique que je rencontre est la divergence de dénominations des postes, pour un même rôle réel. Par exemple, pour un même poste au sein d’une entreprise, l’une pourrait le nommer « Analyste financier » tandis que l’autre « Analyste Engagements ».
De nombreuses offres sont disponibles en ligne, et je dois toutes les examiner, ce qui me prend beaucoup de temps sur ma recherche d'emploi.
Je cherche un outil qui puisse m'aider à sélectionner les bonnes offres rapidement en fonction de mon profil.
La solution
Collecter et analyser automatiquement les offres d'emploi
La recherche d'offres d'emplois est une activité de veille spécialisée, qui comprend les étapes classiques d'un cycle de veille :
- Définition des objectifs de la veille
- Sourcing
- Collecte
- Analyse
- Diffusion
Les outils de traitement automatique des langues (TAL) peuvent aider dans la recherche d'emploi en proposant parmi les offres d'emploi en ligne celles qui correspondent au profil de la personne.
Pour cela, il faut dans un premier temps indiquer son profil (compétences, régions, disponibilités, poste recherché...), et identifier les sites susceptibles de contenir des annonces pertinentes. Une fois les annonces pertinentes repérées, il faut analyser la correspondance entre le profil du candidat et l'offre d'emploi.
Voyons cela pas à pas.
Définition des objectifs de la veille : l'analyse du profil candidat
Dans un premier temps, le candidat complète son profil dans l’outil en renseignant plusieurs informations telles que ses soft skills, ses compétences techniques, ses diplômes, ses expériences passées en détaillent es missions réalisées, les intitulées des postes et les durées.
Pour ce faire, le candidat peut également charger son CV, qui est analysé par le logiciel afin d'extraire les informations pertinentes. Cependant dans ce contexte le CV doit être parfaitement formaté afin que l’outil puisse le traiter efficacement, extraire toutes les informations et les catégoriser correctement. Il est préférable que le CV comporte des sections claires et définies par des titres, des intitulés de missions, des durées etc.
Par ailleurs, le candidat complète ses critères de manière optionnelle et dans l’optique de renseigner ceux qui lui sont non négociables, afin de filtrer les offres qui ne correspondent pas à ses critères. Ces critères peuvent être l’intitulé de poste, la localisation du poste (ville, région..), le type de contrat recherché (CDD, CDI..), le salaire etc.
Sourcing : identifier les offres d'emploi
Les offres d'emploi susceptibles d'intéresser le candidat peuvent être publiées sur différentes plateformes : page 'Offre d'Emploi' des sites d'entreprises ou plateformes spécialisées dans la publication d'Offres. Pour identifier ces plateformes, le candidat peut saisir quelques mots clés dans un moteur de recherche. Le candidat pourra ensuite sélectionner les sites pertinents parmi ceux disponibles.
Cette première phase, dite de Sourcing permet de restreindre la recherche et d'éviter ainsi de proposer de trop nombreuses offres au candidat.
Collecter : le web scraping des offres d'emploi
Le Web scraping, dans le cadre d'une veille telle que la recherche d'offres d'emploi, consiste à collecter sur Internet les pages web pertinentes et à les analyser pour en extraire les informations pertinentes. Une page d'un site Internet contient généralement d'autres informations que le texte de l'annonce elle-même : barre de navigation, publicités, pied de page, entête, qu'il est nécessaire de retirer avant toute analyse linguistique.
Dans l'exemple ci-dessous, l'offre d'emploi ne représente qu'une partie du contenu de la page Internet. Le Web Scraping permet alors d'extraire et analyser seulement la section concernant l'offre d'emploi.
L’outil collecte les offres présentes sur les différents sites afin de réaliser un filtrage sur les annonces non pertinentes, c’est-à-dire celles correspondant à un tout autre domaine que celui du candidat, ainsi que les annonces ne correspondant pas aux critères du candidat (localisation, type de contrat etc.).
Ce premier filtrage sert à éviter d’effectuer les traitements suivants sur des annonces hors sujet, ce qui alourdirait considérablement le système. Pour détecter si l’annonce correspond bien au domaine professionnel du candidat, il est possible de mettre en place un test de correspondance de mots-clés, par exemple la redondance du mot "finance" ou d'autres termes clés dans la recherche d'offres.
Analyse des offres
Une fois que l’ensemble des offres relevant du domaine du candidat ont été extraites, l’outil analyse le contenu textuel de chacune, l’une après l’autre, afin d’identifier des correspondances avec le profil du candidat.
L’analyse des offres consiste à :
- comparer les données descriptives de l'offre aux critères du candidat : compétences, type de poste, localisation, salaire etc
- comparer les missions proposées en fonction du profil du candidat
Sur la capture d'écran ci-dessous, les données descriptives sont surlignées en jaune, tandis que les missions proposées sont encadrées en rouge.
Comparer les données descriptives aux critères du candidat
La reconnaissance d'entités nommées (REN) permet de reconnaître notamment les compétences mentionnées dans l’offre d’emploi, afin de les mettre en lien avec celles présentes sur le CV du candidat. Il peut s’agir des compétences techniques (hard skills), mais également transversales (soft skills). Ces données se trouvent aussi bien dans des catégories structurées telles que celles affichées sur le coté gauche de l'offre (éléments surlignés en jaune dans la capture précédente) que dans le bloc de texte de l'annonce, comme cela est visible dans la capture d'écran ci-dessous, où ces éléments sont encadrés de jaune.
A ce niveau du traitement, il est pertinent que la reconnaissance d'entité nommées soit appuyée par un thésaurus, qui permet de pallier la différence de vocabulaire, et ainsi de réaliser une comparaison pertinente et efficace. Par exemple, si le candidat renseigne comme localisation "Ile-de-France" et que l'annonce mentionne "Paris", une simple correspondance textuelle ne fonctionnerait pas. Le thesaurus permet à l'algorithme de prendre en considération que "Paris" est compris dans "Ile-de-France". Autre exemple, le système doit être en mesure de considérer « Bon relationnel » et « Sens du contact » comme deux expressions équivalentes malgré la diversité des mots employés.
Pour cette partie du traitement, un algorithme d'extraction d'information est adéquat. Il peut être à base d'apprentissage automatique (Machine Learning / IA) mais également à base de règles appuyé sur un thesaurus. Les informations extraites de l'offre sont ensuite comparées aux informations complétées par le candidat afin d'évaluer la correspondance entre l'offre et le candidat.
Comparer les missions proposées en fonction du profil candidat
La prochaine étape consiste à extraire le texte décrivant les missions mentionnées dans l’offre d’emploi. Pour cela, il est possible de développer un système d’extraction d’information entraîné sur la détection de missions dans les offres d’emploi, mais également un algorithme se basant sur les indicateurs dans le texte. Ces indicateurs sont par exemple les titres "Vos missions", "Description du poste", et à partir de ces indicateurs, extraire et analyser les missions mentionnées. Dans la capture d'écran ci-dessous, les missions identifiées sont encadrées en bleu.
Une fois extraites, les missions sont comparées à celles renseignées par le profil du candidat. Les missions étant variées et dans le cas d'un jeune diplômé manquant d'expérience, il est envisageable d'accorder une importance (un poids) plus faible à cette partie de l'offre lors du calcul de correspondance global entre l'offre et le candidat.
Diffusion des résultats : Présentation des offres à l’utilisateur
Une fois tous les éléments extraits et analysés, la correspondance est effectuée entre le profil du candidat et l'offre d'emploi. Il est concevable de réaliser une analyse sur 3 niveaux et de présenter ainsi au candidat :
- la correspondance des données descriptives : compétences, expérience, diplôme requis, localisation, type de poste etc..
- la correspondance des missions : en mettant l'accent sur les missions similaires et les missions différentes,
- la correspondance globale : en calculant la moyenne des deux correspondances précédentes.
La correspondance en TAL renvoie à la similarité textuelle, c'est-à-dire la ressemblance entre deux textes, exprimée par un score de similarité. Il existe plusieurs méthodes de scoring en fonction du besoin.
Finalement, le candidat reçoit une série d'offres d'emploi triées de la plus correspondante à son profil, à la moins correspondante. Les détails des points communs et les points divergents entre le profil candidat et l'offre peuvent être présentés au candidat, dans l'optique de lui faire gagner du temps sur la lecture et l'étude de l'offre d'emploi.