Comment LinkedIn détecte les talents grâce à l'IA

Comment LinkedIn détecte les talents grâce à l'IA Le machine learning est une brique maîtresse du service d'aide au recrutement du job board. C'est aussi un élément central pour assurer le ranking de son newsfeed.

Parmi les services payants de LinkedIn figure son très stratégique LinkedIn Recruiter. Une offre d'aide au recrutement qui détecte et classe les profils du job board considérés les mieux adaptés en fonction d'une requête donnée. L'algorithme sous-jacent prend notamment en compte la proximité entre les critères de recherche et les compétences et expériences des abonnés, mais aussi la localisation de l'emploi ou encore la probabilité d'une réponse positive de la part des potentiels candidats considérés. "Pour évaluer cette probabilité, nous identifions les abonnés ayant le plus régulièrement répondu positivement à un InMail d'un recruteur", précise Qi Guo, ingénieur logiciel chez LinkedIn. En coulisse, le système de ranking fait évidemment appel au machine learning (ML) pour personnaliser les réponses en fonction de tous ces facteurs.

LinkedIn doit composer avec un volume massif de données. Pour glaner des profils, il peut compter sur des dizaines de milliers de compétences dont certaines sont liées entre elles. Mais également sur tous les liens que tissent ses plus de 600 millions de membres à travers le monde, à la fois entre eux mais aussi avec les entreprises auxquelles ils appartiennent ou ont appartenu. Toutes ces relations qui se comptent par milliards viennent enrichir un Knowledge Graph inspiré de celui de Facebook. Aux côtés de ses champs standards, la plateforme intègre par ailleurs du texte libre : posts, recommandations, compétences et expériences spécifiques…

Ingérer des graphes avec des millions de nœuds

Pour intégrer ces multiples dimensions à son modèle de ranking de talents, LinkedIn a recours à l'embedding de graphes. Une méthode qui permet de représenter des réseaux d'informations complexes et interdépendants sous forme d'espace vectoriel plus facilement exploitable par des algorithmes de machine learning. Pour répondre à sa problématique de volumétrie, le job board capitalise sur la démarche LINE (pour Large-Scale Information Network Embeddings) qui améliore cette méthode en vue d'ingérer des graphes contenant des millions de nœuds.

"Un réseau de neurones avec une couche linéaire finale généralisée facilite l'adoption du transfert d'apprentissage ou de l'apprentissage en ligne"

Sur la base de cette infrastructure big data, LinkedIn a d'abord eu recours à des modèles de machine learning linéaire. "Ce type d'algorithmes est aisé à interpréter, à comprendre et à déployer. C'était un bon choix pour commencer. Mais, par définition, cette approche ne permet pas de traiter les interactions entre nos multiples variables de recherche, souvent non-linéaires", reconnait Qi Guo. Le réseau social s'est donc tourné vers le Gradient Boosted Decision Trees (GBDT). Un algorithme taillé pour agréger plusieurs classificateurs, chacun correspondant à un critère de recherche. Par itération, la pondération de chacun est affiné dans l'optique de calculer le ranking final.

Problème, le GBDT manque de flexibilité et n'est pas des plus faciles à faire évoluer. Face à ces difficultés, LinkedIn expérimente plusieurs pistes parmi lesquelles le deep learning. "Un réseau de neurones avec une couche linéaire finale généralisée facilite l'adoption d'approches telles le transfert d'apprentissage ou l'apprentissage en ligne", note-t-on chez LinkedIn. Autre solution étudiée : l'association du GBDT à une classification par paire, une technique très utilisée dans les systèmes de recommandation. Objectif : mieux prendre en compte le contexte d'une demande et ainsi améliorer la personnalisation des résultats.

Newsfeed et knowledge graph

Le réseau social intègre évidemment de l'IA dans beaucoup d'autres services. Sans surprise, c'est le cas de son fil d'actualités. Pour chaque visiteur, le newsfeed fait le tri entre des dizaines de milliers de contenus et génère un classement personnalisé par ordre de pertinence. Pour dresser ce palmarès, il privilégie les thématiques emploi et professionnelles préférées de l'abonné en fonction de son historique sur la plateforme, ainsi que les contenus issus de contributeurs au plus proche de ce dernier au sein du Knowledge Graph, en relation directe et communiquant régulièrement avec lui.

"Nous avons créé nos propres extensions, frameworks et techniques comme les Boosting Decision Tables"

La logique est comparable à celle du newsfeed de Facebook qui lui aussi s'adosse à la notion de graph pour propulser son fil d'activités. Seule différence : une compétence, ou une annonce d'emploi n'est pas un contenu Facebook. D'où la décision de LinkedIn d'opter pour des critères qualifiés de "différenciant" pour détecter les résultats les plus pertinents pour un utilisateur donné. Au-delà de la proximité d'un contenu avec les centres d'intérêt du visiteur et du taux de clic qu'il a généré, le moteur de ranking retient le nombre d'affichages de ce contenu et le temps passé dessus par d'autres membres (des signaux permettant d'estimer sa qualité). "En plus de techniques de machine learning standard telles la régression logistique, le GBDT et les réseaux de neurones, nous avons créé (pour le newsfeed, ndlr) nos propres extensions, frameworks et techniques d'IA comme les Boosting Decision Tables", détaille Tim Jurka, directeur intelligence artificielle du job board.

L'IA automatise le support

Autre domaine d'application, les algorithmes de ML permettent à LinkedIn de prévenir les abus : de la création de faux comptes au scraping de données en passant par le spam et le piratage d'abonnés. Un domaine pour lequel le réseau social a fait le choix de l'algorithme Isolation Forest, justement dessiné pour détecter des anomalies dans des jeux de données. Pour l'occasion, il a été décliné pour l'environnement Spark/Scala. Le code de cette déclinaison a d'ailleurs été publié par LinkedIn en open source sur GitHub. Dernier champ d'application du machine learning chez LinkedIn : le support des abonnés. Sur ce terrain, des techniques de natural language processing orientées deep learning identifient les réponses à apporter aux milliers de tickets ouverts chaque jour via le help center de la plateforme.

Qu'en est-il de la gouvernance de tous ces projets ? Historiquement, les différents chantiers de LinkedIn dans l'IA étaient gérés par des équipes indépendantes les unes des autres et réalisant leurs propres choix technologiques. En août 2017, le site a lancé un programme, baptisé Productive Machine Learning (Pro ML), visant à transversaliser cette organisation. L'objectif est notamment de favoriser l'échange de bonnes pratiques mais aussi de briques d'IA susceptibles d'être réutilisées dans d'autres développements.