Amazon Personalize

Learn via video courses

Overview

Amazon Personalize is a fully managed ML(machine learning) service that enables developers to provide their users with personalized experiences. It showcases Amazon's know-how and practical experience in creating personalization tools.
In other words, Amazon Personalize is a low-code machine learning (ML) service that can provide distinctive suggestions for any application running on Amazon Web Services (AWS) infrastructure through an API call. The goal of Amazon Personalize is to boost user engagement by offering tailored suggestions.

Introduction to Amazon Personalize

  • Amazon Personalize is a fully managed ML(machine learning) service that enables developers to provide their users with personalized experiences. It highlights Amazon's expertise and experience in developing personalization technologies.
  • Product suggestions, content recommendations, search results, and marketing campaigns are examples of how Developers use Amazon to personalize. Because it enables development teams without prior machine learning experience to customize outcomes for the applications they generate, personalizes is well-liked among e-commerce developers.
  • Among other things, you may use Amazon Personalize to provide suggestions for users based on their activities and interests, customize the re-ranking of results, alter the content of emails, and create targeted marketing campaigns based on user segments.
  • Machine learning is not a must for using Amazon Personalize. Use case-optimized materials for your business domain, or create your adaptable custom resources to get going right away.

Introduction to Amazon Personalize

The developer is responsible for providing training data, while Amazon is in charge of selecting the optimal algorithm, training and maintaining the AI model, and determining the accuracy of the metrics. The time it takes to develop a machine learning model for recommendations is reduced by months using this method, claims Amazon. The service may use historical data kept in Amazon S3 and real-time data from applications to customize results.

How Does It Work?

Your data is used by AWS Personalize to train customizable or domain-based recommendation models. To get real-time recommendations, you use a private recommendation API in your application. Additionally, Amazon Personalize supports user segments, batch workflows, and item recommendations.

  • Before entering the service, the data must be ready. Inventory and user demographic data may be pulled from an Amazon S3 bucket, and clicks, page views, and purchases may be broadcast via the Amazon Personalize API.
  • The service should receive data on recommendations as well. This includes any relevant background information and a list of potential products, which could include anything from media to articles to items.
  • To determine what is essential, Amazon Personalize examines and evaluates the data. The algorithm for developing and refining a customization solution tailored to a business's data is then chosen.
  • The solution, or training model, is applied to applications through an API request. Websites, mobile applications, social networking sites, Content Management Systems (CMS), and email marketing tools are examples of possible links.

How Does Amazon Personalize Work

Amazon Personalize Workflows

There are two workflow choices with AWS Personalize:

Workflow for Domain Dataset Groups:

You build a Domain dataset group for your business domain, import your data, develop recommenders for each of your use cases, and then receive recommendations to generate domain-based resources. As your catalogue expands, repeat the data import procedure to keep your recommendations current.

  • Create a Domain Dataset Group: Choose your business domain from the list below when creating a Domain dataset group.
    • VIDEO_ON_DEMAND
    • E-COMMERCE
  • Import Data: You add records for items, users, and interactions to datasets (Amazon Personalize containers for data). You have the option of importing records one at a time, in bulk, or both. Your domain determines the data you import. You can map your data to the default schema for each domain.
  • Create Recommenders: Your data is used by AWS Personalize to train one or more models when you import it. You begin training for Domain dataset groupings by developing a recommender for each of your use cases. The models supporting each recommender are trained by Amazon Personalize using the optimal configurations for the chosen use case.
  • Get Recommendations: You can use your recommenders when Amazon Personalize develops them to receive recommendations through the AWS Personalize console.
  • Refresh your Data and Repeat: Keep your item and user information up to date, and capture new interaction data immediately. As your datasets change, Amazon Personalize manages the lifespan of your recommenders and retrains models.

Workflow for Custom Dataset Groups: You choose your use case, import your data, train and deploy a model, and then receive recommendations using the custom process. As your library expands, repeat the data import and training steps to maintain and enhance the relevancy of your recommendations. The AWS Command Line Interface (AWS CLI), the AWS SDKs, or the Amazon Personalize console can all be used to finish the Amazon Personalize workflow.

Types of Data you can Import into Amazon Personalize

The many forms of data that you can import into the Amazon Personalize Interactions, Users, and Items datasets are covered in the topics that follow. Your data must be saved in Comma-Separated Values (CSV) format if you import data in bulk. Your CSV file must have column headings in the first row. Different datasets require different types of data. Your interactions data has to include the following before training, for both domain dataset groups and custom dataset groups:

  • A minimum of 1000 records of user interactions with the products in your catalogue. These interactions may result from broadcast events, bulk imports, or both.
  • 25 distinct user IDs, each with a minimum of two interactions.

Interactions Data: An interaction in AWS Personalize is a process that you record, import, and use as training data. Various events kinds, including click, watch, and like, can be recorded. For instance, if you want Amazon Personalize to use a user's clicks on and likes of specific items as training data, you would collect the user's ID, the item's ID, the timestamp (in Unix time epoch format), and the event type for each event (click and like).

User Data: You can input numerical and categorical metadata about your users, such as gender or loyalty status, into Amazon Personalize. You add user-related metadata to an Amazon Personalize Users dataset.

Item Data: You can import numerical and categorical metadata about an item into Amazon Personalize, such as the creation timestamp, price, genre, description, and availability. You add item-related metadata to an Amazon Personalize Items dataset. An Items dataset is necessary for some domains and recipes.

Amazon Personalize Terms and Concepts

Data Import and Management

The terms below describe how to import, export, and format data in Amazon Personalize.

  • Contextual Metadata: Interactions data you gather about a user's browsing environment (like the device they're using or their location) whenever an event (like a click) takes place. For both new and seasoned users, contextual metadata can increase recommendation relevance.
  • Dataset: A container for data that you upload to Amazon Personalize. Users, Items, and Interactions are the three categories of datasets that make up Amazon Personalize.
  • Dataset Group: Datasets, event trackers, solutions, filters, campaigns, and batch inference jobs are all included in the list of Amazon Personalize components that can be stored in dataset groups.
  • Domain Dataset Group: A dataset group containing preconfigured resources for various use cases and business verticals. The deployment and life cycle of training models is managed by AWS Personalize. You select your business domain, import your data, and develop recommenders for each of your use cases when you create a Domain dataset group.
  • Custom Dataset Group: A dataset group that includes unique resources like campaigns, solutions, solutions in different iterations, filters, and batch inference jobs. With the GetRecommendations action, you employ a campaign to obtain suggestions. You oversee the deployment and life cycle of training models.
  • Dataset Export Job: An application that exports records from datasets to CSV files for storage in Amazon S3 buckets.
  • Dataset Import Job: A bulk import tool that adds information from a CSV file in your Amazon S3 bucket to your AWS Personalize dataset.
  • Schema: A JSON object in Apache Avro format that provides Amazon Personalize with information about the data's structure. Your schema is used by Amazon Personalize to parse your data.

Training

To train a model in AWS Personalize, consider the terms below.

  • Item-to-Item Similarities (SIMS) Recipe: A RELATED_ITEMS recipe that suggests products that are comparable to a given item based on information from an Interactions dataset. The SIMS recipe uses user interactions with the items to determine how similar the items are.
  • Item-Affinity: Using information from the Items dataset and Interactions dataset, a USER_SEGMENTATION recipe creates user segments for each item you select depending on how likely it is that people will interact with it.
  • Recipe: An Amazon Personalize algorithm that is preconfigured to determine which products a user will interact with (for USER_PERSONALIZATION recipes), identify products that are related to particular products that a user has expressed interest in (for RELATED_ITEMS recipes), or order a selection of products you provide based on the predicted interest for a particular user (for PERSONALIZED_RANKING recipes).
  • Solution: The combination of trained models, configurable parameters, and formula (Solution Versions) that Amazon Personalize employs to produce recommendations.
  • Solution Version: A trained model that you develop as a component of an Amazon Personalize solution. To enable the personalization API that you use to obtain recommendations, you deploy a solution version in a campaign.

Why Amazon Personalize?

  • Customizing the user experience to meet the individual needs of each user is referred to as personalization.
  • This includes choosing the right content to recommend to a user (personalized recommendations), displaying content that is relevant to a specific item and user (relevant items), rearranging results to provide customized results (personalized search), and sending only applicable notifications/promotions to a particular user (personalized notifications/promotions).
  • Customer engagement and the entire lifetime value of your customers are significantly impacted by personalization and recommendations. Online buyers are more inclined to purchase from a website that provides and makes suggestions. By providing a customer experience that develops a recommendation engine that analyses people's buying patterns and decides on the best pairings, Amazon has found success.

Features of Amazon Personalize

Any application's value is increased by the features that set it apart from other software with related functions. We'll talk about a few of them in this section of the article:

  • User Segmentation: Now that Amazon Personalize offers extensive user segmentation, you may carry out prospecting activities across your marketing channels more effectively. You may automatically divide your consumers depending on their interest in different product categories, brands, etc., with our two new recipes. AWS-item-affinity identifies customers based on their preferences for particular products or media, such as goods, music, or movies. Customers are identified by AWS-item-attribute depending on the factors that are important to them, such as genre or price range.
  • Automated Machine Learning: Machine learning is handled by AWS Personalize. Once you've provided your data via Amazon S3 or real-time connections, Amazon Personalize can automatically load and validate it. This enables you to select the appropriate algorithms, train a model, provide precise metrics, and generate tailored suggestions. As your data collection grows as new metadata and real-time user event data are consumed, your models may need to be retrained to give pertinent and customized recommendations.
  • Unlock Information in the Unstructured Text: Unlock the information contained in product descriptions, reviews, movie synopses, or other unstructured content to provide highly relevant suggestions for customers. If your catalogue contains unstructured content, Amazon Personalize will automatically extract data necessary for suggestion generation.
  • Case Optimized Recommenders: It introduces new recommenders that make creating high-performing customized user experiences more accessible and faster. There are many use cases available, like "Frequently Bought Together," "Because You Watched X," "Top Picks for You," and more. Connect your data to a recommender, and Amazon Personalize will select the most appropriate parameters for your use case while streamlining the creation and upkeep of personalized recommendations. To get an illustration of cost projections, see Amazon Personalize pricing.
  • Easily Integrable: Amazon Personalize may be easily integrated into websites, mobile applications, content management systems, and email marketing platforms with one inference API call. The service allows for user recommendations, similar item recommendations, and bespoke product re-ranking. You may easily obtain item recommendations or a reranked item list in JSON format using the Amazon Personalize APIs, which you can then use in your application.

Amazon Personalize Use Cases

These are mainly used for recommendations in real-time, like below:

  • Personalized Recommendation: It includes specific recommendations that can range from suggested next steps to specific products.
  • Custom Search: It might help to make customers' search experiences better. Various user experiences and behavioral preferences are taken into account when designing the search feature to rank the results.
  • Relevant Notifications: It aids in limiting the user's notifications to those most pertinent. It can guarantee that the consumer receives a customized and relevant notification.

Amazon Personalize Pricing

Free Trial

Start Using AWS Personalize for Free

When using Custom Recommendation Solutions, you are given the following benefits for the first two months after signing up:

  • Up to 20 GB of data processing and storage per qualified AWS Region per month.
  • Training: Each qualified Region may receive up to 100 hours of training every month.
  • 50 TPS-hours or more per month of real-time recommendations.

Use Case Optimized Recommenders

Using case-optimized recommenders from Amazon Personalize makes it easier to build and maintain popular recommendation systems. Amazon Personalize automatically configures the underlying machine learning (ML) models and ultimately maintains their lifespan for the recommenders you want to employ. Nine recommenders that provide personalized recommendations for various user experience touchpoints are available for your choice.

  • Data Ingestion: Each GB of data you upload to Amazon Personalize incurs a fee. This includes batch data submitted using the Amazon Simple Storage Service and real-time data streamed to Amazon Personalize (S3). Costs for Data Ingestion: $0.05 per GB
  • Users: For each recommender, you pay an hourly rate based on the number of users in your datasets that Amazon Personalize has processed. A set number of recommendations are provided by each active recommender every hour without additional charge.
Users Per RecommenderPrice Per 100,000 UsersFree Recommendations Per Hour
First 100,000 users$0.3754,000
Next 900,000 users$0.0456,000
Next 9 million users$0.0189,000
Over 10 million users$0.00514,000

Getting Started with Amazon Personalize

Step 1: Create a Dataset Group and a Dataset

You first build a dataset group in this technique. The dataset group is where you construct an Amazon Personalize Interactions dataset next.

Getting Started with Amazon Personalize

To Create a Dataset Group and a Dataset

  • Visit https://console.aws.amazon.com/personalize/home to access the Amazon Personalize console and log in to your account.
  • Select to create a dataset group.
  • Give your dataset group a name in the Dataset group details section under Dataset group name.
  • Select Custom for Domain. The following should appear on your screen:

Create a Dataset Group and a Dataset

  • Select the Create dataset group, then continue. The page to create a dataset of interactions displays.
  • Enter a name for your dataset in the Dataset name field on the Create interactions dataset page.
  • Give the new schema a name under Schema name. The following should appear on your screen:

Create Interaction Dataset

  • Select Create dataset, then carry on. The page to import interaction data opens.

Step 2: Import Interactions Data

To Import Interactions Data

  • Choose Import data from S3 as your data import source on the Import Interactions Data page.
  • Give your import job a name in the Dataset import job name field.
  • If you haven't given Amazon Personalize permissions, follow the instructions in the Additional S3 bucket policy required dialogue box to add the necessary Amazon S3 bucket policy.
  • Choose the location of your movie data file's storage in Amazon Simple Storage Service under Data location (S3). Use the syntax shown below: s3://<name of your S3 bucket>/<folder path>/<CSV filename>
  • Keep Enter a custom IAM role ARN as the default choice for IAM service role in the IAM Role section.
  • The job information and IAM role parts of the dataset import should resemble the following:

Dataset Import Job Details

  • Select Finish.

Step 3: Create a Solution

To Create a Solution

  • Choose Create solution under Use custom resources on the Overview page for your dataset group.
  • To receive item recommendations for your users, select Item recommendation as the solution type.
  • Enter a name for your solution under Solution name.
  • For Solution type choose Item recommendations.
  • Select aws-user-personalization under Recipe. The Advanced configuration and Solution configuration optional fields should remain untouched.
  • The following should appear on your screen:

Create Solution Amazon Personalized

  • Select Create and train solution.

Step 4: Create a Campaign

To Create a Campaign

  • Expand Custom resources in the menu bar and select Campaigns.
  • Select Create a campaign. The page to start a new campaign appears.
  • Give your campaign a name in the Campaign details section under Campaign name.
  • Choose the solution you created in the preceding step for Solution, and leave Solution version ID at the default value.
  • Keep the default of 1 for Minimum provisioned transactions per second. Campaign configuration fields should remain untouched.
  • The following should appear on your screen:

Create And Train Solutions

  • Select Create campaign.

Step 5: Get Recommendations

To Get Recommendations

  • In the Test campaign results, enter a number from the rating dataset, such as 65, for the User ID field. Keep the None default choice for Filter Name, and leave the Context columns blank.
  • Select Obtain suggestions. The item IDs and scores for the recommended items are listed in the Recommendations section.
  • The following should appear on your screen:

Test Campaign Results Amazon Personalized

Challenges of Amazon Personalize

Making recommendations is now simpler than ever, thanks to AWS Personalize. Technically speaking, everything appears simple to master. The use case's definition and the recommendations' depth present the biggest problems, respectively.
For a use case, the recommendations should be as precisely defined as feasible. This affects the choice of data as well as the design of the data model and schema. Some of the challenges faced by Amazon Personalize are mentioned below:

  • Amazon Personalize is limited to standard recipes.
  • Unlike the User-Personalize recipe which updates the model with new clickstream data with API calls, the SIMS and Personalized ranking recipes require complete re-training of the model.
  • Black box models prevent custom adjustments because the algorithms are fixed with predetermined parameters.

Conclusion

  • In this article, we learned about Amazon Personalize. Amazon Personalize is a fully managed ML(machine learning) service that enables developers to provide their users with personalized experiences.
  • This article also covered some concepts and terminologies associated with Amazon.
  • In this article, we also learned how Amazon Personalize works. We learned that Amazon Personalize uses data to train customizable or domain-based recommendation models.
  • This article also covered some important features and use cases of Amazon Personalize. It included
  • This article also covered some important features and use cases of Amazon Personalize. It explained how Amazon Personalize is used for Personalized recommendations and Custom Searches.
  • Ultimately, we learned how to get started with Amazon Personalize on AWS Console.