Cet article est rédigé par le Dr Matthew Gregory, Senior Data Scientist GOV.UK et Ganesh Senthi, Senior Product Manager GOV.UK
Imaginez que vous essayez de trouver des informations en ligne. Cela pourrait concerner plus ou moins n'importe quoi. Vous avez parcouru des dizaines de résultats de recherche. Mais essayez comme vous le pouvez, vous ne trouvez tout simplement pas les informations dont vous avez besoin. Ennuyé et frustré, vous abandonnez.
Cela se produit des milliers et des milliers de fois par jour, dans des pays du monde entier. Et bien que cela puisse être ennuyeux pour l'individu, c'est aussi un gros problème pour la société. Connecter les gens aux informations dont ils ont besoin est notoirement difficile. Mais que se passerait-il s'il y avait un meilleur moyen de connecter les utilisateurs au contenu souhaité?
GOV.UK est le canal de communication en ligne et de services publics de confiance du gouvernement britannique. Il a été lancé en 2012 pour combiner près de 2000 sites Web gouvernementaux en un seul site.
GOV.UK prend en charge près de 30 millions de visites par semaine pour trouver les informations dont ils ont besoin et pour faire ce dont ils ont besoin avec le gouvernement - comme apprendre à conduire, s'inscrire pour voter ou découvrir ce qu'ils doivent faire en réponse au COVID- 19 .

Du renouvellement d'un passeport à l'abonnement aux notifications de conseils de voyage pour un prochain voyage, le site Web connecte efficacement les utilisateurs aux informations dont ils ont besoin. Mais pour les problèmes et les informations moins quotidiens, nos utilisateurs ont besoin d'une assistance supplémentaire: il existe un algorithme d' apprentissage automatique qui relie les points et permet aux utilisateurs de trouver les informations dont ils ont besoin, quand ils en ont besoin.
Notre problème
Pour aider les utilisateurs à accéder aux informations dont ils ont besoin, GOV.UK utilise un certain nombre d'aides à la navigation telles que la barre de recherche, le fil d' Ariane et les liens associés. Les liens connexes sont affichés sur le côté droit du contenu d'une page, renvoyant vers d'autres pages susceptibles de vous intéresser.
Avant de commencer à travailler là-dessus en 2019, seulement 2% environ de l'ensemble du contenu de GOV.UK, soit 8000 pages, avaient en fait des liens connexes. Le reste n'avait aucun lien connexe.
C'était une préoccupation car l'observation et les analyses ont montré que de bons liens connexes entraînent des trajets utilisateur plus courts, permettant aux utilisateurs de trouver plus rapidement le contenu dont ils ont besoin. Ceci est important car, si les utilisateurs ne trouvent pas rapidement le contenu dont ils ont besoin, ils risquent d'abandonner. Cela peut sembler anodin si tout ce que GOV.UK a fait était de vous aider à renouveler votre permis de pêche, mais si quelqu'un abandonne parce qu'il ne trouve pas les bonnes informations pour faire ses déclarations de revenus correctement, le problème devient beaucoup plus sérieux.

Une capture d'écran d'une page GOV.UK avec des liens de contenu connexes mis en évidence sur le côté droit
Ainsi, pour améliorer l'expérience des utilisateurs, nous avons cherché à savoir si nous pouvions utiliser l'apprentissage automatique sur GOV.UK pour générer des liens connexes pour les 98% de contenu restants qui n'en avaient pas. À la suite de cette expérience, nous avons décidé d'implémenter l' algorithme node2vec - nous avons généré des représentations vectorielles des nœuds sur notre graphique du mouvement de l'utilisateur .
C'était la première fois que l'équipe derrière GOV.UK mettait en production un algorithme d'apprentissage automatique; pas un mince exploit. Pour accomplir une tâche difficile comme celle-ci, vous avez besoin des bonnes personnes et des bonnes compétences. Vous avez besoin d'une équipe multidisciplinaire qui combine la science des données et la conception centrée sur l'utilisateur, comme GOV.UK Data Labs . Et pour plus de détails techniques sur la façon dont nous l'avons fait, veuillez visiter le blog ici .
Voici quelques-unes des considérations de haut niveau qui ont fait de ce projet un succès et nous ont permis de partager notre succès avec le milieu universitaire et l' industrie .
Définition de la tâche à l'aide d'une conception basée sur des hypothèses
Faire de la science au gouvernement est difficile - nous ne vendons pas de choses, il n'y a donc pas de mesure évidente du succès. Comment savoir si un utilisateur a eu une interaction réussie avec un lien associé lors de sa visite sur GOV.UK?
La première étape pour nous lorsque nous avons commencé en 2019 a été de définir ce que nous voulions accomplir. Cela nous a ensuite permis d'évaluer si les données étaient prêtes pour l'application prévue.
- Tu veux écrire pour nous? Jetez un œil au guide d' Apolitical pour les contributeurs
Nous avions également besoin de constituer notre équipe. La science des données est un sport d'équipe , nous avions donc besoin des bonnes personnes au bon moment qui, ensemble, pourraient soigneusement examiner les indicateurs de performance clés (KPI) appropriés et énoncer clairement les hypothèses. L'équipe a commencé avec un ingénieur de données et une équipe lourde de science des données, puis vers la fin du voyage, alors que nous nous dirigions vers la production, est devenue une équipe plus lourde de développeurs. Nous avons également travaillé en étroite collaboration avec les développeurs de contenu tout au long.
Nous avons défini nos hypothèses à travers une série d'ateliers soigneusement structurés, où nous allions combiner les connaissances des experts du domaine avec la compréhension des données disponibles par les scientifiques des données. Le résultat de ces ateliers était une sélection de «sortes d'hypothèses» qui disaient quelque chose d'intéressant sur les liens connexes et la façon dont nos utilisateurs interagissent avec eux. Les scientifiques des données pourraient ensuite les traduire en hypothèses statistiques vérifiables .
Ces « hypothèses nulles » supposent que rien d'intéressant ne va se passer; les liens associés produits par l' algorithme ne modifient pas la navigation de l'utilisateur (nous omettons ici les hypothèses détaillées). Nous concevons ensuite une expérience utilisant une méthodologie statistique robuste pour tester ces hypothèses nulles. Nous utilisons la méthode scientifique pour cliqueter GOV.UK vers une conception optimale.
Choisir un algorithme
Avec nos hypothèses statistiques en place, nous devions commencer à produire les liens connexes réels.
Nous avons utilisé deux approches utilisant différents types de données et d'algorithmes pour générer des liens connexes recommandés pour une page.
Le premier peut être expliqué en utilisant l'analogie d'un humain. Si vous donniez à un humain plusieurs éléments de contenu différents de GOV.UK, il pourrait lire les mots sur chaque page, comprendre la signification et ensuite noter à quel point ils étaient similaires les uns aux autres. Un algorithme peut faire de même. Cependant, pour que l'algorithme «comprenne» les mots sur chaque page, nous l'aidons en prétraitant les données et en représentant numériquement le contenu . Consultez notre article de blog pour plus de détails .
Le nettoyage et l'organisation des données prêtes à être consommées par un algorithme sont difficiles et prennent toujours plus de temps que vous ne le pensez
La deuxième approche consiste à examiner ce que les gens ont fait dans le passé. Compte tenu de ce que nous savons sur la destination des utilisateurs lors de voyages qui visitent cette même page, quelles pages pourrions-nous leur recommander? Cette intuition vient des moteurs de recommandation. Par exemple, si les utilisateurs ont tendance à consulter les règles de canne à pêche sur GOV.UK au cours du même trajet où ils demandent un permis de canne à pêche , nous pouvons leur fournir ce lien automatiquement.
Étant donné que ces approches reposent sur deux ensembles de données différents, nous avions besoin d'au moins deux algorithmes différents pour former un modèle qui peut ensuite prédire les liens connexes. Pour identifier les algorithmes candidats, les scientifiques des données ont effectué une revue de la littérature du domaine du problème et du type de données dont nous disposions. En fin de compte, nous avons choisi deux:
- L'encodeur de phrase universel : encode le texte en vecteurs de grande dimension qui peuvent être utilisés pour la comparaison de similitude sémantique / contenu.
- Node2vec : peut apprendre des représentations utiles d'un graphe.
Préparer les données
Pendant que l'équipe pesait les avantages et les inconvénients de différents algorithmes, nous avons également dû nettoyer les données pour nous assurer qu'elles étaient en état de fonctionnement.
Les données ne sont pas toujours en bon état pour les différents algorithmes ML, ou algos comme on les appelle souvent en abrégé. Vous devez vous assurer qu'il est «prêt» et le mettre dans la «bonne forme». Vous devez le nettoyer et le prétraiter, comme pour préparer les ingrédients de votre recette préférée.
Le nettoyage et l'organisation des données prêtes à être consommées par un algorithme sont difficiles et prennent toujours plus de temps que vous ne le pensez.
Assurez-vous de donner à votre équipe le temps nécessaire pour effectuer l'ingénierie et le prétraitement des données. Cela vous fera gagner du temps à long terme - les scientifiques des données peuvent aider les responsables de la livraison à comprendre le temps requis et les risques d'un projet en utilisant les niveaux de disponibilité des données . Comprendre les niveaux de disponibilité des données peut aider une équipe à hiérarchiser les projets en s'attaquant à des projets où les données sont en meilleure forme tout en les traitant pour plus tard.
Nous avons passé plusieurs mois sur l'ingénierie des données et le prétraitement avant de former nos modèles. Une équipe diversifiée, comme GOV.UK Data Labs, peut vous aider à y parvenir plus rapidement. Consultez le cadre Digital, Data and Technology , pour voir les descriptions des types de rôles impliqués.
Données + algorithme = modèle
Une fois que vous avez préparé les données, vous pourriez être tenté d'entraîner des algorithmes complexes tels qu'un réseau de neurones d'apprentissage en profondeur. Nous aussi, nous sommes tombés sous le coup de cette tentation qui nous a fait perdre du temps.
Au lieu de cela, nous vous recommandons de vous en tenir à des approches éprouvées, ainsi que d'inclure une base de référence simple pour déterminer si les algorithmes les plus complexes en valent la peine. Par exemple, si vous créez un algorithme pour recommander du contenu, vous pouvez simplement compter la page qui apparaît le plus fréquemment dans les parcours des utilisateurs qui contiennent la page que vous prévoyez (le rapport de vraisemblance du journal). Ceci est utile car cela vous donne un cadre de référence auquel comparer votre algorithme.
En alimentant nos données dans un algorithme, nous produisons un modèle.
Comparaison avec les performances au niveau humain
Maintenant que nous avions quelques modèles fonctionnels, l'étape suivante consistait à tester s'ils étaient bons.
Le «défi Pepsi» peut être un bon point de départ pour évaluer les prédictions de vos modèles entraînés. Essentiellement, vous examinez deux feuilles de calcul différentes de liens connexes; liens produits par les humains versus liens produits par le modèle. Si vous avez du mal à les distinguer, vous savez que le mannequin va bien!
Nous avons étendu cette logique et demandé à des experts du domaine de revoir les liens produits par les différents modèles. À ce stade, l'un de nos concepteurs de contenu a plaisanté: «Pour ma part, je souhaite la bienvenue à mes maîtres robots!»
Évaluation avec la méthode scientifique
L'évaluation à l'aide de l'opinion d'experts est subjective (et se limite à l'examen de quelques centaines de pages). Pour une évaluation objective à grande échelle, nous pouvons utiliser le grand nombre d'utilisateurs qui visitent GOV.UK, et leur interaction avec les liens produits par ces modèles pour vérifier expérimentalement si l'expérience utilisateur est améliorée.
Comme la plupart des sites Web, nous utilisons des analyses d'utilisateurs (c'est-à-dire des cookies) pour suivre où les utilisateurs sont allés et ce qu'ils ont fait (voir ici comment les cookies sont utilisés sur notre site ). Pour l'évaluation, nous avons assigné au hasard les utilisateurs à deux compartiments, A ou B. Nous avons montré aux utilisateurs du compartiment A la page d'origine du site et montré aux utilisateurs du compartiment B la page contenant les liens associés générés par le modèle. Nous avons ensuite analysé les données de parcours de l'utilisateur à l'aide de statistiques pour déduire l'impact des changements en comparant les différences entre A et B. Pour une analyse approfondie de la façon dont nous testons A / B, consultez notre article de blog .
Nous avons constaté que les deux algorithmes amélioraient les choses pour l'utilisateur par rapport à la page d'origine - mais quel algorithme était supérieur? Nous avons découvert que les utilisateurs étaient plus susceptibles de cliquer sur les liens connexes fournis par l'algorithme node2vec (formés sur l'endroit où les autres utilisateurs avaient été) que sur les liens connexes produits par la méthode de similarité de contenu (formés en identifiant le contenu avec des mots similaires). Cela nous a donné la confirmation que nous avions besoin que l'algorithme ML avait effectivement amélioré l'expérience utilisateur et cela nous a également aidés à déterminer avec quel algorithme nous devrions être mis en service.
Prendre une décision
Après avoir développé et testé différents modèles pour résoudre notre problème, il est venu le temps de choisir celui dans lequel nous investirions. Lors du choix de votre modèle, il y a d'autres choses à considérer en plus de la signification statistique du test A / B. Peut-être l'algo le plus sophistiqué a-t-il fait le mieux, mais s'il nécessite beaucoup de puissance de calcul, il pourrait ne pas valoir l'effort supplémentaire si les gains sont faibles; des modèles simples qui font assez bien le travail peuvent être plus faciles à mettre en ligne sur votre site.
Lors du déploiement d'un système ML pour la première fois dans une organisation, il est prudent d'être prudent. Nous avions un système de retour en arrière, donc d'une simple pression sur un interrupteur, nous pouvions revenir aux liens précédents
Vous pouvez également souhaiter des liens connexes prédits qui changent avec les heures et le comportement des utilisateurs. C'est pourquoi nous avons opté pour node2vec, car il est formé sur les dernières semaines de parcours des utilisateurs, il peut ainsi faire face aux changements saisonniers et aux changements de comportement des utilisateurs associés à des crises comme COVID-19.
Notre base de référence simple a plutôt bien fonctionné, mais elle a rapidement atteint le plafond de ce qu'elle pouvait faire. Les algorithmes d'apprentissage automatique, en revanche, peuvent être affinés et modifiés par itération pour améliorer les résultats. Ainsi, il y avait plus de possibilités d'amélioration avec node2vec.
Déploiement
Le déploiement de produits d'apprentissage automatique en production est toujours la partie la plus délicate du processus. C'est très, très, très dur, car ce papier couvre de très bons détails .

Tout le code qui entre dans un algorithme ML (Crédit image: Scully et al, 2015)
Seule une petite fraction des systèmes ML du monde réel est composée de code ML, comme le montre la petite boîte noire au milieu. L'infrastructure environnante requise est vaste et complexe. Nous avons abordé les autres composants à gauche de la zone de code ML (et les outils d'analyse - tests A / B). Maintenant, nous considérons le côté droit.
La gestion des machines et le service de l'infrastructure est un exploit énorme en soi AKA production du système ML. Ceci est détaillé plus en détail dans notre article de blog «Les données au gouvernement» . Produire, dans sa forme la plus simple, peut simplement signifier déplacer un algorithme ou un logiciel dans un environnement où il est utilisé pour façonner le résultat d'un processus, consommé plus tard par les utilisateurs. Lorsqu'il est appliqué à la science des données, cela implique la création d'un pipeline joint et automatisé à partir d'étapes individuelles, telles que l'obtention de données d'entrée, l'exécution d'un algorithme d'apprentissage automatique et la création de données de sortie utiles (liens associés pour chaque page du site).
Support et itération continus
Alors que la communauté d'apprentissage automatique (ML) continue d'accumuler des années d'expérience avec les systèmes en direct, une tendance répandue et inconfortable a émergé: le développement et le déploiement de systèmes de ML sont relativement rapides et bon marché, mais leur maintenance au fil du temps est difficile et coûteuse. Cela est encore aggravé par le désir de faire travailler votre équipe talentueuse sur l'automatisation d'autres choses.
Une fois qu'il est mis en ligne, ce n'est pas fini! Nous avons surveillé la qualité des liens et répondu aux commentaires. Le ML n'est ni magique ni une solution miracle, s'il fait des recommandations stupides, vous avez besoin d'un mécanisme de rétroaction des utilisateurs et de mesures pour surveiller les performances à mesure que le monde change.
Lors du déploiement d'un système ML pour la première fois dans une organisation, il est prudent d'être prudent. Nous avions un système de retour en arrière, donc en appuyant sur un bouton, nous pouvions revenir aux liens précédents.
Exécuter des tests A / B périodiques de votre système ML par rapport à une alternative est une chose sensée à faire, en veillant à ce que cela profite toujours à vos utilisateurs.
Repérer les bons problèmes de science des données
Pour que l'équipe de GOV.UK Data Labs soit efficace, nos employés devaient avoir une grande expertise dans le domaine. Cela a été réalisé en traitant les demandes commerciales parallèlement aux principaux axes de travail de notre équipe, tels que la production de liens connexes. Cela permet à notre équipe de reconnaître et d'exploiter les opportunités commerciales afin de garantir des moyens plus efficaces et efficients d'utiliser la science des données. Ces améliorations se manifestent généralement par l'automatisation ou l'augmentation des processus métier.
Un audit informel des problèmes commerciaux peut fournir un point de départ utile pour identifier les fruits à portée de main qui peuvent avoir un impact immédiat et rehausser le profil de l'équipe. Essentiellement, vous recherchez une tâche répétitive qui est étroitement limitée et pour laquelle il existe de nombreuses données sur le processus; une tâche manuelle qui ne peut pas être mise à l'échelle.
Nous avons également appris à ne pas être contraint par les besoins des utilisateurs, il est normal d'être proactif et d'expérimenter!
Parallèlement à ces gains rapides, il est utile d'avoir des volets de travail qui résolvent certains des problèmes commerciaux les plus fondamentaux que vous rencontrez. Votre équipe doit adhérer aux principes Agile, en utilisant des pics (courtes incursions dans un domaine problématique) pour évaluer la faisabilité, la priorité et s'il vaut la peine de recruter plus de personnes.
Pour que l'équipe GOV.UK Data Labs soit efficace, il est important de bien connaître l'entreprise. Nous intégrons régulièrement nos collaborateurs dans d'autres équipes pendant de courtes périodes. Un audit informel des problèmes commerciaux peut également aider à identifier les gains rapides. Cela peut renforcer le profil de l'équipe tout en continuant à consacrer des personnes à des problèmes commerciaux plus fondamentaux. Nous avons les bonnes personnes concentrées sur la construction du backend de données qui alimentera la vision GOV.UK.
Nous avons également appris à ne pas être contraint par les besoins des utilisateurs, il est normal d'être proactif et d'expérimenter! Surtout à l'ère moderne, avec de bonnes idées et du code open source disponibles publiquement pour expérimenter. Lors de l'expérimentation, présentez aux utilisateurs potentiels toutes les données, exposer les données vous permet de formuler des exigences. Venir au même problème sous un angle différent de la recherche traditionnelle sur les utilisateurs.
En nous tournant vers d'autres organisations, nous pouvons nous inspirer. Nous avons observé comment ils recommandent et diffusent automatiquement du contenu à leurs utilisateurs, ce qui nous a amenés à penser à l'automatisation des tâches qui prenaient beaucoup de temps à nos experts en contenu.
La révolution des données
Le monde numérique évolue rapidement et, avec lui, les attentes de nos utilisateurs quant à la manière dont ils devraient interagir avec les services et les informations du gouvernement. L'année dernière, la directrice de GOV, Royaume-Uni, Jen Allum, a exposé la vision de GOV.UK sur la manière dont nous répondrons à ces attentes . Au cœur de cette vision se trouve la transformation de la façon dont nous utilisons les données sur GOV.UK.
Cet effort ciblé nous a aidés à déterminer les problèmes à résoudre, à identifier ce que nous pouvons automatiser pour le programme GOV.UK et pour nos utilisateurs. Nous sommes impatients de continuer à faire toutes ces choses et plus encore. - Matthew Gregory et Ganesh Senthi
Lectures complémentaires / liens utiles:
- Détecter la similitude sémantique sur GOV.UK
- Relier les points: la science des réseaux sur GOV.UK
- A ou B? Comment nous testons les algorithmes sur GOV.UK
- Quand les mondes se heurtent: mettre la science des données en production
- Présentation des laboratoires de données GOV.UK
Nous voulons savoir ce que vous pensez de cet article. Envoyez-nous un article ou envoyez vos commentaires à hello@apolitical.co
(Crédit photo: Unsplash)

Connectez-vous ou inscrivez-vous pour continuer la conversation