🔍
Fallbacks et règles de service - Les piliers sous-estimés du succès des systèmes de recommandation

Fallbacks et règles de service - Les piliers sous-estimés du succès des systèmes de recommandation

Note: Cet article a été traduit avec Claude Code le 31 janvier 2026. La version originale est disponible ici.

Mise à jour (29/8/2023) : J’ai fait une mise à jour du format de l’article parce que Matthieu Shakespeare Sola a trouvé que mon assistant/éditeur chatGPT était trop verbeux, mais le contenu est le même

Dans mon travail récent sur les systèmes de recommandation, j’ai examiné les coûts et l’utilisation des méthodes d’apprentissage profond. J’ai vu un problème commun dans de nombreux articles : ils parlent beaucoup de la conception du système et des tests, mais ignorent souvent des parties importantes comme les stratégies de fallback et les règles de service. Mais ces parties sont essentielles pour utiliser réellement les systèmes de recommandation dans le monde réel. Cet article parlera de pourquoi les fallbacks et les règles de service sont importants, et donnera des conseils pratiques pour créer des systèmes de recommandation qui fonctionnent bien à la fois en théorie et en pratique.

Contextualiser les données et les objectifs du système

Dans mon temps libre, j’ai travaillé à créer des scrapers de données, ce que j’ai déjà fait auparavant. Récemment, j’ai commencé à créer un scraper pour collecter des données d’un site d’évaluation de films bien connu. Ces données sont très utiles pour l’article que j’écris. C’est également beaucoup plus simple que ma dernière source de données, RecSys Sens Critique, qui propose une grande variété de divertissements pour un public français, incluant les jeux vidéo, les films, les séries télévisées et les livres.

En utilisant ces données collectées, je construis un environnement de test de type Netflix pour créer un système de recommandation de films. L’objectif principal est de prédire le meilleur prochain film pour les utilisateurs. L’objectif final de l’application est de montrer aux utilisateurs les 10 meilleures recommandations de films, soit par email soit sur un site web. Pour vous donner une idée, imaginez une section de recommandations comme celle montrée ci-dessous :

Recos app illustration

Dévoiler les mécanismes des modèles de recommandation

Dans le monde complexe des systèmes de recommandation, un simple modèle de machine learning ne reflète pas leur vraie complexité. Le processus comprend non seulement la réalisation de prédictions algorithmiques, mais aussi la combinaison de différentes stratégies pour créer une expérience utilisateur fluide.

Meme illustration

Pensez à deux modèles de conception courants - Retrieval & Rank (RR) et Retrieval, Filtering, Scoring, and Ordering (RFSO). Dans le modèle RR, l’accent principal est mis sur la recherche de candidats potentiels et leur classement en fonction de ce que l’utilisateur aime.

Rr illustration

D’autre part, l’approche RFSO est plus compliquée. Elle implique de trouver des éléments potentiels, de filtrer ceux qui ne sont pas pertinents, d’attribuer des scores et d’organiser soigneusement les recommandations pour répondre à différents besoins commerciaux.

Rfso illustration

Si vous voulez en savoir plus à ce sujet, il y a un excellent article d’Eugene Yan sur le sujet ICI (j’en ai extrait les diagrammes), avec diverses publications d’applications réelles différentes.

Cependant, bien que ces modèles de conception soient très prometteurs, la mise en œuvre réelle apporte de nouveaux défis. L’interaction complexe des algorithmes de machine learning et des détails du système peut être coûteuse à maintenir, en particulier en ce qui concerne la sélection et le classement des éléments. C’est là que les ‘fallbacks’ et les ‘règles de service’ deviennent très importants, rendant le processus théorique plus pratique.

Les ‘fallbacks’ sont une sauvegarde pour les situations où les stratégies de recommandation principales font face à l’incertitude ou manquent de données personnalisées. Les fallbacks garantissent que les utilisateurs ont toujours des options, les ‘règles de service’, d’autre part, contrôlent comment les recommandations sont présentées aux utilisateurs, façonnant leur expérience. Ces éléments, qui peuvent sembler moins importants, peuvent faire la différence entre une expérience utilisateur réussie et déroutante.

Stratégies de fallback : un pilier de fiabilité

Dans notre exemple de type Netflix, le fonctionnement du système de recommandation consiste à créer des recommandations basées sur les interactions passées des utilisateurs. Cependant, comme tout système, il peut y avoir des incertitudes et des situations inattendues. Par exemple, lorsqu’un nouvel utilisateur rejoint la plateforme ou lorsque la fonction de recommandation principale a des problèmes techniques, causant des retards ou des échecs dans l’obtention de recommandations.

Dans ces situations, les ‘fallbacks’ sont très importants. Un fallback est un plan de secours, prêt à être utilisé si le mécanisme de recommandation principal a un problème. C’est le filet de sécurité qui garantit que les utilisateurs ne sont pas laissés sans recommandations et aide à maintenir une bonne expérience utilisateur.

Il y a deux principaux types de fallbacks à considérer : ceux intégrés dans le système de recommandation lui-même et ceux liés à l’application de la fonctionnalité de recommandation. Le premier implique des décisions stratégiques prises pendant la conception et l’intégration du système, tandis que le second se concentre sur les problèmes côté utilisateur comme les problèmes de connectivité Internet ou les interruptions d’API.

Pour notre expérience, nous nous concentrerons sur les fallbacks dans le système de recommandation. Différentes stratégies pour gérer les situations exceptionnelles peuvent être réalisées, chacune avec ses avantages et inconvénients. Les stratégies vont de l’utilisation de métriques basées sur la popularité et la récence à l’inclusion d’insights humains pour créer des recommandations de fallback.

Dans le cadre de notre évaluation, j’ai utilisé une combinaison de politiques de fallback pour notre cas d’usage. Nous vérifions leurs performances sur une période spécifique et utilisons une métrique simple, le taux de succès au rang 10, pour mesurer leur efficacité.

Hr illustration

Cette métrique correspond bien aux objectifs de l’interface utilisateur et de l’expérience utilisateur de la fonctionnalité de recommandation. Il devient clair que, dans certaines situations, donner la priorité aux éléments populaires du passé récent est une bonne façon de prédire les futures interactions des utilisateurs (mais un taux de succès de 0,04 est assez faible mais c’est le meilleur).

Il est important de se rappeler que bien que nos résultats pointent vers des stratégies spécifiques, ce ne sont pas des règles universelles.

En terminant cette section, il convient de noter que l’utilisation de fallbacks n’est pas sans défis. Une dépendance excessive aux fallbacks pourrait diminuer le rôle principal du système de recommandation et nuire à l’expérience utilisateur. Par conséquent, l’interaction entre les fallbacks et le processus de recommandation principal doit être soigneusement équilibrée. Cela garantit un mélange bien équilibré qui fonctionne bien pour les opérations quotidiennes et les situations exceptionnelles.

Adapter les recommandations grâce aux règles de service

Alors que le système de recommandation fonctionne, la sortie qu’il crée n’est que le début. Cette sortie initiale, une liste de recommandations possibles, doit être modifiée pour correspondre aux besoins et limitations de l’application dans laquelle elle est utilisée. Ces modifications sont contrôlées par des ‘règles de service’, un ensemble de directives qui façonnent la sortie en quelque chose qui est non seulement pertinent mais aussi facile à comprendre pour l’utilisateur.

En repensant aux étapes antérieures de la conception du système de recommandation, les règles de service se chevauchent souvent avec la logique métier utilisée pendant l’étape d’ordonnancement. Ces règles sont conçues pour appliquer des filtres qui organisent la liste de recommandations, la raffinant pour qu’elle corresponde aux contraintes de l’application. Pour ma page de type Netflix, cela signifie s’assurer que seuls les 10 meilleurs films sont envoyés pour l’affichage, évitant aux utilisateurs d’être submergés par trop d’options. Ces règles sont profondément intégrées dans l’interface utilisateur et l’expérience de votre application. De plus, elles affectent les métriques mêmes qui mesurent le succès de votre système - après tout, pourquoi calculer des métriques pour des rangs au-delà de ce que votre application peut montrer ?

De plus, les règles de service sont étroitement liées à votre méthode choisie pour servir les recommandations. Que les recommandations soient servies par lots ou en direct, ces règles changent pour s’adapter aux caractéristiques spécifiques de chaque approche. Le service par lots permet des listes plus longues, répondant aux applications qui peuvent gérer une gamme plus large de choix. Le service en direct, d’autre part, se concentre sur la vitesse et la livraison en temps réel, influençant la longueur de la liste de recommandations.

Dans mes propres projets axés sur les recommandations cosmétiques, une stratégie pratique que j’ai trouvée efficace est de doubler les recommandations pouvant être affichées sur la plateforme (cela offre une sécurité décente en cas d’acheteurs en série. De plus, je priorise la promotion de nouveaux contenus jusqu’au week-end à venir, en évitant soigneusement de dépasser le rôle du système de recommandation en lui permettant de dicter la promotion du contenu. Pour maintenir la flexibilité, je configure mes seuils de règles de service en externe (dans un fichier de configuration disponible dans le dépôt du projet), permettant des ajustements sans perturber le flux de travail du système.

La beauté des règles de service réside dans leur adaptabilité - ce ne sont pas des normes rigides mais des directives dynamiques qui garantissent que vos recommandations sont toujours en phase avec les besoins évolutifs de votre application et de ses utilisateurs.

Notes de clôture

La conception de systèmes de recommandation implique plus que la simple création de recommandations personnalisées avec des algorithmes. Les fallbacks et les règles de service jouent un rôle crucial dans la formation de l’expérience utilisateur et de la praticité du système.

Les fallbacks sont des plans de secours qui garantissent que les utilisateurs reçoivent des suggestions précieuses même dans des situations difficiles, telles que les pannes du système ou l’arrivée de nouveaux utilisateurs. Ils sont essentiels pour maintenir la satisfaction des utilisateurs et la fiabilité du système, mais ils doivent être équilibrés soigneusement avec le mécanisme de recommandation principal pour maintenir l’efficacité et l’engagement des utilisateurs.

Les règles de service guident la transformation des recommandations brutes en une liste organisée qui correspond aux limitations de l’application et aux attentes des utilisateurs. Elles garantissent que les recommandations correspondent à l’interface utilisateur et s’adaptent à différentes approches de service, optimisant la sortie pour le contexte de livraison.

En conclusion, le succès d’un système de recommandation s’étend au-delà de ses algorithmes. Il implique un mélange soigneux de stratégie, de conception et de prévoyance, y compris la mise en œuvre de fallbacks et de règles de service, pour créer une sortie qui ravit les utilisateurs et répond aux objectifs commerciaux.

Au-delà de cet article, j’aime discuter de données, d’IA et de conception de systèmes - comment les projets sont construits, où ils réussissent et où ils échouent. Si vous voulez échanger des idées, remettre en question des hypothèses ou parler de vos propres projets, n’hésitez pas à me contacter. Je suis toujours ouvert à une bonne conversation.