Réalisation d’une Cvthèque pour l’automatisation de processus
de recrutement et la classification sémantique des CVs
Encad...
PLAN
Sofrecom Tunisie & Mission
Solution proposée
Analyse et spécification de besoin
Conception
&
Architecture
Problématiq...
Choix technologiques
Réalisation
Conclusion et
perspectives
Test & Validation
Sofrecom Tunisie
Présentattion & Mission
1
Sofrecom Tunisie
Filiale orange
50 ans d’expérience
200 clients
1400 consultants et
experts
Réseau mondial
de partenaires
5
Augmenter le
nombre des
clients
Augmenter le
nombre des
projets
Doubler le nombre
d’équipes
Recruter 300
employés
6
Mission
Problématique2
Conséquences
Fiches de
poste
CVs
Problématique
8
14 000
Boite email
Saturation des boites
emails
Difficulté de suivi des étapes de
recrutement.
Absence traçabilité complète
de ch...
Fiches de poste
CVs
Problématique
10
Processus de recrutement
Validation
des
demandes
de poste
Suivi des
candidatures
Classificatio
et
Présélection
des CVs
1 2...
Solution proposée3
Données
CV
Données de CV
Classification & filtrage
Automatisation du
processus de suivi et
demande
Centralisation et
extra...
Analyse et
spécification de
besoin
4
Acteurs
Administrateur
(Gestion d’utilisateurs)
Manager Service RH
Analyse et Spécification de besoin
15
Foncionnalités pour le
manager
Présélectionner les
CVs intéressants
Consulter les
tableaux de bord
Manager
Suivre les
cand...
Fonctionnalités de Service RH
Présélectionner les
CVs intéressants
Consulter les
tableaux de bord
Suivre les
candidatures
...
Besoins non fonctionnels
+ + =
Ergonomie et
convivialité
Temps de réponse
raisonnable
Sécurité
Satisfaire le client
Analys...
Conception et
Architechture5
Demande de posteSuivi de recrutement
A.Classification et filtrage des CVs
A
B
C
B.Automatisation du processus
20
20
A. Classification des CVs
Conception et architecture
21
A. Classification des CVs
Conception et architecture
22
Choix Algorithmique
Machine Learning
Apprentissage
supervisé
Apprentissage
non supervisé
Système de
recommendation
Non
per...
Choix algorithmiques
Naive Bayes
KNN
Arbre de
Décision
Arbre de
Décision
Conception et architecture
24
Couche Métier
Couche de persistenceDTO
Log
Couche
présentation
Controlleur
Service Rest
Spring Data
Reporting
Manageur du ...
Choix
technologiques5
26
Choix technologique
Integration
Choix technologiques
27
FrontEnd
Choix technologiques
28
Gestion de
Recrutement
& Reporting
Workflows
Persistence Classification
Ecosystème Spring
Activiti
Spring Boot + Spring Da...
MongoDB
1.
2.
Choix technologiques
30
Spark Mlib
508 MB
Choix technologiques
31
Couche d’integration
Choix technologiques
32
Test &
Validation5
Test et validation
Choix technologiques
34
Réalisation5
Validation des postes
Réalisation
36
Place your screenshot here
Filtrage des CVs
Réalisation
37
Suivi de recrutement
Réalisation
38
Mail automatique
Réalisation
39
Suivi des resultats
Réalisation
40
Reporting : CVs
Réalisation
41
Reporting : CVs
Réalisation
42
Reporting : CVs
Réalisation
43
Reporting : Postes
Réalisation
44
Conclusion &
perspectives5
Conclusion
Centralisation des données Notifications régulières
&
automatiques
Coordination
meilleure
Conclusion
46
Conclusion
Initier une classification des
CVs
Offrire un filtrage
des CVs
Vue globale sur le
processus de recrutement
Conc...
Perspectives
• Algorithmes
ensemblistes
• Rechercher des
compétences
• Nouveaux KPI
• Nouveaux critères
de filtrage
Techni...
“
L’expérience, ce n’est pas
l’évènement, mais ce que nous en
faisons …
Aldous Huxley
Merci
Prochain SlideShare
Chargement dans…5
×

Prez PFE

178 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
178
Sur SlideShare
0
Issues des intégrations
0
Intégrations
59
Actions
Partages
0
Téléchargements
17
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Nous enchainons la présentation comme suit:
    Commençons par la présentation de Sofrecom et sa mission qui a crée la problématique traitée par le projet , nous présentons la solution proposée en la détaillant par une analyse et spécification des besoins , une conception et l’architecture finale et nous argumentons les différents choix pris.

    Par la suite nous enchainons par la présentation de deux principales phases de test et validation et celle de la réalisation .
    Et nous finissons par une conclusion et proposons quelques perspectives.
  • Sofrecom est une filiale orange, elle a 50 ans d’expérience, comporte 300 employés , 1400 consultants , 200 clients et un réseau mondial de partenaires
  • L’une de ses principales mission est l’augmentation de son portefeuille client , et donc l’augmentation du nombre des projets ce qui crée le besoin de doubler de nombre des équipes et recruter environ 300 employés jusqu’à l’année 2017
  • Pour le faire , chacun des managers va proposer plusieurs offres de postes, ça sera une bonne nouvelle pour les charcheurs d’emploie qui vont postuler et envoyer leurs CVs plusieurs fois et pour des diférents offres. Au début de mon stage , Sofrecom a reçu environ 14000 CVs.

    En contre partie , C’est une masse difficile à gérer par le service RH qui doit examiner et valider les demandes de postes et les candidatures.
  • Autrement dit , Sofrecom reçoit les candidatures de différentes sources principalement Orange Jobs et Tanit Jobs ce qui provoque une saturation des boites mails , une absence de traçabilité complète de chaque candidature et une difficulté de suivi des étapes de recrutement.
  • C’est-à-dire le service RH
    Doit gérer les demandes de poste en les validant avec le supérieur hiérarchique concerné.
    Il doit chercher dans une masse très importantes des CVs qui comporte des doublons, des CVs non organisés et qui comportents plusieurs informations importantes à analyser afin d’identifier les pertinents
    Il doit suivre les entretiens et résultats de chaque candidature en coordination avec le manager concerné.
    Ces sont les trois étapes les plus intéréssantes : valisation des demandes de poste , présélection des CVs et suivi des candidatures qui constituent le processus de recrutement.
  • Ces trois étapes comportent plusieurs pbs:

    Durant la 1ere étape : la masse importante des offres , le nombre important des manager qui provoque des pbs de coordination entre eux , l’absence de suivi régulier de l’état des demandes et la perte des infors.

    Pour la 2eme étapes : Les CVs son non structurés , redondances de qlqs uns , la non organisation des CVs par domaines et la masse des CVs à gérer.

    Quant à la 3 étape , elle souffre de l absence de suivi de la candidature par les entités concernées , la non structuration des mails reçus , le nombre important des parties prenantes et donc des problèmes de coordinations.

    Et l’absence de la traçabilité pour responsabiliser les acteurs tout au long du process.
  • Pour résoudre ces problèmes nous avons eu recours à cette solution qui comporte 4 parties:

    L’ centralisation et l’extraction des données importantes por faciliter leur manipulation

    La classification automatique et le filtrage des CVs

    L’automatisation du processus de demande de poste et de suivi de recrutement

    Et enfin la génération des Tableau de bord pour dinner une vue globale sur le process.
  • Concernant l’analyse et la spécification de besoin
  • Nous avons 3 acteurs principaux:

    L’admini pour la gestion des roles de différents utilisateurs.
    Le manager et le service RH
  • Le manager pourra proser un poste …
    Tout en s’authentifiant
  • le service RH pourra valider ces demandes , ….
  • En contre partie notre application doit offrire une interface conviviale , un temps de réponse raisonable et un accès sécurisé afin de satisfaire les exigences de clients
  • 2 principales fonctionnalités à traiter :
    A classification et filtrage des CVs pour faciliter la présélection des CVs en offrant une classification automatiques des CVs suivant le domaine adéquat et un filtrage selon des critères intéréssants telsque la compétence et l’université afin d’identifier rapidement les CVs les plus adéquats .

    La 2eme fonctionnalité est l automatisation de precess de validation de demandes de poste et celui de suivi de recrutement
    En offrants des KPI à analyser pour faciliter la prise de décisions futures.
  • Cette classification se fait grace à un processus de text mining qui fait appel à des algorithmes de Machine learning afin d’identifier le domaine d’appartenance adéquat au CV en question
  • L processus de Text mining suit les étapes suivantes:

    L’extraction du contenu text des CVs , l’identifications des différents mots , éliminer les mots souvent utilisés , regrouper les mots ayant le meme sens , crée la matrice d’occurrence de chaque mot par CV , générer la matrice inverse pour éliminer les mots très utilisés par tout les CVs et enfin appliquer l’algorithme adéquat.
  • Y a pas un algorithme meilleur ou parfait , nous cherchons alors l’algorithme le plus adéquat à notre besoin grace à cette arbre de décision ;

    Le concept de machine learning comporte les catégories suivantes :sys de recommendation , app supervisé, non supervisé , Or notre but est de classifier les CVs selon des domaines connues d’avance alors c’est un problème d’app super , cette catégorie peut etre soit de la classification ou la regression Or notre solution met en évidence un ensemble des catégories et donc c’est le cas d(‘une classification , celle-ci comporte plusieurs algorithmes , et puisque nous traitons des labels , alors notre choix va se focaliser sur Naive bayes , Decision tree et KNN.

  • Ces trois algos répondent au besoin , pour identifier celui le plus adéquat nous avons fait une recherche pour comparer les performences :
    Ce qui nous a poussé à éliminer KNN car ces per se dégradent avec une masse des données importante.
    Prenant comme 2 eme critère la stabilité : les recherches montrent que l’arbre de décision sera le choix le plus adéquat pour avoir une meilleure stabilité indépendamment des données utilisées.
  • En terme d’architecture : C’est la vue globale de notre architecture proposée qu’ on va détailler ses trois parties en argumentants les choix pris
  • Notre architecture est devisée en une partie front end coté client et une partie backend , qui communiquent via le service web rest , le backend manipule des données stockées dans une base NoSQL chargée par une couche d’intégration.

    Cette architecture offre une évolutivité meilleure , une maintenance facile et la possibilité de réutilisation.
  • Pour le front end , il était implémenté par AngularJS , Chart JS pour le reporting , HTML et bootstrap pour les vues
    Afin d’avoir une couche facile à tester , avec une interface responsive et conviviale.
  • Le nosql est connu par la manipulation flexible des données , et donc il dera une bonne solution pour traiter nos données non structurées provenant des mails des sources différentes et des CVs sous différents formats et structures.

    Notre architecture manipule les données sous format JSON à cause de l utilisation du WS rest et donc MongoDB basé sur les documents de format BSOn sera le meilleur choix pour manipuler les sonnées sans avoir besoin de les parser.

    Aussi , cette solution offre un temps de reponse rapide grace à l utilisation des documents imbriqués de données et donc l’absence de jointure c à d accès et lecture rapide des données. La redondance des données ne sera pas un grand problème dans notre cas car nos tables ne sont pas nombreux.
  • Pour le choix du spark , une comparaison entre weka et mahout basé sur une recherche faite affirme qu’à u n seuil de 508 MB weka ne répond plus est donc c’est un choix à éliminer , pour spark versus mahout , les recherches montrent que avec un seuil de 1G Spark sera 9 fois plus performant que Mahout et donc le choix du spark
  • Pour la couche d’intégration un job talend sera planifié chaque fin de journée pour extraire à partir des mails reçus de Tanit et porange jobs les informations de candidatures et extraire en utilisant apache tika le contenu des CVs pour les charger dans MongiDB

    Un autre job est crée pour importer les informations des utilisateurs à partie de Ldap dans mongodb
  • Passons maintenant à l’une des phases les plus importante du projet
  • Tout au long du projet des réunions régulières sont faites pour identifier les besoins client et en extraire les recettes de test.
    A la phase de dev , des test unitaires ont été mise en place pour éliminer les bugs techniques.
    Dans une seconde phases des tests fonctionnelles ont été faite avec le product owner avant la mise en prodction et la refaite des test avec le nouveau environnement et préparer l’application aux démonstrations régulières avec la direction générale et les service RH pour valider l’indentification du fonctionnement avec les besoins initiaux. Et c’est fait chaque fin du sprint.
  • Nous avons pu grace à cet outils de centraliser les données et en extraire des informations utiles

    Automatiser le processus afin de notifier régulièrement les candidats et donc minimiser leur stress et donner respect à eurs demandes mm en cas de refus.

    Améliorer la coordination entre le service RH et les managers
  • Offrir un filtrage des CVs pour améliorer la phase de présélection
    Initier une classification des CVs
    Et nous avons offert une vue globale sur le processus pour guider la prise de décision à des différents stades.

    Notre application sera mise en production finale et utilisée Le 1er juillet par Sofrecom.
  • Techniquement , Avec toute conscience que les algorithmes peuvent engendrer des erreurs qui peuvent etre importantes dans un tel processus critique nous proposons une étude et implémentation des algorithmes ensemblistes pour minimiser ce taux d erreur .


    Fonctionnellement , il sera intéressant d’exploiter le réseau social Linkedin pour chercher des nouvelles compétences , développer des nouveaux KPI et mettre en œuvre des nouveaux critères de filtrage.
  • Prez PFE

    1. 1. Réalisation d’une Cvthèque pour l’automatisation de processus de recrutement et la classification sémantique des CVs Encadré par : Encadrante INSAT : Mme Sonia BOUZIDI Encadrant Entreprise: Mr. Sabri MTIBAA Encadrante Entreprise: Mlle. Emna DRISSI Réalisé Par : Marwa FRIAA
    2. 2. PLAN Sofrecom Tunisie & Mission Solution proposée Analyse et spécification de besoin Conception & Architecture Problématique
    3. 3. Choix technologiques Réalisation Conclusion et perspectives Test & Validation
    4. 4. Sofrecom Tunisie Présentattion & Mission 1
    5. 5. Sofrecom Tunisie Filiale orange 50 ans d’expérience 200 clients 1400 consultants et experts Réseau mondial de partenaires 5
    6. 6. Augmenter le nombre des clients Augmenter le nombre des projets Doubler le nombre d’équipes Recruter 300 employés 6 Mission
    7. 7. Problématique2
    8. 8. Conséquences Fiches de poste CVs Problématique 8 14 000
    9. 9. Boite email Saturation des boites emails Difficulté de suivi des étapes de recrutement. Absence traçabilité complète de chaque candidat. Problématique 9
    10. 10. Fiches de poste CVs Problématique 10
    11. 11. Processus de recrutement Validation des demandes de poste Suivi des candidatures Classificatio et Présélection des CVs 1 2 3 Problématique 11
    12. 12. Solution proposée3
    13. 13. Données CV Données de CV Classification & filtrage Automatisation du processus de suivi et demande Centralisation et extraction des données Solution proposée 13 Reporting
    14. 14. Analyse et spécification de besoin 4
    15. 15. Acteurs Administrateur (Gestion d’utilisateurs) Manager Service RH Analyse et Spécification de besoin 15
    16. 16. Foncionnalités pour le manager Présélectionner les CVs intéressants Consulter les tableaux de bord Manager Suivre les candidatures Analyse et Spécification de besoin Proposer un poste S’authentifier 16
    17. 17. Fonctionnalités de Service RH Présélectionner les CVs intéressants Consulter les tableaux de bord Suivre les candidatures Analyse et Spécification de besoin Valider les propositions des postes S’authentifier Service RH 17
    18. 18. Besoins non fonctionnels + + = Ergonomie et convivialité Temps de réponse raisonnable Sécurité Satisfaire le client Analyse et Spécification de besoin 18
    19. 19. Conception et Architechture5
    20. 20. Demande de posteSuivi de recrutement A.Classification et filtrage des CVs A B C B.Automatisation du processus 20 20
    21. 21. A. Classification des CVs Conception et architecture 21
    22. 22. A. Classification des CVs Conception et architecture 22
    23. 23. Choix Algorithmique Machine Learning Apprentissage supervisé Apprentissage non supervisé Système de recommendation Non personnalisé Filtrage collaborateur … Classification Regression Clustering … SGD Classifier Kernel approximation Naive Bayes KNN Arbre de Décision But? Catégories? Label? Conception et architecture 23
    24. 24. Choix algorithmiques Naive Bayes KNN Arbre de Décision Arbre de Décision Conception et architecture 24
    25. 25. Couche Métier Couche de persistenceDTO Log Couche présentation Controlleur Service Rest Spring Data Reporting Manageur du Métier Administration Activiti Classification de CVs Couche d’intégration ETL Extraction d’utilisateurs Serveur statique grunt Spring/Spring security ServeurTomcatdespringboot VuesReporting Conception et architecture 25
    26. 26. Choix technologiques5 26
    27. 27. Choix technologique Integration Choix technologiques 27
    28. 28. FrontEnd Choix technologiques 28
    29. 29. Gestion de Recrutement & Reporting Workflows Persistence Classification Ecosystème Spring Activiti Spring Boot + Spring Data + Spring Security Base NoSQL Machine Learning MongoDB SPARK Mlib Comptes rendus 29 Choix technologiques 29
    30. 30. MongoDB 1. 2. Choix technologiques 30
    31. 31. Spark Mlib 508 MB Choix technologiques 31
    32. 32. Couche d’integration Choix technologiques 32
    33. 33. Test & Validation5
    34. 34. Test et validation Choix technologiques 34
    35. 35. Réalisation5
    36. 36. Validation des postes Réalisation 36
    37. 37. Place your screenshot here Filtrage des CVs Réalisation 37
    38. 38. Suivi de recrutement Réalisation 38
    39. 39. Mail automatique Réalisation 39
    40. 40. Suivi des resultats Réalisation 40
    41. 41. Reporting : CVs Réalisation 41
    42. 42. Reporting : CVs Réalisation 42
    43. 43. Reporting : CVs Réalisation 43
    44. 44. Reporting : Postes Réalisation 44
    45. 45. Conclusion & perspectives5
    46. 46. Conclusion Centralisation des données Notifications régulières & automatiques Coordination meilleure Conclusion 46
    47. 47. Conclusion Initier une classification des CVs Offrire un filtrage des CVs Vue globale sur le processus de recrutement Conclusion 47
    48. 48. Perspectives • Algorithmes ensemblistes • Rechercher des compétences • Nouveaux KPI • Nouveaux critères de filtrage Techniques Fonctionnelles Conclusion 48
    49. 49. “ L’expérience, ce n’est pas l’évènement, mais ce que nous en faisons … Aldous Huxley Merci

    ×