The User-Personalization (aws-user-personalization) recipe is optimized for all personalized recommendation scenarios. It predicts the items that a user will interact with based on Interactions, Items, and Users datasets. When recommending items, it uses automatic item exploration.
With automatic exploration, Amazon Personalize automatically tests different item recommendations, learns from how users interact with these recommended items, and boosts recommendations for items that drive better engagement and conversion. This improves item discovery and engagement when you have a fast-changing catalog, or when new items, such as news articles or promotions, are more relevant to users when fresh.
You can balance how much to explore (where items with less interactions data or relevance are recommended more frequently) against how much to exploit (where recommendations are based on what we know or relevance). Amazon Personalize automatically adjusts future recommendations based on implicit user feedback.
With User-Personalization, Amazon Personalize automatically updates the latest model (solution version) every two hours to include new data. With each update, Amazon Personalize updates the solution version with the latest item information and adjusts the exploration according to implicit feedback from users. This allows Amazon Personalize to gauge item quality based on new interactions for already explored items and continually update item exploration.
There is no cost for automatic updates.
Amazon Personalize automatically updates only the latest solution version trained with
trainingMode set to
FULL and only if you provide new item or interactions data since the last automatic update. If you have trained a new solution version, Amazon Personalize will not automatically update older solution versions that you have deployed in a campaign. Updates also do not occur if you have deleted your dataset.
The User-Personalization recipe has the following properties:
The following table describes the hyperparameters for the User-Personalization recipe. A hyperparameter is an algorithm parameter that you can adjust to improve model performance. Algorithm hyperparameters control how the model performs. Featurization hyperparameters control how to filter the data to use in training. The process of choosing the best value for a hyperparameter is called hyperparameter optimization (HPO). For more information, see Hyperparameters and HPO.
The table also provides the following information for each hyperparameter:
|hidden_dimension||The number of hidden variables used in the model. Hidden variables recreate users’ purchase history and item statistics to generate ranking scores. Specify a greater number of hidden dimensions when your Interactions dataset includes more complicated patterns. Using more hidden dimensions requires a larger dataset and more time to process. To decide on the optimal value, use HPO. To use HPO, set
|bptt||Determines whether to use the back-propagation through time technique. Back-propagation through time is a technique that updates weights in recurrent neural network-based algorithms. Use
|recency_mask||Determines whether the model should consider the latest popularity trends in the Interactions dataset. Latest popularity trends might include sudden changes in the underlying patterns of interaction events. To train a model that places more weight on recent events, set
|min_user_history_length_percentile||The minimum percentile of user history lengths to include in model training. History length is the total amount of data about a user. Use
|max_user_history_length_percentile||The maximum percentile of user history lengths to include in model training. History length is the total amount of data about a user. Use
|Item Exploration Campaign Configuration Hyperparameters|
|exploration_weight||Determines how frequently recommendations include items with less interactions data or relevance. The closer the value is to 1.0, the more exploration. At zero, no exploration occurs and recommendations are based on current data (relevance). For more information see CampaignConfig. Default value: 0.3 Range: [0.0, 1.0] Value type: Float HPO tunable: No|
|exploration_item_age_cut_off||Determines items to be explored based on time frame since latest interaction. Provide the maximum item age, in days since the latest interaction, to define the scope of item exploration. The larger the value, the more items are considered during exploration. For more information see CampaignConfig. Default value: 30.0 Range: Positive floats Value type: Float HPO tunable: No|