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.
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
[ECWEB2012]Differential Context Relaxation for Context-Aware Travel Recommendation
1. Differential Context
Relaxation for
Context-Aware
Travel
Recomendation
Yong Zheng, Robin Burke, Bamshad Mobasher
Center for Web Intelligence
DePaul University
2. Recommender System
Any 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
5. 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
6. 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
8. 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
9. 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?
10. 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
11. 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
Pred(u , i ) ru
vN
wv (rv ,i rv )
w
vN
v
12. 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) r
vN
wv (rv,i rv )
u
w v
vN
13. 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) r
vN
wv (rv,i rv )
u
w v
vN
14. 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) r
vN
wv (rv,i rv )
u
w v
vN
15. 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?
16. 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
17. 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 (Klenosky
and 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
18. 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
19. 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
23. 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 workshop
Yong 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