Recette de classement personnalisé - Amazon Personalize

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Recette de classement personnalisé

Important

Nous vous recommandons d'utiliser la recette Personalized-ranking-V2. Il peut prendre en compte jusqu'à 5 millions d'objets avec un entraînement plus rapide et générer des classements plus précis avec une latence moindre.

La recette du classement personnalisé génère des classements personnalisés des objets. Un classement personnalisé est une liste d'éléments recommandés ayant fait l'objet d'un nouveau classement pour un utilisateur spécifique. Cela est utile si vous disposez d'une collection d'articles commandés, tels que des résultats de recherche, des promotions ou des listes sélectionnées, et que vous souhaitez proposer un reclassement personnalisé pour chacun de vos utilisateurs. Par exemple, avec Personalized-Ranking, Amazon Personalize peut reclasser les résultats de recherche que vous avez générés. OpenSearch

Pour entraîner un modèle, la recette Personalized-Ranking utilise les données de votre jeu de données d'interactions entre articles, et si vous les avez créées, le jeu de données Items et le jeu de données Users de votre groupe de jeux de données (ces ensembles de données sont facultatifs). Avec le classement personnalisé, votre jeu de données d'objets peut inclure Métadonnées de texte non structurées et votre jeu de données d'interactions entre objets peut inclure. Métadonnées contextuelles Pour obtenir un classement personnalisé, utilisez le GetPersonalizedRankingAPI.

Après avoir créé une version de solution, assurez-vous de maintenir la version et les données de votre solution à jour. Avec Personalized-Ranking, vous devez créer manuellement une nouvelle version de solution (modifier le modèle) pour qu'Amazon Personalize prenne en compte les nouveaux articles à des fins de recommandation et mette à jour le modèle en fonction du comportement le plus récent de votre utilisateur. Vous devez ensuite mettre à jour toute campagne à l'aide de la version de la solution. Pour de plus amples informations, veuillez consulter Maintien de la pertinence des recommandations.

Note

Si vous fournissez des articles sans données d'interaction pour le classement, Amazon Personalize retournera ces articles sans note de recommandation dans la GetPersonalizedRanking API réponse.

Cette recette possède les propriétés suivantes :

  • Nomaws-personalized-ranking

  • Nom de la ressource Amazon de la recette (ARN)arn:aws:personalize:::recipe/aws-personalized-ranking

  • Algorithme ARNarn:aws:personalize:::algorithm/aws-personalized-ranking

  • Transformation des fonctionnalités ARNarn:aws:personalize:::feature-transformation/JSON-percentile-filtering

  • Type de recettePERSONALIZED_RANKING

Hyperparamètres

Le tableau suivant décrit les hyperparamètres de la recette Personalize Ranking. Un hyperparamètre est un paramètre d'algorithme que vous pouvez régler pour améliorer les performances du modèle. Les hyperparamètres d'algorithme contrôlent les performances du modèle. Les hyperparamètres d’organisation de fonction contrôlent la façon de filtrer les données à utiliser dans la formation. Le processus de sélection de la meilleure valeur pour un hyperparamètre est appelé optimisation des hyperparamètres ()HPO. Pour de plus amples informations, veuillez consulter Hyperparamètres et HPO.

Le tableau fournit également les informations suivantes pour chaque hyperparamètre :

  • Plage: [lower bound, upper bound]

  • Type de valeur : integer (entier), Continuous (float) [continu (flottant)], Categorical (Boolean, list, string) [catégorique (booléen, liste, chaîne)]

  • HPOtunable : Le paramètre peut-il participer à l'optimisation des hyperparamètres () ? HPO

Name (Nom) Description
Hyperparamètres de l'algorithme
hidden_dimension

Nombre de variables masquées utilisées dans le modèle. Les variables masquées recréent l'historique des achats des utilisateurs et les statistiques des articles pour générer des scores de classement. Spécifiez un plus grand nombre de dimensions masquées lorsque votre jeu de données d'interactions entre objets inclut des modèles plus complexes. L'utilisation de dimensions masquées nécessite un ensemble de données plus volumineux et plus de temps pour le traitement. Pour déterminer la valeur optimale, utilisezHPO. Pour l'utiliserHPO, définissez performHPO le true moment où vous appelez CreateSolution et les CreateSolutionVersion opérations.

Valeur par défaut : 149

Plage : [32, 256]

Type de valeur : entier

HPOréglable : Oui

bptt

Détermine s'il convient d'utiliser la technique de propagation de retour à travers le temps. La propagation du retour au fil du temps est une technique qui met à jour les pondérations dans les algorithmes récurrents basés sur les réseaux neuronaux. Utilisez bptt pour les crédits à long terme afin de connecter les récompenses retardées à des événements précoces. Par exemple, une récompense retardée peut être un achat effectué après plusieurs clics. Un événement précoce peut être un clic initial. Même dans les mêmes types d'événements, comme un clic, il est judicieux de prendre en compte les effets à long terme et d'optimiser le total des récompenses. Pour prendre en compte les effets à long terme, utilisez des valeurs bptt plus élevées. L'utilisation d'une valeur bptt plus importante nécessite des ensembles de données plus volumineux et plus de temps pour le traitement.

Valeur par défaut : 32

Plage : [2, 32]

Type de valeur : entier

HPOréglable : Oui

recency_mask

Détermine si le modèle doit prendre en compte les dernières tendances de popularité dans le jeu de données d'interactions entre articles. Les dernières tendances de popularité peuvent inclure des modifications soudaines dans les modèles sous-jacents des événements d'interaction. Pour former un modèle qui accorde plus de poids aux événements récents, définissez recency_mask sur true. Pour former un modèle qui pèse de manière égale toutes les interactions passées, définissez recency_mask sur false. Pour obtenir de bonnes recommandations en utilisant un poids égal, vous pouvez avoir besoin d'un ensemble de données de formation plus grand.

Valeur par défaut : True

Plage : True ou False

Type de valeur : booléen

HPOréglable : Oui

Hyperparamètres de fonctionnalité
min_user_history_length_percentile

Le percentile minimal des longueurs d’historique d'utilisateur à inclure dans la formation du modèle. La longueur de l'historique correspond à la quantité totale de données sur un utilisateur. Utilisez min_user_history_length_percentile pour exclure un pourcentage d'utilisateurs avec des longueurs d'historique courtes. Les utilisateurs avec un court historique affichent souvent des modèles basés sur la popularité des éléments plutôt que sur les besoins ou les souhaits personnels de l'utilisateur. Leur suppression peut former des modèles en mettant davantage l'accent sur les modèles sous-jacents dans vos données. Choisissez une valeur appropriée après avoir examiné les longueurs de l'historique utilisateur, à l'aide d'un histogramme ou d'un outil similaire. Nous vous recommandons de définir une valeur qui conserve la majorité des utilisateurs, mais supprime les cas périphériques.

Par exemple, la définition de min__user_history_length_percentile to 0.05 et max_user_history_length_percentile to 0.95 inclut tous les utilisateurs, sauf ceux dont la longueur de l'historique figure dans les 5 % du bas ou du haut.

Valeur par défaut : 0.0

Plage : [0.0, 1.0]

Type de valeur : flottante

HPOréglable : Non

max_user_history_length_percentile

Le percentile maximal des longueurs d’historique d'utilisateur à inclure dans la formation du modèle. La longueur de l'historique correspond à la quantité totale de données sur un utilisateur. Utilisez max_user_history_length_percentile pour exclure un pourcentage d'utilisateurs avec de longues longueurs d'historique, car les données de ces utilisateurs ont tendance à contenir du bruit. Par exemple, un robot peut avoir une longue liste d'interactions automatisées. La suppression de ces utilisateurs limite le bruit dans la formation. Choisissez une valeur appropriée après avoir examiné les longueurs de l'historique utilisateur, à l'aide d'un histogramme ou d'un outil similaire. Nous vous recommandons de définir une valeur qui conserve la majorité des utilisateurs, mais supprime les cas périphériques.

Par exemple, la définition de min__user_history_length_percentile to 0.05 et max_user_history_length_percentile to 0.95 inclut tous les utilisateurs, sauf ceux dont la longueur de l'historique figure dans les 5 % du bas ou du haut.

Valeur par défaut : 0.99

Plage : [0.0, 1.0]

Type de valeur : flottante

HPOréglable : Non

Exemple de carnet de notes à classement personnalisé

Pour un exemple de bloc-notes Jupyter expliquant comment utiliser la recette de classement personnalisé, voir Exemple de personnalisation du classement.