Vous êtes sur la page 1sur 13

Rapport De Projet

Smart CV Parser

Sujet
Traitement Automatique des CVs
et extraction des données structurés a la base des fichiers non structurés
En utilisant des algorithmes de IA

Réalisé par
BENZAOUI Ayoub

Au sein de
AFRIKAWORK
fournisseur de services de recrutement spécialisé dans la recherche des compétences et
talents en Afrique

Commencé le :
18Août2019
SMART CV PARSE – AFRICAWORK [ 2019 ]

Sommaire
Sommaire...................................................................................................................................................... 2
Liste de figures ............................................................................................................................................. 3
Introduction générale .................................................................................................................................... 4
Présentation générale duprojet...................................................................................................................... 5
Historique ..................................................................................................................................................... 6
Limitations.................................................................................................................................................... 6
1) Extraction de texte ........................................................................................................................ 6
2) Extraction d'information ............................................................................................................... 9
Solutions ..................................................................................................................................................... 10
1) Extraction de texte ...................................................................................................................... 10
2) Extraction de l'information ......................................................................................................... 10

BENZAOUI Ayoub - 2019 2


SMART CV PARSE – AFRICAWORK [ 2019 ]

Liste de figures

Figure 1 : lancer Tika via terminal ............................................................................................................... 7


Figure 2 : Résultat de transformation ........................................................................................................... 8

BENZAOUI Ayoub - 2019 3


SMART CV PARSE – AFRICAWORK [ 2019 ]

Introduction générale

Le nombre des inscriptions sur le site emploi.ma augmente jour après jour, pour pouvoir
garder cette courbe croissante, le site doit être à la hauteur des expectations et doit suivre les
dernières solutions techniques.
 Dans ce cadre, et pour faciliter le processus d’inscription des
candidats le Parsing de CV est une solutions inévitable.

Il s’agit pas d’un problème simple de l’extraction de données à l’aide des règles à
appliquer l’ors de parcours des CV , c'est vraiment trop loin de ca . Et on verra en détails par la
suite pourquoi .

Une mauvaise nouvelle c’est que l’un des problèmes «difficiles à résoudre» dans tout le
domaine de e-recrutement est celui de l’analyse de CV, qui, s’il est résolu avec précision, va
permettrait aux recruteurs de gagner beaucoup de temps en exécutant la tâche répétitive et
fastidieuse de filtrage manuel des CV . La bonne nouvelle c’est qu’on est pas les seules ,en effet
peut de société qui arrive à développer leur propremécanisme de traitement des CV, après on
peut même vendre le service de Smart Parsing au autres concurrents et profiter aussi de ces
donnés pour renforcer nos algorithmes.

L'intelligence artificielle nous a aidés à résoudre des problèmes qui étaient auparavant
considérés comme insolubles ou trop coûteux en calcul dans notre cas l’utilisation de plusieurs
aspects de l’intelligence artificielle est inévitable ,d’ailleurs c’est la seule solutions qu’on a pour
un vrai Smart Parseur, et on verra quelques autres solutions et ses limitations dans des
prochaines chapitres.

On parle après d’un approche de Smart Recrutement afin d’identifier, d’engager et de


recruter les meilleurs candidats utilisant l'IA . Alors le Smart Parsing peut être considéré comme
le premier pas vers la réalisation de cet objectif.

BENZAOUI Ayoub - 2019 4


SMART CV PARSE – AFRICAWORK [ 2019 ]

===

CHAPITRE I

Présentation générale duprojet

BENZAOUI Ayoub - 2019 5


SMART CV PARSE – AFRICAWORK [ 2019 ]

Historique

L’idée à commencé en 201X , l’idée au début c’était de développer


Unmodule en Drupal qui fait le traitement des CV ligne par ligne et qui récupère des
informations en utilisant des expressions régulière pour récupérer des données qui respectent une
format spécifique (email, numéro de téléphone, dates …) et des nom d’organisations et des
secteurs d’activités prédéfinis pour les matcher avec les donnes dans le CV , le premier problème
avec cette méthode la c’est que Drupal n’a pas assez de bibliothèques qui facilite la tache , il faut
de temps en temps penser a développer des modules qui fait un traitement qui est deja
disponible dans pas mal de bibliothèques dans des langages dédiés a ce genre de traitement (le
fameux python par exemple ).

D’ailleurs après ces limitation l’idée est changé vers python pour faire le même
traitement en utilisant des expressions régulières mais en profitant cette fois ci de ses biblio-
thèques .

Pdftotext : Conversion des fichiers PDF en texte.


Subprocess : Conversion des Doc en Docx avec LibreOffice.
Plutext : Conversion des documents Word 2007 et + (docx) en PDF.
Regex : Appliquer des expressions régulières pour récupérer des informations qui respectent une
format (email, numéro de téléphone, dates …) .
Ex : pour récuperer un numéro de téléphone marocain : ((?:\(?\+212\)?)?\d{9})
Minidom : Manipulation des fichiers XML.

Limitations

L’ancien projet consiste à trois parties majeures :

1) Extraction de texte

Le problème avec c’est deux bibliothèques et pour le principe de conversion de pdf


,doc, ou docx en text est inutile pour notre cas , parce que tout simplement on perd la valeur et le
contexte de texte est c’est ca le plus important à garder .

J’ai exploré plusieurs bibliothèques pour extraire du texte à partir de documents de type
pdf, doc, docx, etc. comme le fameux Apache Tika, mais aucune d’entre elles n’a pu fournir la
qualité des résultats que nous voulions atteindre. Il est devenu évident que l'extraction de texte ne
pouvait être résolue par un seul type d'algorithme.

BENZAOUI Ayoub - 2019 6


SMART CV PARSE – AFRICAWORK [ 2019 ]

La commande prend deux paramètres -i (input) et –o (output) et il accepte la


transformation en masse (bulk).

Figure 1 : lancer Tika via terminal

Le résultat ce change en fonction de complexité de cv .Et c'est normale puisque le


contexte et l'ordre de représentation se change d'un modèle de CV à un autre, alors un parseur
itératif va jamais donner des résultats qu'on peut utiliser pour extraire de l'information .

Si on perd le contexte , on perd l'information

BENZAOUI Ayoub - 2019 7


SMART CV PARSE – AFRICAWORK [ 2019 ]

CV Simple CV Complexe

PDF,doc,docx

TXT -----------------------------------------------

Figure 2 : Résultat de transformation

BENZAOUI Ayoub - 2019 8


SMART CV PARSE – AFRICAWORK [ 2019 ]

2) Extraction d'information

Un CV peut être considéré comme une collection d’informations liées à - Expérience,


formation, compétences et informations personnelles d’une personne. Ces détails peuvent être
présents de différentes manières ou ne pas l'être du tout .

Suivre le vocabulaire utilisé dans les CV est un grand défi . Un CV est composé de noms
de sociétés, d’institutions, de diplômes, etc. pouvant être écrits de différentes manières.
Pour par exemple. Africawork -- Afrikawork.com -- Africawork Maroc - Ces mots font
référence à la même entreprise mais seront traités comme des mots différents par une
machine. De plus, chaque jour de nouvelles entreprises et de nouveaux noms d’instituts
apparaissent, il est donc pratiquement impossible de maintenir le vocabulaire du logiciel à jour.

Même si, d'une manière ou d'une autre, nous parvenons à maintenir le vocabulaire, il est
impossible d'expliquer différentes significations du même mot.

Ex :
 Travaille actuellement en tant que Data Scientist chez Africawork
 AFRICAWORK MAROC est une société leader dans le domaine du recrutement en ligne

Dans la première , «Africawork» sera considéré comme une entreprise car il s'agit de
travailler là-bas.
Mais ce dernier ne nous parle pas de l'expérience d'une personne, donc «Africawork»
devrait être considéré comme un mot normal et non comme une entreprise. Il est évident que le
même mot peut avoir différentes significations, en fonction de son utilisation .

Le même mot peut avoir plusieurs formats , donc plusieurs informations

BENZAOUI Ayoub - 2019 9


SMART CV PARSE – AFRICAWORK [ 2019 ]

Solutions

Le problème de Smart CV Parsing peut être divisé en deux sous-problèmes majeurs:


1. Extraction de texte et 2. Extraction d'informations. Pour construire un analyseur de CV de top
niveau , ces deux problèmes doivent être résolus avec la plus grande précision possible
(Accuracy).

1) Extraction de texte

Les CVs qui peuvent sembler indiscernables à l'œil humain sont traités différemment par
l'ordinateur. Cela crée la possibilité de centaines de milliers de modèles dans lesquels les CV
sont écrits dans le monde entier. Tous les modèles ne sont pas faciles à lire.

par exemple. On peut trouver des tableaux, des graphiques, des colonnes dans un CV, et
chacune de ces entités doit être lue de manière différente. Par conséquent, il est facile de
conclure que les analyseurs basés sur des règles (RegEX ou matching avec notre base
d'organisations et entreprises ...) n'ont aucune chance de donner des bons résultats et qu'un
algorithme intelligent est nécessaire pour extraire le texte de manière significative à partir de
documents bruts (pdf, doc, docx, etc.).

Mon idée c'est de développer un système de classification des CVs basé sur leur template
Et traiter chaque modèle différemment des autres ,certains types sont simples, mais la plupart
d’entre eux (comme le cas de cv en haut.) nécessitaient une intelligence vraiment de haut niveau.

On est plus dans le Text Mining et traitement de texte , on parle de la reconnaissance


d'image et Image Mining.

Alors on est obligés d'utiliser la technologie de Reconnaissance optique de caractères


(OCR) on combinant cette dernière avec la technologie de traitement automatique du langage
naturel (NLP) pour avoir à la fin un cv Standardisé en format texte qui respectent deja notre
besoin et qui fait le preprocessing de nos CVs pour passer le traitement au deuxième phase de
l'extraction d'information

NB : par rapport a ces deux technologies (OCR et NLP)je cherche encore pour bien
comprendre comment les utiliser ,et si l'open source propose des solutions qu'on peux profiter ...

2) Extraction de l'information

Cette phase est encore en recherches .... ;)


BENZAOUI Ayoub - 2019 10
SMART CV PARSE – AFRICAWORK [ 2019 ]

BENZAOUI Ayoub - 2019 11


SMART CV PARSE – AFRICAWORK [ 2019 ]

BENZAOUI Ayoub - 2019 12


SMART CV PARSE – AFRICAWORK [ 2019 ]

BENZAOUI Ayoub - 2019 13

Vous aimerez peut-être aussi