Zoom sur le processus de construction d'un moteur de recommandation
Publié: 2023-08-03Plus de 80 % des émissions que les gens regardent sur Netflix sont découvertes grâce au moteur de recommandation de la plateforme. Cela signifie que la majorité de ce sur quoi votre regard se pose est le résultat de décisions prises par une machine sophistiquée.
Le service de streaming s'appuie sur l'intelligence artificielle pour examiner les fils nuancés du contenu et plonger profondément dans les préférences des téléspectateurs. Et c'est sûr de dire : l'effort paie !
Si vous êtes toujours en retard mais que vous souhaitez améliorer l'expérience de vos clients avec votre entreprise, continuez à lire. Dans cet article de blog, nous vous guidons tout au long du processus de création d'un moteur de recommandation et mettons en lumière tout ce que vous devez savoir avant de vous tourner vers les fournisseurs de services d'IA.
Moteurs de recommandation 101 : ce qu'il faut savoir avant de se lancer dans le développement
Avant d'aborder la création d'un moteur de recommandation, examinons les types, les cas d'utilisation et les options de mise en œuvre de celui-ci.
Traditionnellement, les systèmes de recommandation sont divisés en deux grandes catégories : le filtrage basé sur le contenu et les systèmes de filtrage collaboratif.
Filtrage basé sur le contenu
Les systèmes de filtrage basés sur le contenu génèrent des recommandations basées sur les caractéristiques ou les caractéristiques du contenu. En d'autres termes, ils recommandent des produits ou des contenus similaires à ceux qu'un utilisateur a aimés ou avec lesquels il a déjà interagi. De cette façon, un moteur de recommandation peut suggérer "A Farewell to Arms" à un lecteur qui a apprécié "All Quiet on the Western Front" et "Catch-22".
Mais comment le moteur sait-il quels éléments sont similaires ? Examinons l'approche de Netflix pour créer un moteur de recommandation pour comprendre cela. Bien que le système de recommandation de Netflix soit de nature hybride, il repose dans une large mesure sur la similarité des contenus.
Le service de streaming dispose d'une équipe de taggeurs, qui regardent chaque nouveau contenu et l'étiquetent. Les balises vont massivement de la façon dont la pièce est bourrée d'action à si elle se déroule dans l'espace ou met en vedette un acteur particulier. L'analyse des données des balises par rapport au comportement des spectateurs à l'aide d'algorithmes d'apprentissage automatique permet à la plate-forme de diffusion en continu de déterminer ce qui est vraiment pertinent pour chaque utilisateur.
Filtrage collaboratif
Les systèmes de filtrage collaboratif font des recommandations basées sur les commentaires des utilisateurs. De tels systèmes supposent que les utilisateurs qui ont apprécié des articles similaires sont susceptibles de réagir de la même manière aux nouveaux produits et contenus.
Il existe deux approches pour créer un moteur de recommandation reposant sur le filtrage collaboratif : basé sur l'utilisateur et basé sur les éléments.
Avec le filtrage basé sur l'utilisateur, vous créez des segments d'utilisateurs similaires avec des préférences partagées. Ainsi, un utilisateur est susceptible de se voir recommander un article que d'autres utilisateurs du segment ont aimé. Les caractéristiques du contenu ne sont pas prises en considération.
Avec le filtrage basé sur les éléments, le moteur crée des recommandations basées sur la similarité des éléments qu'un utilisateur a aimés avec ceux suggérés. Cela ressemble au filtrage basé sur le contenu, n'est-ce pas ? Bien que les systèmes de filtrage basé sur le contenu et de filtrage collaboratif basé sur les éléments utilisent la similarité des éléments pour faire des recommandations, ils diffèrent dans la manière dont ils déterminent ce qui est similaire.
Les systèmes de filtrage basés sur le contenu recommandent simplement des éléments similaires à ceux qu'un utilisateur a déjà aimés. Avec le filtrage collaboratif basé sur les articles, il vous sera recommandé un article similaire à ce que vous avez aimé et qui est également apprécié par les utilisateurs de votre segment.
Les cas d'utilisation des moteurs de recommandation
Un degré élevé de personnalisation est devenu une nécessité à laquelle les utilisateurs s'attendent, incitant les entreprises à enrichir leurs expériences en ligne avec des moteurs de recommandation. Les secteurs où les moteurs de recommandation sont devenus courants couvrent :
- Vente au détail et commerce électronique : les moteurs de recommandation dans le commerce électronique peuvent tout faire, de la catégorisation des produits à la suggestion de nouveaux articles à acheter par les clients. L'impact de la mise en œuvre d'un moteur de recommandation dans le commerce électronique et du service client amélioré, du marketing amélioré et des possibilités plus larges de vente incitative qui l'accompagnent est difficile à surestimer. Par exemple, le célèbre magnat du commerce électronique, Amazon, génère 35 % de ses revenus grâce à son système de recommandation.
- Médias et divertissement : de la conservation de listes de lecture à l'offre de suggestions personnalisées basées sur les interactions passées, les moteurs de recommandation aident les plateformes de médias et de divertissement à engager les utilisateurs plus longtemps en leur montrant du contenu qu'ils ne découvriraient pas autrement. Les plus grandes plateformes de médias et de divertissement, telles que YouTube, Netflix et Spotify, s'appuient fortement sur les recommandations personnalisées générées par l'IA pour attirer et retenir de nouveaux utilisateurs.
- Médias sociaux : le secteur des médias sociaux exploite également les possibilités de fournir des suggestions personnalisées. En aidant les utilisateurs à découvrir des pages et des comptes similaires, les plateformes de médias sociaux incitent leurs utilisateurs à passer plus de temps à interagir avec le contenu, ce qui augmente les taux de clics et augmente les revenus.
- Banque et finance : les systèmes de recommandation basés sur l'IA permettent aux banques d'analyser les transactions des utilisateurs et de vendre pour augmenter les revenus. Par exemple, lorsqu'un utilisateur achète un billet d'avion d'une valeur de 500 $, le moteur de recommandation suppose automatiquement qu'il voyage à l'étranger et lui suggère d'acheter un forfait voyage avec assurance.
Options de mise en œuvre au choix
Au fur et à mesure que vous vous lancez dans la création d'un moteur de recommandation, vous rencontrerez plusieurs options de mise en œuvre avec leurs propres avantages et considérations, à savoir :
Moteurs de recommandation plug-and-play
Les moteurs de recommandation plug-and-play offrent un moyen pratique et simple d'intégrer des recommandations personnalisées dans votre produit ou votre plateforme. Ils sont pré-construits et conçus pour s'intégrer de manière transparente dans votre infrastructure existante.
Le principal avantage des moteurs de recommandation plug-and-play réside dans leur simplicité et leur facilité d'utilisation. Ils sont généralement conçus pour être conviviaux, permettant même à un public non technique de les configurer avec un minimum d'effort. Des exemples de moteurs de recommandation plug-and-play couvrent des plates-formes telles que Recombee, Seldon et LiftIgniter.
Les moteurs de recommandation plug-and-play sont livrés avec une personnalisation et une adaptabilité limitées. Bien qu'ils offrent commodité et rapidité, ils peuvent ne pas offrir le niveau de flexibilité et de réglage qu'offrent les solutions personnalisées.
Services de recommandation basés sur le cloud pré-formés
Les moteurs de recommandation basés sur le cloud permettent de tirer parti des vastes ressources de calcul et de l'expertise des fournisseurs de services cloud. Ces services de recommandation fournissent généralement des API faciles à utiliser qui permettent aux développeurs d'intégrer facilement la fonctionnalité de recommandation dans leurs applications.
Les moteurs de recommandation basés sur le cloud sont également hautement évolutifs, ce qui leur permet de gérer de grandes bases d'utilisateurs et des charges de trafic élevées. Un autre avantage est l'amélioration continue car les modèles sous-jacents sont mis à jour et affinés par les fournisseurs de services.
Les principaux fournisseurs de services cloud, tels qu'Amazon Web Services, Google Cloud Platform et Microsoft Azure, proposent des services de recommandation pré-formés.
Les facteurs à prendre en compte lorsque vous optez pour des services de recommandation basés sur le cloud pré-formés couvrent la confidentialité des données, le verrouillage du fournisseur et les exigences de personnalisation. Bien que ces services offrent commodité et évolutivité, ils peuvent avoir des limites en termes de personnalisation des algorithmes de recommandation pour répondre aux besoins spécifiques de votre entreprise.
Moteurs de recommandation personnalisés
Les moteurs de recommandation personnalisés offrent le plus haut degré de flexibilité et de contrôle, vous permettant d'incorporer des algorithmes propriétaires, de tirer parti des connaissances spécifiques à un domaine et de prendre en compte les nuances de vos données. La personnalisation vous permet de capturer les subtilités des préférences de l'utilisateur, des caractéristiques des éléments et des facteurs contextuels, ce qui se traduit généralement par des recommandations plus précises et pertinentes.
Cependant, bien que les moteurs de recommandation personnalisés offrent le plus de flexibilité, ils nécessitent également des ressources de développement substantielles, une expertise en apprentissage automatique et des efforts de maintenance continus. Ainsi, avant de créer un moteur de recommandation personnalisé, évaluez soigneusement les besoins de votre entreprise, les ressources disponibles et les objectifs à long terme.
La règle d'or consiste à suivre la route personnalisée dans les scénarios suivants :
- Vous avez des besoins commerciaux uniques : si votre entreprise a des exigences uniques qui ne peuvent être satisfaites avec des solutions prêtes à l'emploi, optez pour la personnalisation. Cela vous permettra d'adapter l'algorithme à votre tâche spécifique. Supposons que vous soyez une plateforme de commerce électronique de niche vendant des produits artisanaux. Vous pouvez avoir des exigences distinctes lorsqu'il s'agit de suggérer des produits : le moteur de recommandation doit prendre en compte des facteurs tels que la rareté des produits, le savoir-faire et les préférences des utilisateurs pour des styles ou des matériaux spécifiques. Construire un moteur de recommandation à partir de zéro vous permettra plus probablement de générer des recommandations qui correspondent aux préférences des utilisateurs.
- Vous voulez un contrôle et une propriété complets : la création d'un moteur de recommandation personnalisé vous donne un contrôle total sur l'ensemble du processus de génération de recommandations : du prétraitement des données à la sélection d'algorithmes en passant par le réglage fin. Il vous permet de vous approprier pleinement le système et de l'adapter à l'évolution de votre entreprise sans avoir recours à des solutions tierces.
- Vous possédez des connaissances spécifiques à un domaine : Si vous disposez d'une expertise spécifique à un domaine ou d'un accès à des données spécialisées pouvant améliorer considérablement la précision des recommandations, la création d'une solution personnalisée vous permet de tirer parti de ces connaissances de manière efficace. En développant un moteur de recommandation sur mesure, vous pouvez intégrer des fonctionnalités ou des contraintes spécifiques à un domaine qui peuvent ne pas être disponibles dans les solutions pré-formées.
- Votre application nécessite une évolutivité et des performances élevées : si vous prévoyez un volume massif d'utilisateurs ou d'éléments, si vous avez des contraintes de latence strictes ou si vous devez traiter des ensembles de données volumineux et complexes, la création d'un moteur de recommandation personnalisé vous donne la flexibilité de concevoir et d'optimiser le système pour un maximum évolutivité et performances. Il en va de même si vous souhaitez générer des recommandations en temps réel ou quasi temps réel.
- Vous souhaitez obtenir un avantage concurrentiel : si des recommandations précises sont un facteur de différenciation essentiel pour votre produit ou service, la création d'un moteur de recommandation personnalisé peut vous donner un avantage concurrentiel. Dans ce cas, investir dans une solution sur mesure pourrait offrir la possibilité de proposer des expériences uniques et personnalisées, améliorant l'engagement, la fidélité et la satisfaction client.
Construire un moteur de recommandation personnalisé, étape par étape
Fournir des recommandations personnalisées est une tâche généralement résolue avec l'apprentissage automatique. Les réseaux de neurones peuvent également être utilisés, mais leur rôle se limite principalement au prétraitement des données de formation. Voici les étapes clés du processus de création d'un moteur de recommandation partagé par les développeurs d'apprentissage automatique d'ITRex.
Étape 1. Réglage de la direction
Lancez le développement en définissant la direction pour le reste du projet. Les choses essentielles à faire à ce stade comprennent :
Fixer des objectifs et définir la portée du projet
Décrivez clairement ce que vous avez l'intention d'accomplir avec un système de recommandation et pesez l'objectif fixé par rapport aux limites des ressources et du budget. Par exemple, si vous souhaitez améliorer l'engagement des clients et augmenter les ventes dans votre boutique en ligne, vous pouvez limiter la portée du projet à la recommandation de produits aux clients qui ont déjà effectué un achat. Garder la portée assez étroite demande moins d'efforts que de construire un moteur de recommandation qui cible tous les clients, tandis que le potentiel de génération de retour sur investissement reste assez élevé.
Évaluation des sources de données disponibles
La performance d'un système de recommandation dépend fortement des volumes et de la qualité des données d'entraînement. Avant de vous lancer dans la formation, évaluez soigneusement si vous disposez de suffisamment de points de données pour générer des recommandations.
Définition des métriques de performance
L'un des principaux défis de la création d'un moteur de recommandation qui doit être pris en compte dès le début est la définition des mesures de réussite. Trouvez un moyen de savoir si les utilisateurs apprécient réellement les recommandations nouvellement générées avant de vous lancer dans la formation des algorithmes ML.
Étape 2. Recueillir des données d'entraînement
La prochaine étape du processus de création d'un système de recommandation personnalisé consiste à collecter et à préparer des données pour la formation d'algorithmes d'apprentissage automatique. Pour construire un système de recommandation fiable, vous avez besoin de suffisamment de données sur les préférences des utilisateurs.
Selon l'approche de construction d'un moteur de recommandation, votre objectif changera. Lors de la conception d'un système de filtrage collaboratif, les données que vous collectez sont centrées sur le comportement des utilisateurs. Avec les systèmes de filtrage basés sur le contenu, vous vous concentrez sur les caractéristiques du contenu que les utilisateurs apprécient.
Filtrage collaboratif
Les données sur le comportement des utilisateurs peuvent se présenter sous différentes formes :
- Les commentaires explicites des utilisateurs sont tout ce qui nécessite qu'un utilisateur fasse un effort, comme écrire une critique, aimer un contenu ou un produit, se plaindre ou initier un retour.
- Commentaires implicites des utilisateurs, comme l'historique des achats passés, le temps qu'un utilisateur passe à regarder une certaine offre, les habitudes de visionnage/d'écoute, les commentaires laissés sur les réseaux sociaux, etc.
Lors de la construction d'un moteur de recommandation, nous conseillons de combiner les commentaires explicites et implicites, car ce dernier permet de creuser dans les préférences des utilisateurs qu'ils peuvent être réticents à admettre, ce qui rend le système plus précis.
Filtrage basé sur le contenu
Lors de la collecte de données pour les systèmes de filtrage basés sur le contenu, il est essentiel de comprendre sur quelles fonctionnalités de produit/contenu vous devez vous fier lorsque vous explorez ce que les utilisateurs aiment.
Supposons que vous construisiez un moteur de recommandation pour les mélomanes. Vous pouvez vous fier à l'analyse du spectrogramme pour comprendre le type de musique qu'un utilisateur particulier aime et recommander des morceaux avec des spectrogrammes similaires.
Alternativement, vous pouvez choisir les paroles des chansons comme base de vos recommandations et conseiller des chansons qui traitent de thèmes similaires.
La clé est de tester et d'ajuster afin de comprendre ce qui fonctionne le mieux pour vous et d'être prêt à améliorer continuellement le modèle initial.
Étape 3. Nettoyer et traiter les données
Pour créer un moteur de recommandation performant, vous devez tenir compte de l'évolution des goûts des utilisateurs. Selon ce que vous recommandez, les anciens avis ou notes peuvent ne plus être pertinents.
Pour éviter les inexactitudes, envisagez de ne regarder que les fonctionnalités qui sont plus susceptibles de représenter les goûts actuels des utilisateurs, de supprimer les données qui ne sont plus pertinentes et d'ajouter plus de poids aux actions récentes des utilisateurs par opposition aux plus anciennes.
Étape 4. Choisissez un algorithme optimal
La prochaine étape du processus de création d'un moteur de recommandation consiste à choisir un algorithme d'apprentissage automatique adapté à votre tâche. Les scientifiques des données d'ITRex recommandent de considérer les éléments suivants :
- La factorisation matricielle décompose un grand ensemble de données en parties plus petites pour découvrir des modèles cachés et des similitudes entre les utilisateurs et les éléments.
- La factorisation tensorielle est une extension de la factorisation matricielle qui peut gérer des structures de données de plus grande dimension appelées tenseurs. Il capture des modèles plus complexes en décomposant les tenseurs en facteurs latents, offrant une compréhension plus détaillée des interactions utilisateur-élément.
- Les machines de factorisation sont des modèles puissants capables de gérer des données de grande dimension et éparses. Ils capturent les interactions entre les fonctionnalités et peuvent être appliqués aux tâches de recommandation. En tenant compte des interactions des fonctionnalités, ils peuvent fournir des recommandations précises même lorsque les données sont incomplètes.
- Les modèles de voisinage trouvent des similitudes entre les utilisateurs ou les éléments en fonction des attributs ou du comportement. Particulièrement efficaces pour le filtrage collaboratif, ils établissent des connexions entre les utilisateurs ou les éléments d'un réseau et font des recommandations basées sur les préférences d'utilisateurs ou d'éléments similaires.
- Random Walk est un algorithme basé sur des graphiques qui explore les connexions entre les éléments ou les utilisateurs d'un réseau. En naviguant sur le réseau, il capture les similitudes entre les éléments ou les utilisateurs, en faisant des recommandations basées sur les connexions capturées.
- SLIM est une technique utilisée dans les systèmes de recommandation pour comprendre comment les éléments sont liés les uns aux autres. Il se concentre sur la recherche de modèles dans les relations entre les éléments et utilise ces modèles pour faire des recommandations.
- Les modèles linéaires prédisent les préférences de l'utilisateur en fonction des relations linéaires entre les fonctionnalités. Bien qu'elles soient faciles à comprendre et rapides à former, elles peuvent ne pas capturer des modèles complexes aussi efficacement que d'autres approches.
En outre, vous pouvez choisir parmi les modèles d'apprentissage en profondeur suivants :
- Les DSSM (Deep Structured Semantic Models) apprennent des représentations de texte ou de documents. Ils se concentrent sur la capture du sens sémantique des mots et de leurs relations dans un cadre structuré.
- Les réseaux convolutifs de graphes sont conçus pour les données structurées en graphes. Ils opèrent sur des graphes, capturant les relations et les interactions entre les nœuds du graphe.
- Variational Auto-Encoder est un modèle génératif qui apprend les représentations des données en capturant son espace latent sous-jacent. Ces modèles utilisent une architecture d'encodeur-décodeur pour compresser les données dans un espace de dimension inférieure et les reconstruire.
- Transformer est un modèle qui utilise des mécanismes d'auto-attention pour capturer les relations contextuelles entre les mots d'une phrase ou d'un document.
Ce qu'il est important de noter, c'est que les méthodes ci-dessus sont rarement utilisées de manière isolée. Au lieu de cela, ils sont combinés via les techniques et algorithmes suivants :
- L'assemblage implique la formation de plusieurs modèles indépendamment, puis la combinaison de leurs prédictions à l'aide de diverses techniques. Chaque modèle contribue de manière égale à la prédiction finale, et la combinaison est généralement simple et n'implique pas la formation de modèles supplémentaires.
- L'empilement adopte une approche plus avancée. Cela implique de former plusieurs modèles, appelés modèles de base, puis de combiner leurs prédictions via un méta-modèle. Les modèles de base font des prédictions basées sur les données d'entrée, et leurs prédictions deviennent les caractéristiques d'entrée du méta-modèle. Le méta-modèle est ensuite formé pour faire la prédiction finale.
- AdaBoost est un algorithme d'apprentissage d'ensemble qui améliore la précision des modèles de base en les entraînant de manière itérative sur différents sous-ensembles de données. L'approche se concentre sur les instances difficiles à classer correctement et leur accorde plus d'attention dans les itérations de formation suivantes. À chaque itération, AdaBoost attribue des pondérations aux instances d'entraînement en fonction de leur précision de classification. Il entraîne ensuite les modèles peu performants sur les données pondérées, où les poids mettent l'accent sur les instances mal classées des itérations précédentes.
- XGBoost est une méthode d'ensemble qui combine des modèles de prédiction faibles de manière itérative pour créer un modèle plus fort. Il entraîne les modèles de manière séquentielle, où chaque modèle suivant corrige les erreurs commises par le précédent.
Étape 4. Former et valider le modèle
Une fois que vous vous êtes concentré sur un algorithme pour votre moteur de recommandation, il est temps de former et de valider le modèle. Voici à quoi ressemble cette étape du processus de création d'un moteur de recommandation :
Pour commencer, vous devez diviser vos données en deux ensembles : un ensemble d'apprentissage et un ensemble de test. L'ensemble de formation, comme son nom l'indique, apprend à votre modèle à reconnaître les modèles dans les préférences de l'utilisateur. L'ensemble de tests permet d'évaluer les performances du modèle sur de nouvelles données.
Avec l'ensemble d'entraînement à portée de main, commencez à entraîner votre modèle. Cela implique d'exposer l'algorithme aux données, lui permettant d'apprendre les modèles et les relations sous-jacents.
Après la phase de formation, il est temps d'évaluer les performances du modèle à l'aide de l'ensemble de test. Cela vous aidera à comprendre l'efficacité avec laquelle le modèle se généralise aux nouvelles données.
Vous pouvez également vous fier aux commentaires en temps réel pour comprendre les performances du modèle. De cette façon, vous déployez le modèle en production et associez les recommandations générées aux commentaires des utilisateurs. Ensuite, vous passez à l'étape suivante, où vous configurez le modèle pour ajuster ses paramètres via un processus d'apprentissage itératif.
Étape 5. Régler les hyperparamètres du modèle
Une fois que vous avez évalué les performances du modèle, vous pouvez l'ajuster au besoin. Prenons un exemple de système de recommandation basé sur un algorithme de filtrage collaboratif.
Dans le filtrage collaboratif, le nombre de voisins détermine le nombre d'utilisateurs ou d'éléments similaires pris en compte lors de la formulation de recommandations. Supposons que vous construisiez un moteur de recommandation qui s'appuie sur le filtrage collaboratif et suggère de nouveaux films. Initialement, vous définissez le nombre de voisins sur 10, ce qui signifie que le modèle prend en compte les préférences des 10 utilisateurs les plus similaires lors de la génération de recommandations.
Après avoir évalué les performances du modèle, vous constatez que la précision des recommandations est inférieure à celle souhaitée. Pour améliorer cela, vous décidez d'affiner le modèle en ajustant le nombre de voisins.
Pour explorer l'impact de différentes tailles de voisins, vous pouvez exécuter des expériences avec des valeurs de plage. Par exemple, réduire le nombre de voisins à 5 peut conduire à une augmentation significative de la précision. Cependant, vous remarquerez peut-être une légère diminution du rappel, indiquant que le modèle manque certaines recommandations pertinentes. L'augmentation du nombre 20, à son tour, peut entraîner une légère amélioration du rappel, mais les suggestions peuvent devenir moins personnalisées.
La clé est de se contenter d'un compromis entre précision et rappel et de trouver un équilibre entre la capture des diverses préférences des utilisateurs et le maintien de recommandations précises.
Étape 6. Implémenter, surveiller et mettre à jour le modèle
Avec le modèle amorcé et prêt à rouler, il est temps de le mettre en œuvre.
Pour assurer une mise en œuvre réussie, réfléchissez à la manière la plus efficace d'intégrer le modèle dans votre infrastructure existante. Par exemple, vous pouvez intégrer le modèle dans le back-end de votre site Web, en vous assurant qu'il interagit de manière transparente avec l'interface utilisateur. Cette intégration permet des recommandations en temps réel qui s'adaptent dynamiquement aux préférences des utilisateurs.
Vous pouvez également déployer le modèle en tant que service, comme une API de moteur de recommandation, que d'autres composants de votre application peuvent facilement appeler. Cette approche orientée service garantit flexibilité et évolutivité, permettant à votre application de tirer parti sans effort des capacités du moteur de recommandation.
La phase de mise en œuvre est également un moment agréable pour réfléchir à la manière dont les recommandations seront présentées aux utilisateurs. Seront-elles affichées sous forme de suggestions personnalisées sur la page d'accueil d'un site Web, soigneusement classées dans une interface intuitive ? Ou seront-ils intégrés de manière transparente dans l'interface de l'application, apparaissant juste au bon moment pour surprendre les utilisateurs ? Le choix vous appartient, mais gardez toujours l'expérience utilisateur au premier plan.
Enfin, il est crucial de tester rigoureusement le modèle implémenté pour garantir sa fonctionnalité transparente. Exécutez des tests complets pour valider ses performances et son comportement à travers diverses interactions utilisateur, afin de garantir que les recommandations sont précises, opportunes et alignées sur les attentes des utilisateurs.
Les défis de la construction d'un moteur de recommandation et comment les résoudre
Comprendre les défis de la construction d'un moteur de recommandation est crucial pour fournir des recommandations personnalisées et pertinentes. Voici un aperçu des plus courants :
Défi 1. Mesurer le succès
L'un des principaux défis de la création d'un moteur de recommandation qui doit être pris en compte dès le début est la définition des mesures de réussite. En d'autres termes, avant de commencer à collecter des données et à former des algorithmes ML, vous devez trouver un moyen fiable de savoir si les utilisateurs apprécient réellement les recommandations nouvellement générées. Cela guidera votre processus de développement.
Dites, vous êtes une plateforme de streaming. Vous pouvez compter le nombre de likes ou d'abonnements payants mensuels pour mesurer les performances de votre moteur de recommandation. Cependant, il y a de fortes chances que vos recommandations soient correctes, tandis que les utilisateurs hésitent à énoncer explicitement leurs préférences ou à payer pour le service.
L'expérience de nos data scientists montre que le comportement des utilisateurs est un moyen plus fiable de mesurer les performances du système de recommandation. Nous ne doutons pas qu'un utilisateur ait apprécié une émission s'il l'a regardée en une nuit, même sans commentaires explicites.
Défi 2. La malédiction de la dimensionnalité
La dimensionnalité des données fait référence au nombre d'entités dans un jeu de données. Plus de fonctionnalités d'entrée rendent souvent plus difficile la création d'un moteur de recommandation précis. Prenons YouTube comme exemple. Sur la plateforme, des milliards de vidéos et d'utilisateurs coexistent, et chaque utilisateur recherche des recommandations personnalisées. Cependant, les ressources humaines et informatiques sont limitées et presque personne ne souhaite passer des heures à attendre le chargement des recommandations.
Pour relever ce défi, une étape supplémentaire, la génération de candidats, est nécessaire avant de lancer l'algorithme de recommandation. Cette étape permet de réduire des milliards de vidéos à, disons, des dizaines de milliers. Et ce petit groupe est ensuite utilisé pour générer des recommandations.
Diverses stratégies, la recherche du plus proche voisin étant la plus importante, sont utilisées pour la génération de candidats. D'autres pratiques courantes pour surmonter le problème de la dimensionnalité incluent l'exploration de catégories ou de préférences populaires partagées par des personnes de groupes d'âge similaires.
Défi 3. Le démarrage à froid
Autre problème courant dans le processus de création d'un moteur de recommandation, l'énigme du démarrage à froid survient lorsque le système manque d'informations suffisantes sur un utilisateur ou un élément, ce qui rend difficile la fourniture de recommandations précises. Pour surmonter cet obstacle, il faut utiliser des méthodes telles que le filtrage collaboratif, le filtrage basé sur le contenu ou des approches hybrides.
Défi 4. La longue traîne
Les systèmes de recommandation peuvent souffrir d'un phénomène connu sous le nom de « longue traîne ». Cela signifie que les articles populaires reçoivent plus d'attention et de recommandations, tandis que les moins populaires restent inaperçus pour les utilisateurs. Pour résoudre ce problème, il faut générer des recommandations personnalisées et prendre en compte les préférences individuelles des utilisateurs.
Défi 5. Le démarrage à froid des nouveautés
Lorsqu'un nouvel élément est ajouté au système, il dispose de peu ou pas de données historiques pour générer des recommandations, ce qui rend difficile la création de suggestions pertinentes. Une approche pour résoudre ce problème consiste à utiliser des filtres de contenu et à inciter activement les utilisateurs à interagir avec de nouveaux éléments par le biais de promotions ou de publicités.
Défi 6. Le démarrage à froid pour les nouveaux utilisateurs
De même, les nouveaux utilisateurs peuvent ne pas disposer de données historiques suffisantes pour des recommandations précises. Pour surmonter ce défi, des méthodes telles que le filtrage basé sur le contenu, les demandes de commentaires et les enquêtes initiales auprès des utilisateurs peuvent être utilisées.
Défi 7. Rareté des données
Dans les systèmes de recommandation, la rareté des données est un phénomène courant où de nombreux utilisateurs évaluent ou interagissent avec un petit nombre d'éléments. Cela pose un défi dans la prédiction des préférences des utilisateurs. Pour résoudre ce problème, des méthodes de factorisation matricielle incorporant la réduction de la dimensionnalité, la régularisation et d'autres techniques peuvent être utilisées.
Résumer
La création d'un moteur de recommandation est un parcours alimenté par des algorithmes, des informations sur les utilisateurs et un raffinement itératif. De la définition du problème à la sélection de la bonne approche en passant par le prétraitement méticuleux des données jusqu'à la formation des modèles, chaque étape contribue à la création d'un puissant système de recommandation.
La capacité d'un moteur de recommandation à comprendre les préférences des utilisateurs et à fournir des recommandations personnalisées peut représenter un immense potentiel pour votre entreprise. Amazon, YouTube, Spotify et de nombreuses autres entreprises moins connues, mais non moins prospères, ont révolutionné leurs produits et ont par la suite augmenté leurs revenus grâce à des recommandations personnalisées.
Par exemple, Spotify, une plateforme de streaming musical qui s'appuie sur des recommandations hautement personnalisées comme principal facteur de différenciation, continue d'augmenter sa base d'utilisateurs et ses revenus chaque année. Rien qu'au quatrième trimestre 2022, la promesse de découvrir une nouvelle chanson préférée a apporté à la plateforme 20 % d'utilisateurs actifs mensuels supplémentaires, ce qui a entraîné 33 millions d'ajouts nets.
Si vous êtes encore en retard, il est temps d'exploiter la puissance de l'IA et de révolutionner votre expérience utilisateur avec un moteur de recommandation personnalisé.
Vous cherchez à enrichir votre solution avec un puissant moteur de recommandation ? Parlez aux consultants ITRex.
Publié à l'origine sur https://itrexgroup.com le 6 juin 2023.