Weitere ähnliche Inhalte Ähnlich wie Core of Personalization at Polyvore: Style Profile (20) Kürzlich hochgeladen (20) Core of Personalization at Polyvore: Style Profile1. Core of Personalization at Polyvore: Style Profile
By Jiang Zhu & Jennifer Louie
Over the past year, our engineering team has undertaken the task of creating a more
personalized experience for our users. We already have an amazing community of
designers, artists, and fashion enthusiasts who come to Polyvore to get inspired around
shopping. However, we felt that with a little bit of machine learning we could help users
discover and shop for even more products that they may not have found on their own.
In this blog post we’ll walk through some of the ways we are using machine learning to
understand our users individual style, which we call a Style Profile, to recommend more
personalized products and outfits.
What is a Style Profile?
When we first started building each user’s Style Profile, we quickly realized how tricky
quantifying fashion can be. It’s intangible, means different things for different people and
even when most people might own the same black shirt, they might wear it in
completely different ways. Luckily, Polyvore is uniquely positioned to understand
personal style through our users rich interactions on Polyvore, including:
● Global factors: occasions, trends, seasonality and other contextual information
● Catalog data: rich and highquality metadata of products from our retail partners
● Product data: product likes and dislikes, collections of products, products
viewed and search queries
● Shopper behavioral data: impressions, likes, outbound clicks while they are
interacting with products, sets and other curated content
● Community data: Our global community has generated billions of data points
that helps us understand the relationship between retail products. Every time a
user creates a set, they are implying that those products go together and share
the same style.
From a technology standpoint, a user’s Style Profile can be represented with a vector in
a highdimensional space and the component for each dimension, indicating the
strength of their preference in a particular aspect or a combination of multiple aspects in
fashion. The following is a simplified representation of two users’ style profile on
combinations of color, category, material and brand:
2.
Figure 1: Style Profiles
● Style Space Definition: a high dimensional space where any point represents
the style of a user or product that is subject to constraints that points with similar
style should be closer to each other than those with different tastes.
● Style Vector Definition: the coordinates in the Style Space denote the taste
vector for that particular user or product.
How do you generate a Style Profile?
In order to generate a Style Profile for a user, we use a special balance of different
factors:
● Products: We look at all the products the user engages with. Every product has
multiple data points such as category, brand, retailer, color, material and style.
● Categories: We look at each category and store the frequency of each attribute
value. Users have different preferences for different categories, for example, a
user might love bright colored tops but only like dark black shoes. Color also has
a limited number of values so we calculate the spread of frequencies to
determine how strong the preference is for certain colors.
● Dislikes: If a user consistently dislikes certain categories or products with certain
attributes, we’ll be less likely to recommend these products. On the other hand, a
user might have both positive and negative signals for the same attributes. In this
case, we discount the positive signals for that attribute. An interesting challenge
we’re still tackling is understanding exactly what those negative signals. Since
4. Style Profile we try to guess the user’s preference for it. For example, we see that a
user has not liked or disliked any pink Tshirts, but they have liked multiple black
Tshirts; so pink Tshirts are given a low score. If the user has likes a lot of colors
equally, then pink will receive an average color score.
If the product category is missing from the Style Profile, we try to use the parent
category profile. For example, before recommending a pair of brown boots, even if the
user has never liked boots, we tap into her overall preference for shoes until we get
more signal.
With the combination of these three recommendation streams, we are able to create
Style Profiles for every user, making it easier for them to discover and shop for the
things they love.
Stay tuned for the next post, when we will talk more about how we measure users’
engagement of these personalized streams and what insights we’ve discovered.
REMOVE:
● Collaborativefiltering streams: generates recommendations based on similar
user’s preferences. For example, people who like this product also like certain
group of other products so Polyvore can recommend those similar products.
● CoOccurrence streams: generates recommendations by leveraging Polyvore’s
global community by looking at which products are frequently used in different
styles of sets and collections.
For collaborative filtering streams and cooccurrence streams, we use techniques,
which we will cover in subsequent posts, to generate the candidate recommendations
and then use Style profile to rerank the results.