24
Differential Context Relaxation for Context-Aware Travel Recomendation Yong Zheng, Robin Burke, Bamshad Mobasher Center for Web Intelligence DePaul University

[ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Embed Size (px)

DESCRIPTION

Context-aware recommendation (CARS) has been shown to be an effective approach to recommendation in a number of domains. However, the problem of identifying appropriate contextual variables remains: using too many contextual variables risks a drastic increase in dimensionality and a loss of accuracy in recommendation. In this paper, we propose a novel treatment of context – identifying influential contexts for different algorithm components instead of for the whole algorithm. Based on this idea, we take traditional user-based collaborative filtering (CF) as an example, decompose it into three context-sensitive components, and propose a hybrid contextual approach. We then identify appropriate relaxations of contextual constraints for each algorithm component. The effectiveness of context relaxation is demonstrated by comparison of three algorithms using a travel data set: a contenxt-ignorant approach, contextual pre-filtering, and our hybrid contextual algorithm. The experiments show that choosing an appropriate relaxation of the contextual constraints for each component of an algorithm outperforms strict application of the context.

Citation preview

Page 1: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Differential Context Relaxation for Context-Aware Travel Recomendation

Yong Zheng, Robin Burke, Bamshad MobasherCenter for Web IntelligenceDePaul University

Page 2: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Recommender SystemAny system that guides the user in a

personalized way to interesting or useful objects in a large space of possible options or that produces such objects as output.

Context-aware recommendation

means that our definition of “useful” includes contextual considerations

Page 3: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Normal Recommendation

Restaurant1 Rating1

Profile

Restaurant2 Rating2

... ...

Page 4: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Context-Aware Recommendation

Restaurant1 Rating1

Profile

Restaurant2 Rating2

Context1

Context2

Page 5: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Approaches to CARS Filtering discard all options not appropriate to context (either before or after)

Modeling build context into recommendation model

Critical question What contextual features matter?

The more context features we use The more options are filtered out The sparser the modeling space

Page 6: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Context as constraints We can view context-aware recommendation

as imposing additional constraints on recommendation Options must be suitable to the context

But we may be willing to relax these constraints to find nearby options

Page 7: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Relaxation

etc.

Page 8: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Context matching Assume we have a set of contextual features c c = < f1, f2, f3, ... fn >

Define a set of constraints, C

Two contexts c and d match relative to constraints C iff Each feature in c and d matches relative to the

corresponding constraint in C

Page 9: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Example: Hotel Ratings { trip type, days stayed, origin city, destination

city, month of departure }

c1 = {business, 3, Los Angeles, Chicago, July}

c2 = {business, 7, Seattle, Chicago, January}

Should they match or not?

Page 10: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Matching with constraints Two contexts c1 = {business, 3, Los Angeles, Chicago, July} c2 = {business, 7, Seattle, Chicago, January}

Cstrict = { (exact trip type), (exact duration), (exact origin), (exact destination), (exact month) } no match

Crelaxed = { (exact trip type), (any duration), (contained time_zone origin), (exact destination), (any month) } now the two contexts match

If we are predicting for a user in context c2, we would not use a rating with context c1, if we apply

constraint Cstrict we would use it, if we apply Crelaxed

Page 11: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Differential Context Relaxation The idea is to apply context to different

components of a recommendation algorithm

Rather than applying it in a uniform way

Example kNN collaborative recommendation via Resnick’s

algorithm

Nvv

Nv vivvu w

rrwriu

)(),(Pred ,

Page 12: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Component 1: Neighbors Original algorithm Select neighbors who have rated item i

Context-aware given context c Select neighbors who have rated item i in context

matching c, relative to constraint C1

Pred(u, i,c) ru wv (rv,i rvvN )

wvvN

Page 13: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Component 2: Peer Baseline Original algorithm Average over all of the ratings by a neighbor to

establish a baseline

Context-aware given context C Average over only those ratings matching c given

constraint C2

Pred(u, i,c) ru wv (rv,i rvvN )

wvvN

Page 14: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Component 3: User baseline Original algorithm Average over all of the target user’s ratings to

establish a baseline

Context-aware given context C Average over the target users ratings given in

contexts that match c, relative to constraint C3

Pred(u, i,c) ru wv (rv,i rvvN )

wvvN

Page 15: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Question How to choose C1, C2, C3 to make best use of the

context information

In other words what is the optimum relaxation of the contextual

constraint applied differentially to each algorithm component?

Page 16: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Data set Tripadvisor

Top 50 US cities

2,562 users

1,455 hotels

9,251 ratings

Fairly difficult recommendation task some work using “Trip Type” as a contextual variable

Page 17: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Context-linked features We decided to use user location and hotel location

as context features

Strictly speaking demographic content

However research in the travel domain (Klenoskyand Gitelson, 1998) shows these factors influence user’s expectations different standards for a California hotel vs a Nevada

one behave like contextual features

We call these “context-linked” features

Page 18: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Feature space trip type – solo, family, business, etc.

origin city contained state contained time zone

destination city contained state contained time zone

Total of 32 possibilities

Page 19: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Optimization 32 feature possibilities

3 components

323 = 32k possible constraint combinations

But possible to eliminate some possibilities

Example when averaging over a given user’s ratings user location is irrelevant will not filter anything out

Able to shrink to < 400 combinations enough for exhaustive search

Page 20: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Results

Page 21: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Optimal constraints

Page 22: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Sensitivity

Page 23: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Differential Context Relaxation Lets us incorporate context While managing the tradeoff between accuracy and coverage

Future considerations other algorithms F1 optimization constraint instead of binary matching, real-valued? instead of selection, weighting of features? scalable optimization

Stay tuned! RecSys CARS workshopYong Zheng, Robin Burke, Bamshad Mobasher. "Optimal Feature Selection for Context-Aware Recommendation using Differential Relaxation". Proceedings of the 4th International Workshop on Context-Aware Recommender Systems (CARS 2012) held in conjunction with the 6th ACM Conference on Recommender Systems (RecSys 2012), Dublin, Ireland, Sep 2012

Page 24: [ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation

Questions