Préparation des données d'interaction entre les objets pour la formation - 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.

Préparation des données d'interaction entre les objets pour la formation

Une interaction avec un article est un événement d'interaction positive entre un utilisateur et un article de votre catalogue. Par exemple, un utilisateur qui regarde un film, consulte une annonce ou achète une paire de chaussures. Vous importez des données relatives aux interactions de vos utilisateurs avec vos articles dans un jeu de données sur les interactions entre articles. Vous pouvez enregistrer plusieurs types d'événements, tels que les clics, les visionnages ou les achats.

Par exemple, si un utilisateur clique sur un article en particulier puis l'aime, vous pouvez demander à Amazon Personalize d'utiliser ces événements comme données de formation. Pour chaque événement, vous devez enregistrer l'identifiant de l'utilisateur, l'identifiant de l'élément, l'horodatage (au format Unix Time Epoch) et le type d'événement (click and like). Vous ajouteriez ensuite les deux événements d'interaction entre éléments à un jeu de données d'interactions entre articles.

Pour tous les cas d'utilisation du domaine et les recettes personnalisées, les données relatives aux interactions entre articles en vrac doivent figurer dans un fichier CSV. Chaque ligne doit représenter une interaction unique entre un utilisateur et un élément. Une fois que vous avez terminé de préparer vos données, vous êtes prêt à créer un fichier de schéma JSON. Ce fichier indique à Amazon Personalize la structure de vos données. Pour de plus amples informations, veuillez consulter Création de fichiers JSON pour les schémas Amazon Personalize.

Les sections suivantes fournissent plus d'informations sur la façon de préparer les données d'interaction avec les articles pour Amazon Personalize. Pour les directives relatives au format des données en masse pour tous les types de données, consultez les directives relatives au format des données en masse

Exigences relatives aux données d'interaction entre les articles

Les sections suivantes répertorient les exigences relatives aux données d'interaction avec les articles pour Amazon Personalize. Pour des quotas supplémentaires, voirAmazon Personalize : points de terminaison et quotas.

Exigences minimales en matière de formation

Pour tous les cas d'utilisation du domaine et les recettes personnalisées, les données relatives aux interactions entre les articles en vrac doivent être les suivantes :

  • Au moins 1 000 enregistrements d'interactions entre articles provenant d'utilisateurs interagissant avec des articles de votre catalogue. Ces interactions peuvent provenir d'importations groupées, d'événements diffusés en continu, ou des deux.

  • Au moins 25 utilisateurs uniques IDs avec au moins deux interactions avec des objets pour chacun.

Pour des recommandations de qualité, nous vous recommandons d'avoir au moins 50 000 interactions entre articles provenant d'au moins 1 000 utilisateurs, avec au moins deux interactions avec des articles chacun.

Pour créer une recommandation ou une solution personnalisée, vous devez au minimum créer un jeu de données sur les interactions entre les articles.

Exigences relatives aux colonnes

Les données relatives aux interactions avec les articles doivent comporter les colonnes suivantes.

  • USER_ID — Identifiant unique de l'utilisateur qui a interagi avec l'élément. Chaque événement doit avoir un USER_ID. Il doit s'agir string d'une longueur maximale de 256 caractères.

  • ITEM_ID — Identifiant unique de l'élément avec lequel l'utilisateur a interagi. Chaque événement doit avoir un identifiant d'article. Il doit s'agir string d'une longueur maximale de 256 caractères.

  • TIMESTAMP — Heure à laquelle l'événement s'est produit (au format Unix Epoch en secondes). Chaque interaction doit être associée à un TIMESTAMP. Pour de plus amples informations, veuillez consulter Données d'horodatage.

  • EVENT_TYPE — La nature de l'événement d'interaction avec un objet, tel qu'un clic, une montre ou un achat. Pour les recommandeurs de domaines, vous devez disposer d'une colonne de type d'événement et chaque interaction doit avoir un type d'événement. Pour toutes les recettes personnalisées, une colonne EVENT_TYPE est recommandée mais facultative. Si vous l'ajoutez, chaque événement doit avoir un type d'événement. Pour plus d'informations, voir Données relatives au type d'événement et à la valeur de l'événement.

Vous êtes libre d'ajouter des colonnes personnalisées supplémentaires en fonction de votre cas d'utilisation et de vos données. Le nombre maximum de colonnes de métadonnées facultatives est de 5. Ces colonnes peuvent inclure des valeurs vide/nulles. Nous recommandons que ces colonnes soient remplies à au moins 70 %.

Données d'horodatage

Les données d'horodatage doivent être au format Epoch Time Unix en secondes. Par exemple, l'horodatage Epoch en secondes pour la date du 31 juillet 2020 est 1596238243. Pour convertir les dates en horodatages d'époque Unix, utilisez un convertisseur Epoch, un convertisseur d'horodatage Unix.

Amazon Personalize utilise les données d'horodatage pour calculer la récence et identifier tout modèle basé sur le temps. Cela permet à Amazon Personalize de suivre les recommandations en fonction up-to-date de l'évolution des préférences des utilisateurs.

Données relatives au type d'événement et à la valeur de l'événement

Un jeu de données d'interactions entre articles peut stocker des données sur le type d'événement et la valeur de l'événement pour chaque interaction. Seules les ressources personnalisées utilisent les données relatives aux valeurs des événements.

Données relatives au type d'événement

Le type d'événement d'une interaction avec un élément fournit un contexte sur sa nature et son importance. Les exemples de type d'événement peuvent être un clic, un visionnage ou un achat. Amazon Personalize utilise les données relatives aux types d'événements, telles que les données relatives aux clics ou aux achats, pour identifier les intentions et les intérêts des utilisateurs. Le nombre maximum de types d'événements distincts combiné au nombre total de colonnes de métadonnées facultatives dans un jeu de données d'interactions entre éléments est de 10.

Pour les recommandeurs de domaines, vous devez disposer d'une colonne de type d'événement et chaque interaction doit avoir un type d'événement. Pour toutes les recettes personnalisées, une colonne EVENT_TYPE est recommandée mais facultative. Si vous l'ajoutez, chaque événement doit avoir un type d'événement.

Si vous créez des ressources personnalisées, vous pouvez choisir les événements utilisés pour la formation par type d'événement. Si votre ensemble de données contient plusieurs types d'événements dans une colonne EVENT_TYPE, et que vous ne fournissez aucun type d'événement lorsque vous configurez une solution personnalisée, Amazon Personalize utilise toutes les données d'interactions entre articles pour l'entraînement avec le même poids, quel que soit le type. Pour de plus amples informations, veuillez consulter Choix des données d'interaction entre les objets utilisées pour l'entraînement.

Les cas d'utilisation suivants ont des exigences spécifiques en matière de type d'événement :

Cas d'utilisation du domaine VIDEO_ON_DEMAND

  • Parce que vous avez regardé X, il faut au moins 1 000 Watch événements.

  • Le plus populaire nécessite au moins 1 000 Watch événements.

Cas d'utilisation de domaines de commerce électronique

  • La plupart des visionnages nécessitent au moins 1 000 View événements.

  • Les meilleures ventes nécessitent au moins 1 000 Purchase événements.

Types d'événements positifs et négatifs

Amazon Personalize part du principe que toute interaction est positive. Les interactions avec un type d'événement négatif, tel que l'aversion, n'empêcheront pas nécessairement l'élément d'apparaître dans les futures recommandations de l'utilisateur.

Voici comment les événements négatifs et le désintérêt des utilisateurs peuvent influencer les recommandations :

Données relatives à la valeur des événements (ressources personnalisées)

Les données relatives à la valeur de l'événement peuvent être le pourcentage d'un film regardé par un utilisateur ou une note sur 10. Si vous créez des solutions personnalisées, vous pouvez choisir les enregistrements utilisés pour l'entraînement en fonction des données des colonnes EVENT_TYPE et EVENT_VALUE. Avec les recommandations de domaines, Amazon Personalize n'utilise pas les données relatives à la valeur des événements et vous ne pouvez pas filtrer les événements avant l'entraînement.

Pour choisir des enregistrements en fonction du type et de la valeur, enregistrez les données relatives au type d'événement et à la valeur de l'événement. Tous les événements ne doivent pas nécessairement avoir une valeur d'événement. La valeur que vous choisissez pour chaque événement dépend des données que vous souhaitez exclure et des types d'événements que vous enregistrez. Par exemple, vous pouvez faire correspondre l'activité de l'utilisateur, par exemple le pourcentage de vidéos regardées par l'utilisateur pour les types d'événements à regarder.

Lorsque vous configurez une solution, vous définissez une valeur spécifique comme seuil pour exclure les enregistrements de la formation. Par exemple, si vos données EVENT_VALUE pour les événements ayant un EVENT_TYPE de visionnage correspondent au pourcentage d'une vidéo regardée par un utilisateur, si vous définissez le seuil de valeur de l'événement à 0,5 et le type d'événement à regarder, Amazon Personalize entraîne le modèle en utilisant uniquement les événements d'interaction avec le watch dont la valeur EVENT_VALUE est supérieure ou égale à 0,5.

Pour plus d’informations, consultez Choix des données d'interaction entre les objets utilisées pour l'entraînement.

Métadonnées contextuelles

Avec certaines recettes et certains cas d'utilisation de recommandations, Amazon Personalize peut utiliser des métadonnées contextuelles pour identifier les modèles sous-jacents qui révèlent les éléments les plus pertinents pour vos utilisateurs. Les métadonnées contextuelles sont des données d'interactions que vous collectez sur l'environnement de l'utilisateur au moment d'un événement, telles que sa localisation ou son type d'appareil. Vous pouvez également spécifier le contexte d'un utilisateur lorsque vous recevez des recommandations pour celui-ci.

Incluez des métadonnées contextuelles pour offrir une expérience plus personnalisée à vos utilisateurs et réduire la phase de démarrage à froid pour les nouveaux utilisateurs. La phase de démarrage à froid est celle où les recommandations sont moins pertinentes en raison du manque de données historiques sur les utilisateurs.

Par exemple, si le fichier CSV de vos interactions avec les articles inclut une colonne DEVICE_TYPE contenant des phone valeurs tablet et, Amazon Personalize peut découvrir comment les clients font leurs achats différemment selon les appareils. Lorsque vous recevez des recommandations pour un utilisateur, vous pouvez spécifier son appareil et les recommandations seront plus pertinentes, même si l'utilisateur n'a aucun historique d'interactions.

Ce qui suit montre comment formater un fichier CSV d'interactions entre articles avec une colonne DEVICE_TYPE en tant que métadonnées contextuelles.

ITEM_ID,USER_ID,TIMESTAMP,DEVICE_TYPE,EVENT_TYPE shoe12345,12,1428624000,Tablet,CLICK shoe12346,12,1420416000,Tablet,CLICK shoe12347,12,1410652800,Tablet,BUY shoe4444,13,1409961600,Phone,CLICK shoe4445,13,1402876800,Phone,BUY shoe4336,13,1402185600,Phone,CLICK .....

Pour les groupes de jeux de données de domaine, les cas d'utilisation des recommandations suivants peuvent utiliser des métadonnées contextuelles :

Pour les ressources personnalisées, les recettes qui utilisent des métadonnées contextuelles sont les suivantes :

Pour plus d'informations sur l'inclusion du contexte lorsque vous recevez des recommandations, consultezAméliorer la pertinence des recommandations grâce aux métadonnées contextuelles. Pour un exemple de bout en bout illustrant comment utiliser les métadonnées contextuelles, consultez le billet de blog sur le AWS Machine Learning suivant : Augmenter la pertinence de vos recommandations Amazon Personalize en tirant parti des informations contextuelles.

Données sur les impressions

Les impressions sont des listes d'éléments visibles par un utilisateur lorsqu'il interagissait avec un élément en particulier (par exemple, en cliquant ou en regardant). Si vous utilisez un cas d'utilisation de domaine qui fournit la personnalisation ou la Personnalisation par l'utilisateur recette, Amazon Personalize peut utiliser les données d'impressions pour guider l'exploration.

Dans le cadre de l'exploration, les recommandations incluent certains éléments ou actions qui sont généralement moins susceptibles d'être recommandés à l'utilisateur, tels que de nouveaux éléments ou actions, des éléments ou des actions avec peu d'interactions, ou des éléments ou actions moins pertinents pour l'utilisateur en raison de son comportement antérieur. Plus un article apparaît fréquemment dans les données d'impressions, moins il est probable qu'Amazon Personalize l'inclut dans l'exploration.

Lorsque vous créez un recommandeur ou une solution, Amazon Personalize exclut toujours les données relatives aux impressions de la formation. Cela est dû au fait qu'Amazon Personalize n'entraîne pas vos modèles à l'aide des données d'impressions. Il l'utilise plutôt lorsque vous recevez des recommandations pour guider l'exploration de l'utilisateur.

Les valeurs d'impression peuvent comporter au maximum 1 000 caractères (y compris la barre verticale). Pour les groupes de jeux de données de domaine, les cas d'utilisation des recommandations suivants peuvent utiliser des données d'impressions :

Pour plus d'informations sur l'exploration, voirExploration. Amazon Personalize peut modéliser deux types d'impressions : Impressions implicites etImpressions explicites.

Impressions explicites

Les impressions explicites sont des impressions que vous enregistrez et envoyez manuellement à Amazon Personalize. Utilisez des impressions explicites pour manipuler les résultats d'Amazon Personalize. L'ordre des articles n'a aucun impact.

Par exemple, vous pouvez avoir une application d'achat qui fournit des recommandations pour les chaussures. Si vous ne recommandez que des chaussures actuellement en stock, vous pouvez spécifier ces articles en utilisant des impressions explicites. Votre flux de travail de recommandation utilisant des impressions explicites peut être le suivant :

  1. Vous demandez des recommandations pour l'un de vos utilisateurs à l'aide de l'GetRecommendationsAPI Amazon Personalize.

  2. Amazon Personalize génère des recommandations pour l'utilisateur utilisant votre modèle (version de la solution) et les renvoie dans la réponse de l'API.

  3. Vous ne montrez à l'utilisateur que les chaussures recommandées qui sont en stock.

  4. Pour l'importation de données incrémentielle en temps réel, lorsque votre utilisateur interagit avec (par exemple, clique) avec une paire de chaussures, vous enregistrez son choix lors d'un appel à l'PutEventsAPI et vous listez les articles recommandés qui sont en stock dans le impression paramètre. Pour un exemple de code, voirEnregistrement des événements d'interaction avec les objets à l'aide des données d'impressions.

    Pour importer des impressions dans les données historiques des interactions entre articles, vous pouvez répertorier les impressions explicites dans votre fichier csv et séparer chaque élément par un caractère « | ». Les caractères de la barre verticale sont pris en compte dans le calcul de la limite de 1 000 caractères. Pour obtenir un exemple, consultez Formatage d'impressions explicites.

  5. Amazon Personalize utilise les données d'impression pour guider l'exploration, et les recommandations futures incluent de nouvelles chaussures avec moins de données d'interactions ou de pertinence.

Formatage d'impressions explicites

Pour inclure des impressions explicites dans votre fichier CSV, ajoutez une colonne IMPRESSION. Pour chaque interaction avec un objet, ajoutez une liste d'ItemID séparés par une barre verticale, le caractère « | ». Les caractères de la barre verticale sont pris en compte dans la limite de 1 000 caractères pour les données d'impressions. Si vous incluez des impressions explicites dans le PutEvents fonctionnement, vous spécifiez les éléments dans un tableau de chaînes.

Ce qui suit est un court extrait d'un fichier CSV qui inclut des impressions explicites dans la IMPRESSION colonne.

EVENT_TYPE IMPRESSION ITEM_ID TIMESTAMP USER_ID
cliquez sur

73|70|17|95|96

73

1586731606

UTILISATEUR_1
cliquez sur

35|82|78|57|20|63|1|90|76|75|49|71|26|24|25|6

35

1586735164

UTILISATEUR_2
... ... ... ... ...

L'application a affiché USER_1 les éléments utilisateur 7370,17,95, 96 et l'utilisateur a finalement choisi l'élément73. Lorsque vous créez une nouvelle version de solution basée sur ces données70, les éléments 1795,, et 96 seront moins fréquemment recommandés aux utilisateursUSER_1.

Impressions implicites

Les impressions implicites sont les recommandations, extraites d'Amazon Personalize, que vous montrez à l'utilisateur. Votre fichier CSV n'a pas besoin d'inclure les colonnes IMPRESSION ou RECOMMENDATION_ID pour utiliser des impressions implicites. Au lieu de cela, vous incluez le RecommendationId (renvoyé par les GetPersonalizedRanking opérations GetRecommendations et) dans les PutEvents demandes. Amazon Personalize calcule les impressions implicites en fonction de vos données de recommandation.

Par exemple, vous pouvez avoir une application qui fournit des recommandations pour le streaming vidéo. Votre flux de travail de recommandation utilisant des impressions implicites peut être le suivant :

  1. Vous demandez des recommandations vidéo à l'un de vos utilisateurs à l'aide de l'opération Amazon Personalize GetRecommendations API.

  2. Amazon Personalize génère des recommandations pour l'utilisateur utilisant votre modèle (version de la solution) et les renvoie avec un recommendationId dans la réponse de l'API.

  3. Vous montrez les recommandations vidéo à votre utilisateur dans votre application.

  4. Lorsque votre utilisateur interagit avec une vidéo (par exemple, clique), enregistrez le choix dans un appel à l'PutEventsAPI et incluez-le en recommendationId tant que paramètre. Pour un exemple de code, voirEnregistrement des événements d'interaction avec les objets à l'aide des données d'impressions.

  5. Amazon Personalize utilise les données d'impression recommendationId à partir des recommandations vidéo précédentes, puis utilise les données d'impression pour guider l'exploration, les recommandations futures incluant de nouvelles vidéos avec moins de données d'interactions ou de pertinence.

    Pour plus d'informations sur l'enregistrement d'événements avec des données d'impression implicites, consultezEnregistrement des événements d'interaction avec les objets à l'aide des données d'impressions.

Exemple de données d'interactions

Les données d'interactions suivantes représentent l'historique de l'activité des utilisateurs sur un site Web de streaming vidéo. Vous pouvez utiliser les données pour entraîner un modèle qui fournit des recommandations de films en fonction des données d'interaction des utilisateurs. Notez que certaines valeurs de EVENT_VALUE sont nulles.

USER_ID,ITEM_ID,EVENT_TYPE,EVENT_VALUE,TIMESTAMP 196,242,watch,.50,881250949 186,302,watch,.75,891717742 22,377,click,,878887116 244,51,click,,880606923 166,346,watch,.50,886397596 298,474,watch,.25,884182806 115,265,click,,881171488 253,465,watch,.50,891628467 305,451,watch,.75,886324817

Amazon Personalize nécessite la TIMESTAMP colonne USER_IDITEM_ID, et. USER_IDest l'identifiant d'un utilisateur de votre application. ITEM_IDest l'identifiant d'un film. EVENT_TYPEet EVENT_VALUE sont les identifiants des interactions entre les utilisateurs. Dans les exemples de données, les événements sont click des événements watch et les valeurs sont le pourcentage d'une vidéo regardée par un utilisateur. Cela TIMESTAMP représente l'époque Unix à laquelle l'achat du film a eu lieu.

Une fois que vous avez terminé de préparer vos données, vous êtes prêt à créer un fichier de schéma JSON. Ce fichier indique à Amazon Personalize la structure de vos données. Pour de plus amples informations, veuillez consulter Création de fichiers JSON pour les schémas Amazon Personalize. Voici à quoi ressemblerait le fichier de schéma JSON pour les exemples de données.

{ "type": "record", "name": "Interactions", "namespace": "com.amazonaws.personalize.schema", "fields": [ { "name": "USER_ID", "type": "string" }, { "name": "ITEM_ID", "type": "string" }, { "name": "EVENT_TYPE", "type": "string" }, { "name": "EVENT_VALUE", "type": "float" }, { "name": "TIMESTAMP", "type": "long" } ], "version": "1.0" }