Référentiel ROME de Pôle Emploi en SKOS (à partir de data.gouv.fr)
Etalab, la mission chargée de la politique Open Data de l’administration aujourd’hui intégrée à la DSI de l’Etat, vient d’ouvrir le portail du service public de la donnée (lire l’article sur silicon.fr) : des jeux de données de référence, « à fort impact économique et social », d’un niveau de qualité et de fraîcheur garanti. Parmi ceux-ci le Répertoire Opérationnel des Métiers et de l’Emploi (ROME), la classification utilisée par Pôle Emploi.
A partir des fichiers de données du Répertoire Opérationnel des Métiers et de l’Emploi, j’ai mis en ligne des visualisations de données du ROME, après nettoyage, traitement, et conversion des données en SKOS.
Le Répertoire ROME
Ce répertoire ROME m’avait intéressé il y a 4 ans lorsque j’avais effectué une mission pour l’optimisation sémantique du moteur de recherche SolR d’un job board. Nous nous étions demandé à l’époque si nous pouvions réutiliser une partie de ce référentiel pour effectuer un rapprochement (automatique ou manuelle) des titres d’annonces d’emplois vers le référentiel. Cela aurait permis, à partir de l’identification du nom du poste, de catégoriser automatiquement les annonces dans la catégorie ROME appropriée. Le ROME contient en effet plus de 11000 dénominations de postes/métiers, catégorisés dans une double classification : une arborescence principale, et une arborescence thématique. On y trouve donc des entrées comme :
- Accompagnateur / Accompagnatrice en écotourisme
- Responsable de rayon produits alimentaires
- Assistant / Assistante mise en scène
- etc.
Ces noms de postes sont organisés dans une classification à 3 niveaux : « AGRICULTURE ET PÊCHE, ESPACES NATURELS ET ESPACES VERTS, SOINS AUX ANIMAUX > Espaces naturels et espaces verts > Bûcheronnage et élagage ». Le 3eme niveau (ici « Bûcheronnage et élagage ») correspond à une fiche métier (ici http://candidat.pole-emploi.fr/marche-du-travail/fichemetierrome?codeRome=A1201) et est associé à un code (ici A1201).
Conversion en SKOS
Je suis reparti ici des fichiers bruts fournis sur data.gouv.fr, et j’ai passé un peu de temps à les convertir en SKOS avec le convertisseur Excel vers SKOS de SKOS Play :
- ajustement manuel de certaines valeurs mal séparées par des virgules dans le fichier CSV de départ;
- suppression des guillemets simples et doubles;
- fusion des 2 fichiers fournis (arborescence principale et arborescence thématique);
- réorganisation des colonnes;
Il s’agit ensuite de construire un tableau Excel au format adéquat pour une conversion vers SKOS, en adaptant la structure des fichiers, typiquement en calculant le contenu de nouvelles colonnes avec des formules Excel. En particulier, il s’agit de donner des identifiants URI à toutes les entrées du code ROME, pour arriver ainsi à des données open data « 4 étoiles ». Cette conversion SKOS est relativement aisée à réaliser, sans écriture de code ni script. Elle est accessible à toute personne capable de manipuler Excel.
Ces données SKOS du ROME sont publiées à http://data.sparna.fr/vocabulaires/code-rome.
Je ne rentrerai pas dans les détails de modélisation du ROME en SKOS, sauf sur 1 point : on peut se demander ce qu’il convient d’identifier comme « Concept » dans ce référentiel. J’ai pris le parti de considérer chaque nom de poste comme un skos:Concept, et tous les éléments de classification thématiques comme des skos:Collection (donc des tiroirs, qui ne sont pas utilisables dans une indexation). Un point de vue différent mais tout aussi valable serait de considérer non pas les noms de poste comme des concepts, mais bien les noms de métier, chaque métier ayant une correspondance avec une fiche sur le site Pôle Emploi; les noms de poste seraient alors des synonymes (skos:altLabel) du métier (dans l’exemple au-dessus, le métier A1202 « Bûcheronnage et élagage » aurait alors pour synonymes « Agent / Agente d’aménagement des haies et fossés », « Agent / Agente d’entretien des espaces naturels », « Ouvrier / Ouvrière d’entretien des espaces naturels », etc.).
Visualisations de données
A partir des données SKOS, on peut ensuite générer des visualisations avec SKOS Play : ces visualisations sont publiés à http://labs.sparna.fr/code-rome.html. 3 visualisations ont été produites :
- Un champ de recherche assisté (avec une autocompletion sur les noms des métiers), permettant de lancer une recherche d’annonces sur le site Pôle Emploi à partir d’un nom de métier; on pourrait imaginer quelque chose de similaire pour accéder aux fiches métiers plutôt qu’aux annonces;
- Une vue arborescente avec d3js, permettant de naviguer visuellement dans l’arbre;
- Un listing indenté en HTML, que l’on peut plier et déplier;
On notera que, sauf pour l’articulation entre le champ de recherche assisté et le site de Pôle Emploi qui demande 10 lignes de javascript, ces visualisations sont produites directement par SKOS Play sans avoir à écrire de code.
Un « Web des données de l’emploi » ?
On a donc ici fait passer le référentiel ROME à un meilleur niveau de qualité des données, permettant une intégration facilitée dans d’autres systèmes, d’autres outils de recherche. Au delà de la démonstration sur la conversion et la visualisation de données, j’aimerai dans une deuxième étape illustrer l’alignement des données du ROME avec d’autres référentiels (probablement ESCO), en utilisant OnaGUI, qui permet de simplifier les alignements de vocabulaires. On aurait alors un beau référentiel 5 étoiles, _dans_ le web (et pas simplement _sur_ le web), avec des correspondances vers d’autres données. Un « web des données de l’emploi » ? il fallait bien ça à quelques jours des présidentielles !
Dans une deuxième étape je publierai le SKOS généré pour que les URIs soient déréférençables, en utilisant SKOSMOS, dans un déploiement similaire à celui utilisé pour publier le thesaurus de l’UNESCO.
J’espère que cette conversion de données en SKOS permettra une diffusion et une intégration plus large de ce référentiel utile pour la recherche d’emplois. Dites-moi si vous réutilisez ces données pour d’autres visualisations ou d’autres systèmes, ou si vous souhaitez de l’aide pour son intégration.
Illustration de l’article tirée de Wikimedia Commons : https://fr.wikipedia.org/wiki/Fichier:Metro_de_Paris_-_Ligne_2_-_Rome_07.jpg
Bravo pour cet excellent exemple de transformation d’un jeu de données gouvernementales existantes en un ensemble conforme aux principes du Linked Open Data Web. Notre projet ASKOSI.org a un objectif similaire et je suis tenté de tester aussi la publication du ROME. Au niveau des classifications, métiers et postes, j’aurais tendance à les voir comme partie d’une même hiérarchie SKOS (et donc qu’ils soient tous des concepts) car une recherche sur une classification doit ramener les opportunités de tous les métiers et de tous les postes sous-jacents (ou je comprends mal?). Le fait de pouvoir ou non utiliser les concepts d’un niveau donné est propre à l’application (une classification utilisable à des fins d’analyses statistiques a effectivement des « types » différents à chaque niveau d’aggrégation des données: Pays, Région, Département, Commune, Localité par exemple). Un dernier bémol, la meilleure base de données sur l’emploi ne remplace pas le bon conseiller qui connaît vraiment « ses » employeurs et « ses » candidats et voit immédiatement qui ira bien avec qui… Bonne continuation dans vos expériences dans le « LOD » !
Ce qui me fait dire que les noms de postes pourraient être des synonymes du concept représentant le métier est la façon dont les fiches métiers sont présentées sur le site de Pôle Emploi : dans http://candidat.pole-emploi.fr/marche-du-travail/fichemetierrome?codeRome=A1201, on a la section « appellations métier », ce qui indique que l’unité de travail est bien le métier, et que les postes ne sont que des « appellations » de ce métier. Et c’est bien le métier qui peut être relié à d’autres (dans l’onglet « Mobilité professionnelle ») et qui est caractérisé par des compétences. Pour avoir une réponse définitive il nous faudrait un expert… « métier »
« La meilleure base de données sur l’emploi ne remplace pas le bon conseiller » : je suis bien d’accord avec vous ! je ne suis qu’un technicien qui pioche au fond de la mine, bien éloigné des vrais gens. Ceci dit une publicité pour une agence d’interim en France titrait récemment « J’ai trouvé mon nouveau poste grâce à un algorithme »…