Retour à tous les articles

Zoom sur le moteur de recommandation de l’Emploi Store !

Publié le 29 mai 2018

L’avez-vous remarqué ? Un moteur de recommandation a été mis en ligne sur Emploi Store, la plateforme de services de Pôle emploi, depuis avril 2017.
L’usager peut ainsi répondre à une série de questions puis retrouver une liste de services personnalisés par rapport à son besoin. Plus de 170 000 recommandations ont été effectuées à ce jour.

 

Focus sur l’algorithme Emploi Store !

recco_03-1.png

L’objectif de ce moteur de recommandation est d’utiliser les données de navigation des utilisateurs pour recommander des services, de la même manière que les sites marchands vous proposent des produits en fonction des comportements des autres utilisateurs. Le système est dit auto-apprenant (machine learning) car chaque jour les comportements des utilisateurs sont récupérés pour enrichir l’algorithme.

 

Mais comment construire un algorithme de ce type ?
Nicolas Pineau, Product Owner à la DSI de Pôle emploi nous explique tout :

  • La 1ere phase est la préparation des données : il faut les récupérer dans le Datalake, les mettre en forme, les agréger et calculer des indicateurs : c’est le travail du data analyst. Cette longue phase de préparation des données est essentielle et nécessite une bonne connaissance fonctionnelle générale.
  • Un algorithme est ensuite créé par les datascientists et implémenté sur l’Emploi Store. Monter un algorithme de ce type fait donc intervenir des data analysts, datascientists, développeurs web, le tout développé en mode Scrum avec un Product Owner. Des démonstrations régulières sont ainsi faites aux équipes de l’Emploi Store.

recco_01.jpg

 

Ce graphique permet de réaliser le calcul de la distance (cosinus) entre 2 items vectorisés et est utilisé pour recommander des fiches de services sur l’Emploi store :
« ceux qui ont comme vous répondu au questionnaire ont généralement cliqué sur cette fiche ».

Comment tester un algorithme de recommandation ?

recco_02.jpg


Il faut garder à l’esprit que les algorithmes de recommandation peuvent se tromper, il faut alors recueillir les informations permettant l’amélioration du modèle utilisé, pour que le système apprenne de ses erreurs et s’améliore (machine learning). En effet, par définition les recommandations sont fluctuantes car elles sont basées sur des données qui évoluent tous les jours.
Certaines peuvent ne pas être pertinentes : la difficulté est ici de tester et vérifier. Impossible de prévoir un plan de test figé.
La solution a donc été de mettre en place une interface de  « A/B/C Testing »  permettant aux équipes de Pôle emploi de comparer la pertinence des résultats  grâce au nouvel algorithme et de doser le poids du maching learning.4 algorithmes sont proposés dont un utilisant la méthode de pondération TF-IDF4

Le moteur de recommandation est construit sur l’API Catalogue des services Emploi Store et sera bientôt mis à disposition via l’API enrichie.
Tout un programme !
Merci à Nicolas Pineau pour nous avoir parlé des réalisations de son équipe !

---------------------------------------------------------
 

1 Datalake : référentiel de données permettant de stocker des données brutes dans le format natif accessible en lecture seule qui doit être la source de données de référence utilisée par les autres applications de traitement de données.

2 Maching Learning : Appelé également « apprentissage automatique » ou « apprentissage statistique » – regroupe la conception, l’analyse, le développement et l’implémentation de méthodes permettant à une machine de remplir des tâches et d’apprendre  à l’aide d’algorithmes en utilisant le big data

3 Deep learning : appelé “apprentissage profond” est un sous-domaine du Machine Learning et un ensemble de méthodes d'apprentissage automatique tentant de modéliser avec un haut niveau d’abstraction des données grâce à des architectures articulées de différentes transformations non linéaires. Ces techniques ont permis des progrès importants et rapides dans les domaines de l'analyse du signal sonore ou visuel et notamment de la reconnaissance faciale, de la reconnaissance vocale, de la vision par ordinateur, du traitement automatisé du langage.

4 TF-IDF : permet d'obtenir un poids, une évaluation de la pertinence d'un document par rapport à un terme, en tenant compte de deux facteurs : la fréquence de ce mot dans le document (TF) et le nombre de documents contenant ce mot (IDF) dans le corpus étudié