AWS Personalize at a glance
- Import business data into AWS Personalize
- Continuous training of models with current data
- Read recommendations with filtering capabilities from AWS Personalize
Challenges
AWS Personalize makes it easier than ever for us to create recommendations. From a technical perspective, everything seems easy to master. We find challenges mainly in the clear delineation of the use case and the meaningfulness of the recommendations.
The recommendations should be as clearly delimited as possible for a use case. This influences both the selection of data and the structure of the data model and schema.
A recommendation system lives from the meaningfulness and topicality of the displayed recommendations. If, for example, I make recommendations to a user that he already knows, are 2 years old or are not relevant at all, I lose his interest and trust. Recommendations are therefore first viewed critically and must therefore be convincing from the outset, even if this is of course partly viewed subjectively.
Therefore, we need to ask the following questions from the beginning:
- Which of my data will help improve the model?
- What statements do I want to make with the recommendations in the first place?
- How can I validate the recommendations for correctness?
- How can I make recommendations to the user that they don’t already know?
It is very important to constantly validate the recommendations created by AWS Personalize. At the start, it is important to validate the recommendations manually, i.e., to check randomly whether the recommendations appear meaningful to a user at all. Recommendation is therefore to start with a recommendation system whose validity can be easily checked. In order to give a user recommendations that he or she does not yet know, it is necessary to work a lot with recommendation filters, so that favourites of users or content that has already been seen do not appear again.
Process View
- First, you should select a domain that best matches the use case (1).
- In case of a user-defined use case, data models are defined afterwards. Importing your own data into Personalize is done once or continuously based on the defined data models (2).
- Amazon Personalize uses the imported data to train and provide recommendation models (3).
- To query recommendations, both an HTTP-based real-time API for one user and batch jobs for multiple users can be integrated (4).
Data models
- Users
- Items
- Interactions of the user with these items
Import data into Personalize
Train models
Use recommendations in your own application
If you need recommendations for a large number of users for mailings, batch jobs (batch inference jobs) can efficiently create these recommendations in the background. These batch jobs can be “fed” with the UserIds – the result are recommendations for each user within one big JSON file.
Is Personalize worth the effort?
Summary
References and Links
Official documentation: https://aws.amazon.com/de/personalize
AWS Blogposts: https://aws.amazon.com/de/blogs/machine-learning/category/artificial-intelligence/amazon-personalize/
AWS Personalize Best Practices: https://github.com/aws-samples/amazon-personalize-samples/blob/master/PersonalizeCheatSheet2.0.md
Efficiency of models: https://aws.amazon.com/de/blogs/machine-learning/using-a-b-testing-to-measure-the-efficacy-of-recommendations-generated-by-amazon-personalize/
AWS Personalize Code Samples: https://github.com/aws-samples/personalization-apis
0 Comments