FAQ sur la modélisation de Recommandations intelligentes
Cet article fournit une étude plus approfondie des types d’algorithmes de modélisation utilisés par le service Recommandations intelligentes et fournit des réponses aux questions de modélisation courantes.
Contenu
- Présentation des algorithmes
-
Questions fréquentes
- Comment suivre l’état de modélisation de mes modèles ?
- Quel algorithme et type de liste dois-je choisir pour mon entreprise ?
- Comment dois-je décider d’utiliser les algorithmes de factorisation matricielle ou d’association directe ?
- De combien d’interactions ai-je besoin pour garantir de bonnes recommandations ?
- Pourquoi ai-je besoin d’InteractionsGroupingId, UserId, ItemId et ItemVariantId inclus avec mon entité de données Interactions ?
- Puis-je utiliser des métadonnées d’article telles que la catégorie, la couleur, le modèle, etc. ?
- Puis-je utiliser les métadonnées utilisateur, comme les données démographiques, pour personnaliser les recommandations ?
- Puis-je faire des recommandations d’utilisateur à utilisateur ?
- Où puis-je en savoir plus sur le modèle de factorisation matricielle utilisé avec Recommandations intelligentes ?
Présentation des algorithmes des Recommandations intelligentes
Le composant de modélisation des Recommandations intelligentes utilise quelques algorithmes différents pour créer des listes classées. L’API List répond aux requêtes et renvoie des résultats en fonction du type d’algorithme sélectionné pour la modélisation. Plus d’informations sur les types d’algorithmes utilisés par le service Recommandations intelligentes sont données dans le tableau suivant :
[!Remarque]
Comme meilleure pratique, utilisez l’expérimentation pour comparer les résultats de quelques types de listes et/ou types de données différents avant de faire un choix final sur l’algorithme le mieux adapté à votre cas d’utilisation commerciale et jeu de données (qui est à la fois une combinaison des types de données et du comportement réel).
Type d’algorithme | Description |
---|---|
Factorisation matricielle (MF) | La factorisation matricielle est un type d’algorithme de filtrage collaboratif qui se concentre sur la création de relations d’utilisateur à article et d’article à article en fonction d’interactions utilisateur spécifiques (achat, utilisation, clics, vues, téléchargement, etc.). Ce type d’algorithme classe les listes en fonction des préférences historiques d’un utilisateur spécifique, ce que nous appelons leur classement personnel basé sur les goûts. Il dérive également des similitudes entre les éléments en fonction des interactions des utilisateurs avec les éléments. La factorisation matricielle génère des classements symétriques (si A est similaire à B alors B est également similaire à A) et transitifs (si A est similaire à B, et B est similaire à C, alors A est similaire à C). Pour de meilleurs résultats, utilisez le type d’algorithme Factorisation matricielle lorsque vous utilisez un jeu de données avec des signaux d’interaction substantiels et des métadonnées de catalogue. Cette fonctionnalité est idéale pour les domaines de divertissement tels que les films et la télévision, les jeux ou le streaming, mais fonctionne bien dans d’autres domaines qui reposent sur des signaux d’interaction client, notamment : la vente au détail, l’épicerie, les itinéraires de voyage, la fabrication, etc. |
Similitudes directement associées (DAS) | L’algorithme DAS (Similitudes directements associées) est bien adapté aux domaines d’affinité locaux/dirigés avec des besoins utilitaires élevés, tels que les applications où l’utilité est plus importante que la préférence historique (goût). Par exemple, les personnes qui font des actions A puis B puis C ont tendance à faire des actions D par la suite. DAS n’est pas symétrique ni associatif. Notre service utilise l’algorithme DAS pour alimenter l’API Next Best Action, qui crée des suggestions de contenu basées sur des regroupements distincts et reproductibles. Une application courante de Next Best Action est souvent vue sur les expériences de paiement au détail dans des scénarios de remplissage du panier, comme Fréquemment achetés ensemble, qui fournit des suggestions d’articles complémentaires basées sur le contenu du panier d’un utilisateur. DAS peut également recombiner des groupes et recommander des éléments de différents sous-domaines. Par exemple, un acheteur d’épicerie peut se voir recommander des serviettes et des assiettes avec ses galettes de hamburger et ses petits pains dans son panier. Les domaines qui bénéficient de Next Best Action incluent l’épicerie, les ventes, le dépannage, la comptabilité, etc. |
Similitude visuelle (VBS) | La similitude visuelle (VBS) est un algorithme de cognition visuelle d’apprentissage en profondeur qui renvoie des recommandations visuellement similaires pour des éléments avec des images similaires, pour un élément de départ donné. Comme la factorisation matricielle, les recommandations produites par l’algorithme VBS sont symétriques. Ce réseau neuronal convolutif d’apprentissage en profondeur utilise Argus comme épine dorsale, mais il est formé davantage à l’aide de techniques plus approfondies sur les images du locataire pour les invariants de vue, fournissant des recommandations beaucoup plus pertinentes pour le domaine du locataire. VBS est incroyablement puissant dans des domaines tels que la mode, le design et la joaillerie, où les attributs visuels constituent une partie importante de la vente du produit. |
Similitude textuelle (TBS) | L’algorithme similitude textuelle (TBS) renvoie des recommandations textuellement similaires pour un élément de départ donné, en se concentrant sur la formation d’un modèle de langage sur les titres et les descriptions des éléments du catalogue fourni. Cet algorithme fonctionne particulièrement bien dans les domaines où les titres et les descriptions sont descriptifs, produisant des recommandations uniques et intuitives. Le modèle utilise le modèle de langage basé sur la transformation TNKR comme épine dorsale. Cependant, le modèle utilise également l’apprentissage par transfert et des techniques de formation plus approfondies sur le jeu de données fourni, permettant à cet algorithme de fournir des recommandations de pointe qui ont un sens sémantiquement. TBS utilise le traitement du langage naturel (NLP) comme entrée, ce qui rend cet algorithme applicable dans de nombreux domaines différents, notamment : itinéraires de voyage et excursions, établissements vinicoles, bases de données de recherche de revues scientifiques, dépannage, etc. |
Parcourir les listes | Parcourir les listes permet de parcourir le catalogue en utilisant des graphiques algorithmiques triés par informations telles que les ventes totales, la somme des clics, la date de sortie ou une combinaison de différentes métriques. Les listes prises en charge sont : Nouveau, Tendance, Populaire. Les graphiques sont un excellent point de départ pour amener rapidement les utilisateurs finaux à interagir avec vos produits et voir les nouveautés et les meilleurs de votre catalogue de produits. Parcourir les listes peut encore être augmenté en modifiant le type d’interaction d’entrée. Par exemple, un modèle basé sur les signaux d’achat renvoie les « Produits achetés les plus populaires », tandis que la modification des signaux du modèle en vues renvoie les « Produits consultés les plus populaires ». |
Questions fréquentes
Cette section couvre une série de questions fréquemment posées sur les modèles de recommandations intelligentes et leurs applications.
Comment suivre le statut de modélisation de mes modèles ?
Les clients Recommandations intelligentes peuvent suivre le statut de modélisation de chacun des modèles qu’ils ont créés sur leur compte. Après que vous avez configuré un modèle, le service crée périodiquement un fichier journal d’état pour rendre compte du statut actuel de tous les algorithmes (par rapport à votre niveau de modélisation). Pour en savoir plus sur la façon d’accéder à ces journaux, consultez Guide des rapports sur le statut de la modélisation.
Quel algorithme et type de liste dois-je utiliser pour mon entreprise ?
La sélection d’un type de liste et d’un algorithme à utiliser dépend du cas d’utilisation métier, de l’expérience et des données disponibles pour la modélisation. Consultez Tableau des noms de liste et des AlgoTypes, améliorations pour une liste complète des noms de liste et des combinaisons d’AlgoType disponibles.
En général, la modélisation des interactions reflète ce avec quoi les gens interagissent. Par exemple, nous décrivons le type de liste « People Also », qui utilise l’algorithme MF, comme « les clients qui font cette action, font également cette action ». Lorsque l’action est un achat, la liste devient « Les personnes qui ont acheté ceci, ont également acheté ».
Les métadonnées d’éléments peuvent également être utilisées pour établir des similitudes entre des éléments, en supposant que les métadonnées sont suffisantes en volume et en qualité. Par exemple, les articles avec des descriptions similaires peuvent être considérés comme étroitement liés, tout comme les articles avec des images de produits similaires peuvent être étroitement liés. Ces métadonnées ont été utiles pour créer des résultats pour les éléments lorsqu’aucune interaction n’est disponible (également appelée modélisation des « éléments froids »).
Les approches qui combinent les interactions et les métadonnées (pour les éléments et/ou les utilisateurs) peuvent être utilisées avec les recommandations intelligentes pour personnaliser les scénarios et les expériences. Utilisez plusieurs modèles différents (et utilisez un modèle par compte) pour expérimenter et voir quelle approche fonctionne le mieux pour vos cas d’utilisation.
Mappage des types de données disponibles et des cas d’utilisation avec le type d’algorithme
Type de données disponible | Scénarios | Algorithme |
---|---|---|
Interactions Par exemple, les vues, les achats, l’utilisation, etc. Qu’ont fait les utilisateurs ? |
Nos choix pour vous Personnalisation Autres contenus plébiscités Meilleure démarche à suivre |
Factorisation matricielle (MF) Association dirigée (DAS) |
Métadonnées textuelles Par exemple, titre et description |
Description similaire | Similitude textuelle (TBS) |
Métadonnées visuelles Par exemple, les images de produits sous plusieurs angles |
Aspects similaires Remarque : tous les domaines ne correspondent pas à ce scénario. Vous devez l’utiliser dans le cas où les images sont une bonne représentation d’un élément. |
Similitude visuelle (VBS) |
Autres métadonnées d’éléments Par exemple, Forme, Catégorie, Balises, etc. |
Identique à Interactions. Le service permet également de construire des modèles de différentes manières : - De manière hybride combinant les métadonnées des éléments avec les interactions - Ou construit en utilisant uniquement les métadonnées de l’élément (avec des algorithmes MF ou DAS) |
Factorisation matricielle (MF) Association dirigée (DAS) |
Métadonnées utilisateur Par exemple, les données démographiques |
Les scénarios pertinents concernent la personnalisation utilisateur : - Nos choix pour vous - Personnalisation Le service permet également de construire des modèles de différentes manières : - De manière hybride combinant les métadonnées utilisateur avec les interactions - Ou construit en utilisant uniquement les métadonnées utilisateur (avec des algorithmes MF ou DAS) |
Factorisation matricielle (MF) Association dirigée (DAS) |
Comment dois-je décider d’utiliser les algorithmes de factorisation matricielle ou d’association directe ?
Il est recommandé d’essayer les deux avec vos données pour voir quel algorithme renvoie les résultats les plus appropriés en fonction des besoins de votre entreprise.
Essayez l’algorithme de factorisation matricielle (MF) si :
- La connexion entre les éléments de votre domaine est principalement commutative (symétrique, c’est-à-dire si A=>B alors B=>A) et associative (c’est-à-dire si A=>B et B=>C alors A=>B).
- Vos données sont rares et vous souhaitez toujours suffisamment de recommandations pour de nombreux éléments.
Essayez l’algorithme d’association directe (DAS) si :
- La connexion entre les éléments de votre domaine est principalement directive (asymétrique, c’est-à-dire que A=>B ne signifie pas B=>A) et directe (non associative).
- Prochaine meilleure action (étant donné la liste ordonnée des éléments, quelle devrait être la suivante) est un scénario important pour vous.
- Vous souhaitez recommander un sous-domaine de vos articles à un autre.
- La connexion directe qui apparaît plus devrait se refléter davantage dans les résultats.
Pour plus d’informations, consultez nos Noms de listes et tables AlgoTypes et améliorations.
De combien d’interactions ai-je besoin pour garantir de bonnes recommandations ?
Pour modéliser correctement un damian pour un ensemble de produits importants, chaque produit doit contenir au moins cinq interactions ou plus pour des scénarios tels que Autres contenus plébiscités ou Nos choix pour vous (personnalisation). Vous auriez également besoin d’un nombre suffisant d’interactions incluant plusieurs produits, regroupés par InteractionGroupingId (chaque élément de la même commande aurait une ligne dans l’entité de données Interactions avec le même InteractionGroupingId
) pour générer des résultats pour Prochaine meilleure action.
Une bonne règle empirique est de viser à avoir environ cinq fois plus d’interactions que le nombre d’éléments. par exemple, s’il y a 1 000 articles dans le catalogue, il serait bon d’essayer la modélisation avec au moins 5 000 interactions.
En cas de doute, il est utile de l’essayer avec un modèle simple (moins de colonnes) et autant d’interactions (plus de lignes) dans l’entrée jeu de données que possible. Pour évaluer la qualité de votre contrat de données et voir les mesures concernant les performances du modèle, consultez nos tableaux de bord de recommandations intelligentes.
Pourquoi ai-je besoin d’InteractionGroupingId, UserId, ItemId et ItemVariantId inclus avec mon entité de données Interactions ?
InteractionGroupingId
indique pour les groupes connectés au système, en particulier pour les éléments, pour une meilleure inférence globale à tous les niveaux. Par exemple, le regroupement des transactions par InteractionGroupingId dans un scénario de vente au détail peut aider le système à savoir quels produits sont "fréquemment achetés ensemble" dans un panier, ou les tâches qui sont terminées dans un rôle pour Prochaine meilleure action ou des éléments similaires dans Autres contenus plébiscités.
UserId
est utilisé par le système pour modéliser les relations formées entre les éléments et les utilisateurs qui interagissent avec les éléments, ce qui, selon la façon dont le modèle est ciblé, peut créer des scénarios de modélisation personnalisés et non personnalisés. Dans l’approche personnalisée avec UserId, le système modélise un mappage entre les utilisateurs et les éléments, basé sur les préférences historiques de chaque utilisateur individuel. Il produit ensuite le modèle "basé sur vos antécédents, vous pourriez aimer", appelé "Picks for you".
ItemId
est la véritable référence de l’élément. Il est essentiel de relier chaque élément à ses interactions et de permettre aux modèles d’émerger dans le modèle. Les ItemIds qui n’ont pas d’interactions n’apparaîtront pas dans les recommandations pour d’autres produits et peuvent également souffrir de mauvaises recommandations lorsqu’ils sont utilisés comme graine pour des modèles tels que « Les personnes qui aiment cet article aiment aussi ».
ItemVariantId
est utilisé principalement pour le scénario Apparences similaires et l’algorithme Similitudes visuelles (VBS), qui prend en compte les métadonnées d’image au lieu des interactions. Ce champ n’est pas obligatoire pour les modèles et les algorithmes qui reposent sur des interactions.
Pour en savoir plus sur les entités de données requises par scénario, consultez notre tableau de mappage des entités de données.
Puis-je utiliser des métadonnées d’éléments telles que la catégorie, la couleur, le modèle, etc. ?
Les métadonnées d’éléments peuvent être utiles de plusieurs manières :
- Meilleure modélisation des éléments en plus de l’entrée des interactions, de sorte que les éléments avec peu ou même pas d’interactions (éléments froids) peuvent toujours recevoir des recommandations « Autres contenus plébiscités ».
- Il est possible d’avoir un modèle entièrement basé sur les métadonnées de l’élément (telles que les balises de contenu) et de renvoyer un résultat de recommandation de type « éléments similaires ».
- Comment procéder : donnez à l’élément de métadonnées un TagId. Dans l’entité de données Interactions, pour chaque ligne d’interaction, définissez InteractionGroupingId comme TagId, tout en conservant l’élément comme ItemId et l’utilisateur comme UserID. Pour en savoir plus sur le fonctionnement des TagIds, consultez notre Guide sur le balisage et le regroupement des métadonnées.
[!REMARQUE IMPORTANTE]
Utilisez un compte distinct pour le modèle basé sur les métadonnées d’article, de façon à avoir un modèle IR par compte IR, et à ce qu’il soit distinct du modèle/compte basé sur les interactions de l’utilisateur pur.
- Les éléments avec des descriptions textuelles informatives peuvent recevoir des recommandations « Description similaire », pilotées par notre modèle approfondi NLP.
- Les éléments et les variantes avec images peuvent recevoir des recommandations « Aspect similaire », pilotées par notre modèle de deep learning de cognition visuelle.
Puis-je utiliser les métadonnées utilisateur, comme les données démographiques, pour personnaliser les recommandations ?
Le service Recommandations intelligentes permet aux clients d’inclure des métadonnées utilisateur via un processus de balisage des métadonnées. Les métadonnées utilisateur peuvent être puissantes pour recommander un contenu pertinent à tous les utilisateurs, notamment
- Clients nouveaux ou peu fréquents (également appelés « utilisateurs froids »).
- Connecter les utilisateurs avec des attributs communs avec le balisage des métadonnées. Pour en savoir plus sur le regroupement démographique avec des recommandations et pour voir des exemples, consultez notre Guide sur le balisage et le regroupement des métadonnées.
Puis-je faire des recommandations d’utilisateur à utilisateur ?
Pour le moment, les recommandations complètes d’utilisateur à utilisateur ne sont pas prises en charge. Pour l’instant, il est possible pour certains ensembles de données d’obtenir des recommandations d’utilisateur à utilisateur, en apportant quelques modifications au contrat de données :
- Pour chaque entrée d’interaction d’origine, construisez chaque ligne pour :
- Écrivez ItemID dans la colonne InteractionGroupingId
- Écrivez UserID dans la colonne ItemId
- Faites la requête d’API : après avoir apporté les modifications précédentes au contrat de données, le type de liste Autres contenus sera appelé avec l’ID utilisateur et renverra une liste d’utilisateurs similaires.
Où puis-je en savoir plus sur le modèle de factorisation matricielle utilisé avec Recommandations intelligentes ?
Notre modèle MF : filtrage collaboratif à une classe avec des graphes aléatoires. Nous avons développé une version interne de la factorisation matricielle bayésienne, que nous avons décrite ici et qui peut être utilisée pour apprendre n’importe quelle incorporation comme nous l’avons expliqué ici.
Voir aussi
Guide de résolution des problèmes
Codes du statut de l’API
Contrat de données
Table de mappage des entités de données.
Guide du balisage des métadonnées et du regroupement.