[ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation
-
Upload
yong-zheng -
Category
Technology
-
view
439 -
download
1
description
Transcript of [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
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
Normal Recommendation
Restaurant1 Rating1
Profile
Restaurant2 Rating2
... ...
Context-Aware Recommendation
Restaurant1 Rating1
Profile
Restaurant2 Rating2
Context1
Context2
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
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
Relaxation
etc.
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
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?
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
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 ,
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
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
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
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?
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
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
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
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
Results
Optimal constraints
Sensitivity
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
Questions