57
Personalizing & Recommender Systems Bamshad Mobasher Center for Web Intelligence DePaul University, Chicago, Illinois, USA

Personalizing & Recommender Systems

  • Upload
    slade

  • View
    51

  • Download
    4

Embed Size (px)

DESCRIPTION

Personalizing & Recommender Systems. Bamshad Mobasher Center for Web Intelligence DePaul University, Chicago, Illinois, USA. Personalization. The Problem - PowerPoint PPT Presentation

Citation preview

Page 1: Personalizing  & Recommender Systems

Personalizing & Recommender Systems

Bamshad Mobasher

Center for Web Intelligence

DePaul University, Chicago, Illinois, USA

Page 2: Personalizing  & Recommender Systems

2

Personalization

The ProblemDynamically serve customized content (books, movies,

pages, products, tags, etc.) to users based on their profiles, preferences, or expected interests

Why we need it? Information spaces are becoming much more complex for user

to navigate (huge online repositories, social networks, mobile applications, blogs, ….)

For businesses: need to grow customer loyalty / increase sales Industry Research: successful online retailers are generating

as much as 35% of their business from recommendations

Page 3: Personalizing  & Recommender Systems

3

Recommender Systems

Most common type of personalization: Recommender systems

Recommendationalgorithm

Userprofile

Page 4: Personalizing  & Recommender Systems

4

Common Approaches

Collaborative Filtering Give recommendations to a user based on preferences of “similar”

users Preferences on items may be explicit or implicit Includes recommendation based on social / collaborative content

Content-Based Filtering Give recommendations to a user based on items with “similar” content

in the user’s profile

Rule-Based (Knowledge-Based) Filtering Provide recommendations to users based on predefined (or learned)

rules age(x, 25-35) and income(x, 70-100K) and children(x, >=3)

recommend(x, Minivan)

Hybrid Approaches

Page 5: Personalizing  & Recommender Systems

5

Content-Based Recommender Systems

Page 6: Personalizing  & Recommender Systems

6

Content-Based Recommenders: Personalized Search Agents

How can the search engine determine the “user’s context”?

Query: “Madonna and Child”

?

?

Need to “learn” the user profile: User is an art historian? User is a pop music fan?

Page 7: Personalizing  & Recommender Systems

7

Content-Based Recommenders :: more examplesMusic recommendationsPlay list generation

Example: Pandora

Page 8: Personalizing  & Recommender Systems

8

Collaborative Recommender Systems

Page 9: Personalizing  & Recommender Systems

9

Collaborative Recommender Systems

Page 10: Personalizing  & Recommender Systems

10

Collaborative Recommender Systems

Page 11: Personalizing  & Recommender Systems

11

Collaborative Recommender Systems

http://movielens.umn.edu

Page 12: Personalizing  & Recommender Systems

12

Social / Collaborative Tags

Page 13: Personalizing  & Recommender Systems

Example: Tags describe the Resource

•Tags can describe• The resource (genre, actors, etc)• Organizational (toRead)• Subjective (awesome)• Ownership (abc)• etc

Page 14: Personalizing  & Recommender Systems

Tag Recommendation

Page 15: Personalizing  & Recommender Systems

These systems are “collaborative.” Recommendation / Analytics based on the

“wisdom of crowds.”

Tags describe the user

Rai Aren's profileco-author

“Secret of the Sands"

Page 16: Personalizing  & Recommender Systems

16

Social Recommendation

A form of collaborative filtering using social network dataUsers profiles

represented as sets of links to other nodes (users or items) in the network

Prediction problem: infer a currently non-existent link in the network

Page 17: Personalizing  & Recommender Systems

17

Example: Using Tags for Recommendation

Page 18: Personalizing  & Recommender Systems

18

Aggregation & Personalization across social, collaborative, and content channels

Page 19: Personalizing  & Recommender Systems

19

Page 20: Personalizing  & Recommender Systems

20

Page 21: Personalizing  & Recommender Systems

Build a content-based recommender for News stories (requires basic text processing and indexing of

documents) Blog posts, tweets Music (based on features such as genre, artist, etc.)

Build a collaborative or social recommender Movies (using movie ratings), e.g., movielens.org Music, e.g., pandora.com, last.fm

Recommend songs or albums based on collaborative ratings, tags, etc.

recommend whole playlists based on playlists from other users Recommend users (other raters, friends, followers, etc.), based

similar interests

21

Possible Interesting Project Ideas

Page 22: Personalizing  & Recommender Systems

22

The Recommendation Task

Basic formulation as a prediction problem

Typically, the profile Pu contains preference scores by u on some other items, {i1, …, ik} different from it preference scores on i1, …, ik may have been obtained explicitly

(e.g., movie ratings) or implicitly (e.g., time spent on a product page or a news article)

Given a profile Pu for a user u, and a target item it, predict the preference score of user u on item it

Given a profile Pu for a user u, and a target item it, predict the preference score of user u on item it

Page 23: Personalizing  & Recommender Systems

23

Collaborative Recommender Systems

Collaborative filtering recommenders Predictions for unseen (target) items are computed based the other

users’ with similar interest scores on items in user u’s profilei.e. users with similar tastes (aka “nearest neighbors”)requires computing correlations between user u and other users

according to interest scores or ratingsk-nearest-neighbor (knn) strategy

Star Wars Jurassic Park Terminator 2 Indep. Day Average PearsonSally 7 6 3 7 5.75 0.82Bob 7 4 4 6 5.25 0.96Chris 3 7 7 2 4.75 -0.87Lynn 4 4 6 2 4.00 -0.57

Karen 7 4 3 ? 4.67

K Pearson1 62 6.53 5

Can we predict Karen’s rating on the unseen item Independence Day?Can we predict Karen’s rating on the unseen item Independence Day?

Page 24: Personalizing  & Recommender Systems

24

Basic Collaborative Filtering Process

Neighborhood Formation Phase

Recommendations

NeighborhoodFormation

NeighborhoodFormation

RecommendationEngine

RecommendationEngine

Current User Record

HistoricalUser Records

user item rating

<user, item1, item2, …>

NearestNeighbors

CombinationFunction

Recommendation Phase

Page 25: Personalizing  & Recommender Systems

25

Collaborative Filtering: Measuring Similarities

Pearson Correlation weight by degree of correlation between user U and user J

1 means very similar, 0 means no correlation, -1 means dissimilar

Works well in case of user ratings (where there is at least a range of 1-5)

Not always possible (in some situations we may only have implicit binary values, e.g., whether a user did or did not select a document)

Alternatively, a variety of distance or similarity measures can be used

Average rating of user Jon all items.2 2

( )( )

( ) ( )UJ

U U J Jr

U U J J

Page 26: Personalizing  & Recommender Systems

26

Collaborative filtering recommenders Predictions for unseen (target) items are computed based the

other users’ with similar interest scores on items in user u’s profilei.e. users with similar tastes (aka “nearest neighbors)requires computing correlations between user u and other

users according to interest scores or ratingsStar Wars Jurassic Park Terminator 2 Indep. Day Average Pearson

Sally 7 6 3 7 5.75 0.82Bob 7 4 4 6 5.25 0.96Chris 3 7 7 2 4.75 -0.87Lynn 4 4 6 2 4.00 -0.57

Karen 7 4 3 ? 4.67

K Pearson1 62 6.53 5

Star Wars Jurassic Park Terminator 2 Indep. Day Average PearsonSally 7 6 3 7 5.75 0.82Bob 7 4 4 6 5.25 0.96Chris 3 7 7 2 4.75 -0.87Lynn 4 4 6 2 4.00 -0.57

Karen 7 4 3 ? 4.67

K Pearson1 62 6.53 5

prediction

Correlation to KarenCorrelation to KarenPredictions for Karen on Indep. Day based on the K nearest neighbors

Predictions for Karen on Indep. Day based on the K nearest neighbors

Collaborative Recommender Systems

Page 27: Personalizing  & Recommender Systems

27

Collaborative Filtering: Making Predictions

When generating predictions from the nearest neighbors, neighbors can be weighted based on their distance to the target user

To generate predictions for a target user a on an item i:

ra = mean rating for user a

u1, …, uk are the k-nearest-neighbors to a

ru,i = rating of user u on item I sim(a,u) = Pearson correlation between a and u

This is a weighted average of deviations from the neighbors’ mean ratings (and closer neighbors count more)

k

u

k

u uiuaia

uasim

uasimrrrp

1

1 ,,

),(

),()(

Page 28: Personalizing  & Recommender Systems

28

Example Collaborative System

Item1 Item 2 Item 3 Item 4 Item 5 Item 6 Correlation with Alice

Alice 5 2 3 3 ?

User 1 2 4 4 1 -1.00

User 2 2 1 3 1 2 0.33

User 3 4 2 3 2 1 .90

User 4 3 3 2 3 1 0.19

User 5 3 2 2 2 -1.00

User 6 5 3 1 3 2 0.65

User 7 5 1 5 1 -1.00

Bestmatch

Prediction

Using k-nearest neighbor with k = 1

Page 29: Personalizing  & Recommender Systems

29

Collaborative Recommenders :: problems of scale

Page 30: Personalizing  & Recommender Systems

30

Item-based Collaborative Filtering

Find similarities among the items based on ratings across users Often measured based on a variation of Cosine measure

Prediction of item I for user a is based on the past ratings of user a on items similar to i.

Suppose:

Predicted rating for Karen on Indep. Day will be 7, because she rated Star Wars 7 That is if we only use the most similar item Otherwise, we can use the k-most similar items and again use a weighted

average

Star Wars Jurassic Park Terminator 2 Indep. Day Average Cosine Distance Euclid PearsonSally 7 6 3 7 5.33 0.983 2 2.00 0.85Bob 7 4 4 6 5.00 0.995 1 1.00 0.97Chris 3 7 7 2 5.67 0.787 11 6.40 -0.97Lynn 4 4 6 2 4.67 0.874 6 4.24 -0.69

Karen 7 4 3 ? 4.67 1.000 0 0.00 1.00

K Pearson1 62 6.53 5

sim(Star Wars, Indep. Day) > sim(Jur. Park, Indep. Day) > sim(Termin., Indep. Day)

Page 31: Personalizing  & Recommender Systems

31

Item-based collaborative filtering

Page 32: Personalizing  & Recommender Systems

32

Item-Based Collaborative Filtering

Item1 Item 2 Item 3 Item 4 Item 5 Item 6

Alice 5 2 3 3 ?

User 1 2 4 4 1

User 2 2 1 3 1 2

User 3 4 2 3 2 1

User 4 3 3 2 3 1

User 5 3 2 2 2

User 6 5 3 1 3 2

User 7 5 1 5 1

Item similarity

0.76 0.79 0.60 0.71 0.75Bestmatch

Prediction

Page 33: Personalizing  & Recommender Systems

33

Collaborative Filtering: Evaluation

split users into train/test setsfor each user a in the test set:

split a’s votes into observed (I) and to-predict (P)measure average absolute deviation between

predicted and actual votes in PMAE = mean absolute error

average over all test users

Page 34: Personalizing  & Recommender Systems

Data sparsity problems

Cold start problem How to recommend new items? What to recommend to new

users?

Straightforward approaches Ask/force users to rate a set of items Use another method (e.g., content-based, demographic or

simply non-personalized) in the initial phase

Alternatives Use better algorithms (beyond nearest-neighbor approaches)

In nearest-neighbor approaches, the set of sufficiently similar neighbors might be too small to make good predictions

Use model-based approaches (clustering; dimensionality reduction, etc.)

Page 35: Personalizing  & Recommender Systems

Example algorithms for sparse datasets

Recursive CF Assume there is a very close neighbor n of u who has not yet rated the

target item i . Apply CF-method recursively and predict a rating for item i for

the neighbor Use this predicted rating instead of the rating of a more distant

direct neighbor

Item1 Item2 Item3 Item4 Item5

Alice 5 3 4 4 ?

User1 3 1 2 3 ?

User2 4 3 4 3 5

User3 3 3 1 5 4

User4 1 5 5 2 1

sim = 0.85

Predict rating forUser1

Page 36: Personalizing  & Recommender Systems

More model-based approaches

Many Approaches Matrix factorization techniques, statistics

singular value decomposition, principal component analysis Approaches based on clustering Association rule mining

compare: shopping basket analysis Probabilistic models

clustering models, Bayesian networks, probabilistic Latent Semantic Analysis

Various other machine learning approaches

Costs of pre-processing Usually not discussed Incremental updates possible?

Page 37: Personalizing  & Recommender Systems

Dimensionality Reduction

Basic idea: Trade more complex offline model building for faster online prediction generation

Singular Value Decomposition for dimensionality reduction of rating matrices Captures important factors/aspects and their weights in the data factors can be genre, actors but also non-understandable ones Assumption that k dimensions capture the signals and filter out noise (K

= 20 to 100)

Constant time to make recommendationsApproach also popular in IR (Latent Semantic Indexing),

data compression, …

Page 38: Personalizing  & Recommender Systems

A picture says …

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Bob Mary

Alice

Sue

Page 39: Personalizing  & Recommender Systems

Matrix factorization

VkT

Dim1 -0.44 -0.57 0.06 0.38 0.57

Dim2 0.58 -0.66 0.26 0.18 -0.36

Uk Dim1 Dim2

Alice 0.47 -0.30

Bob -0.44 0.23

Mary 0.70 -0.06

Sue 0.31 0.93 Dim1 Dim2

Dim1 5.63 0

Dim2 0 3.23

Tkkkk VUM

k

• SVD:

• Prediction: = 3 + 0.84 = 3.84

)()(ˆ EPLVAliceUrr Tkkkuui

Page 40: Personalizing  & Recommender Systems

Content-based recommendation

Collaborative filtering does NOT require any information about the items,

However, it might be reasonable to exploit such informationE.g. recommend fantasy novels to people who liked fantasy novels in

the past

What do we need:Some information about the available items such as the genre

("content") Some sort of user profile describing what the user likes (the

preferences)

The task:Learn user preferencesLocate/recommend items that are "similar" to the user preferences

Page 41: Personalizing  & Recommender Systems

41

Content-Based Recommenders

Predictions for unseen (target) items are computed based on their similarity (in terms of content) to items in the user profile.

E.g., user profile Pu contains

recommend highly: and recommend “mildly”:

Page 42: Personalizing  & Recommender Systems

Content representation & item similarities

Represent items as vectors over features Features may be items attributes, keywords, tags, etc. Often items are represented a keyword vectors based on textual

descriptions with TFxIDF or other weighting approachesHas the advantage of being applicable to any type of item (images,

products, news stories, tweets) as long as a textual description is available or can be constructed

Items (and users) can then be compared using standard vector space similarity measures

Page 43: Personalizing  & Recommender Systems

Content-based recommendation

Basic approach

Represent items as vectors over features User profiles are also represented as aggregate feature vectors

Based on items in the user profile (e.g., items liked, purchased, viewed, clicked on, etc.)

Compute the similarity of an unseen item with the user profile based on the keyword overlap (e.g. using the Dice coefficient)

sim(bi, bj) = Other similarity measures such as Cosine can also be used Recommend items most similar to the user profile

Page 44: Personalizing  & Recommender Systems

44

Combining Content-Based and Collaborative Recommendation

Example: Semantically Enhanced CF Extend item-based collaborative filtering to incorporate both

similarity based on ratings (or usage) as well as semantic similarity based on content / semantic information

Semantic knowledge about items Can be extracted automatically from the Web based on domain-

specific reference ontologies Used in conjunction with user-item mappings to create a

combined similarity measure for item comparisons Singular value decomposition used to reduce noise in the

content data

Semantic combination threshold Used to determine the proportion of semantic and rating (or

usage) similarities in the combined measure

Page 45: Personalizing  & Recommender Systems

45

Semantically Enhanced Hybrid Recommendation

An extension of the item-based algorithm Use a combined similarity measure to compute item similarities:

where, SemSim is the similarity of items ip and iq based on semantic

features (e.g., keywords, attributes, etc.); andRateSim is the similarity of items ip and iq based on user

ratings (as in the standard item-based CF) is the semantic combination parameter:

= 1 only user ratings; no semantic similarity = 0 only semantic features; no collaborative similarity

Page 46: Personalizing  & Recommender Systems

46

Semantically Enhanced CF

Movie data set Movie ratings from the movielens data set Semantic info. extracted from IMDB based on the following

ontology

Movie

Actor DirectorYearName Genre

Genre-All

Romance Comedy

Romantic Comedy

Black Comedy

Kids & Family

Action

Actor

Name Movie Nationality

Director

Name Movie Nationality

Movie

Actor DirectorYearName Genre

Movie

Actor DirectorYearName Genre

Genre-All

Romance Comedy

Romantic Comedy

Black Comedy

Kids & Family

Action

Genre-All

Romance Comedy

Romantic Comedy

Black Comedy

Kids & Family

Action

Actor

Name Movie Nationality

Actor

Name Movie Nationality

Director

Name Movie Nationality

Page 47: Personalizing  & Recommender Systems

47

Semantically Enhanced CF Used 10-fold x-validation on randomly selected test and training

data sets Each user in training set has at least 20 ratings (scale 1-5)

Movie Data SetRating Prediction Accuracy

0.71

0.72

0.73

0.74

0.75

0.76

0.77

0.78

0.79

0.8

No. of Neighbors

MA

E

enhanced standard

Movie Data Set Impact of SVD and Semantic Threshold

0.725

0.73

0.735

0.74

0.745

0.75

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Alpha

MA

E

SVD-100 No-SVD

Page 48: Personalizing  & Recommender Systems

48

Semantically Enhanced CF

Dealing with new items and sparse data sets For new items, select all movies with only one rating as the test data Degrees of sparsity simulated using different ratios for training data

Movie Data Set Prediction Accuracy for New Items

0.72

0.74

0.76

0.78

0.8

0.82

0.84

0.86

0.88

5 10 20 30 40 50 60 70 80 90 100 110 120

No. of Neighbors

MA

E

Avg. Rating as Prediction Semantic Prediction

Movie Data Set% Improvement in MAE

0

5

10

15

20

25

0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1

Train/Test Ratio

% Im

pro

vem

ent

Page 49: Personalizing  & Recommender Systems

49

Data Mining Approach to Personalization

Basic Idea generate aggregate user models (usage profiles) by discovering user

access patterns through Web usage mining (offline process)Clustering user transactionsClustering itemsAssociation rule miningSequential pattern discovery

match a user’s active session against the discovered models to provide dynamic content (online process)

Advantages no explicit user ratings or interaction with users enhance the effectiveness and scalability of collaborative filtering

Page 50: Personalizing  & Recommender Systems

50

Example Domain: Web Usage Mining

Web Usage Mining discovery of meaningful patterns from data generated by user access to

resources on one or more Web/application servers

Typical Sources of Data: automatically generated Web/application server access logs e-commerce and product-oriented user events (e.g., shopping cart

changes, product clickthroughs, etc.) user profiles and/or user ratings meta-data, page content, site structure

User Transactions sets or sequences of pageviews possibly with associated weights a pageview is a set of page files and associated objects that contribute

to a single display in a Web Browser

Page 51: Personalizing  & Recommender Systems

51

Personalization Based on Web Usage Mining

Offline Process

Web &ApplicationServer Logs

Data CleaningPageview Identification

SessionizationData Integration

Data Transformation

Data Preprocessing

UserTransactionDatabase

Transaction ClusteringPageview ClusteringCorrelation Analysis

Association Rule MiningSequential Pattern Mining

Usage Mining

Patterns

Pattern FilteringAggregation

Characterization

Pattern Analysis

Site Content& Structure

Domain Knowledge

AggregateUsage Profiles

Data Preparation Phase Pattern Discovery Phase

Page 52: Personalizing  & Recommender Systems

52

Personalization Based on Web Usage Mining:

Online Process

Recommendation EngineRecommendation Engine

Web Server Client BrowserActive Session

RecommendationsIntegrated User Profile

AggregateUsage Profiles

<user,item1,item2,…>

Stored User Profile

Domain Knowledge

Page 53: Personalizing  & Recommender Systems

53

Conceptual Representation of User Transactions or Sessions

A B C D E Fuser0 15 5 0 0 0 185user1 0 0 32 4 0 0user2 12 0 0 56 236 0user3 9 47 0 0 0 134user4 0 0 23 15 0 0user5 17 0 0 157 69 0user6 24 89 0 0 0 354user7 0 0 78 27 0 0user8 7 0 45 20 127 0user9 0 38 57 0 0 15

Session/user data

Pageview/objects

Raw weights are usually based on time spent on a page, but in practice, need to normalize and transform.

Page 54: Personalizing  & Recommender Systems

54

Web Usage Mining: clustering example

Transaction Clusters: Clustering similar user transactions and using centroid of each

cluster as a usage profile (representative for a user segment)

Support URL Pageview Description

1.00 /courses/syllabus.asp?course=450-96-303&q=3&y=2002&id=290

SE 450 Object-Oriented Development class syllabus

0.97 /people/facultyinfo.asp?id=290 Web page of a lecturer who thought the above course

0.88 /programs/ Current Degree Descriptions 2002

0.85 /programs/courses.asp?depcode=96&deptmne=se&courseid=450

SE 450 course description in SE program

0.82 /programs/2002/gradds2002.asp M.S. in Distributed Systems program description

Sample cluster centroid from CTI Web site (cluster size =330)

Page 55: Personalizing  & Recommender Systems

55

Using Clusters for Personalization

A.html B.html C.html D.html E.html F.htmluser0 1 1 0 0 0 1user1 0 0 1 1 0 0user2 1 0 0 1 1 0user3 1 1 0 0 0 1user4 0 0 1 1 0 0user5 1 0 0 1 1 0user6 1 1 0 0 0 1user7 0 0 1 1 0 0user8 1 0 1 1 1 0user9 0 1 1 0 0 1

A.html B.html C.html D.html E.html F.htmlCluster 0 user 1 0 0 1 1 0 0

user 4 0 0 1 1 0 0user 7 0 0 1 1 0 0

Cluster 1 user 0 1 1 0 0 0 1user 3 1 1 0 0 0 1user 6 1 1 0 0 0 1user 9 0 1 1 0 0 1

Cluster 2 user 2 1 0 0 1 1 0user 5 1 0 0 1 1 0user 8 1 0 1 1 1 0

PROFILE 0 (Cluster Size = 3)--------------------------------------1.00 C.html1.00 D.html

PROFILE 1 (Cluster Size = 4)--------------------------------------1.00 B.html1.00 F.html0.75 A.html0.25 C.html

PROFILE 2 (Cluster Size = 3)--------------------------------------1.00 A.html1.00 D.html1.00 E.html0.33 C.html

Original Session/user

data

Result ofClustering

Given an active session A B, the best matching profile is Profile 1. This may result in a recommendation for page F.html, since it appears with high weight in that profile.

Given an active session A B, the best matching profile is Profile 1. This may result in a recommendation for page F.html, since it appears with high weight in that profile.

Page 56: Personalizing  & Recommender Systems

56

Clustering and Collaborative Filtering :: clustering based on ratings: movielens

Page 57: Personalizing  & Recommender Systems

57

Clustering and Collaborative Filtering :: tag clustering example