Written by Chetan Melhotra
Amazon Personalize is a recommendation service provided by Amazon which enables you to personalize your website, app, ads, emails, and more, using the same machine learning technology as used by Amazon.com, without requiring any prior machine learning experience. You can generate personalized user recommendations using Amazon Personalize through a simple API interface.
Table of Content
- What is Amazon personalize
- Use cases
- What are the requirements to work on Amazon personalize
- How to work on amazon personalize
- Dataset groups
- Schema & Dataset Import job
- Solution & Recipe
- Get Recommendation
- Data Incrementation
What is Amazon Personalize?
Amazon Personalize is a fully managed machine learning service that makes it easy for developers to deliver personalized recommendation experiences to their users.
Amazon Personalize is a machine learning service that enables you to personalize your website, app, ads, emails, and more with custom machine learning models which can be created in Amazon Personalize with no prior machine learning experience.
- Amazon Personalize could be used in an e-commerce platform to provide a customized product experience to users.
It could be used on an entertainment streaming platform like music, video, or OTT platform to offer content based on user behaviour.
What are the requirements to work on Amazon Personalize?
Require 3 types of data of your domain.
- User data
- Item data (product data)
- User-Item interaction data
If you have these three kinds of data, you can use amazon personalize to get various types of recommendations for any domain.
How to work on Amazon Personalize?
- Dataset Group: First, you need to create a dataset group within Personalize, it will utilize to import datasets, and those datasets would use by the model for training.
- Schema & Dataset Import job:
- You must define the data schema in json format; the schema must match the data. After defining the schema, the next step would be the data import process to import data from s3 into personalize dataset group.
- Solution & Recipe: A Solution combines an Amazon Personalize recipe, customized parameters, and one or more solution versions (trained models).
- To create a solution, choose a recipe: A recipe is an Amazon Personalize term specifying an appropriate algorithm to train. There are various recipes available for multiple use cases.
- Campaign: A campaign is used to deploy a trained solution version to get a recommendation.
A campaign is a deployed solution version (trained model) with provisioned dedicated transaction capacity for creating real-time recommendations for your application users.
- Get Recommendation: To get a real-time recommendation from the campaign, we can use get_recommendation() API and batch inference to get a batch recommendation.
- Data Incrementation: To retrain a model on new data, we need to increment or add those data into our personalized dataset group. To add those data incrementally, we have data incrementation techniques.
- Events: To increase interaction data in real-time, we can create events and use them to insert new interaction data.
- User & Item Incrementation: To increment user and item data, we could use the put_users() & put_items() API of personalize.
- Filtering: Filtering is used to filter the recommendation result. Using a filter, you can customize the recommendation result. For example, you might not want to recommend products a user has already purchased. You need to create a filter with the appropriate condition to create a filter. It is similar to an SQL query.
- Amazon Personalize makes it easy for developers to add highly personalized recommendations to customers who use their applications. It uses the same ML technology used by Amazon.com for real-time customized recommendations, with no ML expertise required.
- You can fulfil your customized requirements using other AWS services with personalization like lambda, API gateway, etc.