OP - Amazon Personalize Model Optimization

icon picker
Amazon Personalize: A Survey

Introduction

Amazon Personalize is a AI service that is part of the machine learning stack at AWS. Some of the business outcomes customers have achieved via using Amazon Personalize are:
Acquisition & Retention
Engagement
Efficiencies & Revenue
Discoverability
Amazon Personalize is particularly strong at improving the customer’s ability to find products that specifically from long-tail catalog of items.

How It Works

One starts by bringing their data about how users interact with polls. There are 3 dataset types that Amazon Personalize takes as input:
User Events / Interactions (Required) ​This dataset contains information about User-Poll interactions, e.g. users doing the following:
View Polls
Creating Polls
Voting on Polls
Commenting on Polls
Liking Polls
Polls Metadata (Optional) ​This dataset is useful in situations such as the Cold Start problem for New Polls. The metadata we have for Polls data is:
Category, e.g. Music, Bollywood etc.
Created By (User ID)
User Metadata (Optional) This dataset helps in Cold Start problem for New Users. Following are the attributes for this dataset:
User ID
City
College Name
Gender
Interest
Age
All these 3 datasets can be imported in bulk into Amazon Personalize as CSV files. Once the data is uploaded, Personalize performs the following steps to train a private custom machine learning model:
Inspect Data
Identify Features
Select Hyperparameters
Train Models
Optimize Models
Host Models (to AutoScaling End Points)
Build Real-Time Feature Store
After the above steps, Personalize creates a Customised Personalization API.

Core Use Cases

Amazon Personalize focusses on 3 different core use cases.

Real-Time User Personalization

Given a user, recommend polls that the given user should interact with. New/Cold Users with no interaction history receive popular/trending items as recommendations.
Once, “events” are streamed into Personalize, recommendations are personalised in real time. So, after 1 or 2 “events”, new recommendations reflect the events history.
At present, Amazon Personalize uses to train a User Personalization based machine learning model.

Similar Items Recommendations

This use-case would typically be implemented on a poll detail page/screen on the mobile app. It recommends other polls similar to the poll in consideration based on user behavior.
So, this is not doing any Content-Based Filtering, but . This is based upon the following fact:
Users who interacted with this particular poll also interacted with some other polls.

Re-ranking Items (Personalised)

The intuition here is simple. Given a user, and a list of items, personalize the order of those items for that user.

Key Features of Amazon Personalize

User Impressions

Modelling impressions data, or polls that are “viewed” but not interacted with. We view impressions as negative behaviour.

Item Exploration

Balance between exploring for new polls and polls a user is likely to find relevant.
“Exploration”: Recommend polls with less interactive data and relevance.
“Exploitation”: Recommend polls based on relevance.
explorationWeight: Balances the behavior between “Exploration” vs “Exploitation”

Filtering

For Events

Exclude or include polls to recommend based on event criteria.

On Metadata

Exclude or include items to recommend based on poll or user criteria.
For both filtering for events and on metadata, features allowed include or exclude items being recommended based on business rules we define in the service.
These business rules are similar to SQL “WHERE” Clause. Business rules provide guard rails on what to recommend to the end user from AWS Personalized !

Cold Start

Include recommendation for new users and new polls. Can be done via the “Trending” recipe.

Filtering Recommendations With Business Rules

Following are some examples of polls we might like to INCLUDE in our recommendation feed for a user:
Comment On Polls again
Polls released in given time period
Polls with more then 10 comments by users
Recommend only certain categories:
E.g. Internet, Movies & TV
Seasonality: For example, Polls about a specific movie would be more relevant around it’s release period.
Following are some examples of polls might like to EXCLUDE in our recommendation feed for a user:
Polls older than a certain timestamp.
Polls which have “EVENT_TYPE” being “Seen”.
In case of a subscription based model:
Polls not included in subscription
Following are some examples, how business rules can be applied:
(1) Interactions
EXCLUDE ItemID WHERE Interactions.EVENT_TYPE IN (”Seen")
(2) Items
INCLUDE ItemID WHERE Items.CATEGORY IN ($CATEGORY)
(3) Users
INCLUDE ItemID WHERE Items.ACCESS_TYPE IN (”paid”)
IF CurrentUser.MEMBERSHIP_TIER IN (”gold”, “platinum”)
(4) Multiple Expressions
INCLUDE ItemID WHERE Items.PROMO IN ($PROMO)
EXCLUDE ItemID WHERE Interactions.EVENT_TYPE IN (”seen”)
NOTE: $PROMO can be related to some promotional event

User-User Interactions Data

For Hunch, we also provide the feature and collect data of users following other users. There are following relevant questions about this data:
Is there a way to introduce the effect of following another User by a given User?
Essentially should it have an impact on the personalized feed of a User, given the User follows a list of other Users?
If yes, what should be the impact, in what magnitude, and how do we use this "User Following Other Users" information within Amazon Personalize.
Right now, AWS Personalize does not provide any methodology to incorporate user follower-following information within its personalized modelling recipes.
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.