View
222
Download
2
Tags:
Embed Size (px)
Citation preview
Context-Aware Recommender
System:
A Service-Oriented Approach
Sofiane AbbarSofiane Abbar, Mokrane Bouzeghoub, Stéphane Lopes
PRiSM Labs, Versailles University
2
Outline
Introduction
Global architecture of CARS
PAM: Personalized Access Model Context discovery service Contextualization service (contextual
profile) Binding service (Operational profile)
Simple Scenario of CARS
Conclusion & perspectives
3
Introduction (1)
Current Information Systems Deal with huge Data Deliver a massive results
Users are not able to distinguish relevant information/content from secondary one.
Recommender system Overcomes the informational overload problem Provides users with the most relevant contents Predict user’s rating: user x item rating
CF, CBF, Hybrid Netflix
con
test
4
Why considering context is important ?
User preferences/ratings change according to the context!
New ratings are simply added to old ones Different users may be very similar in a
given context (office) and different in others
All ratings are used to discover neighbors (CF) Time consuming
Handle multiple rating on the same content Different ratings on the same content are
simply aggregated
5
Toward a Context-Aware RS (CARS)
GOALA better RS is the one which delivers recommendations that
best match with users' preferences, needs and hopes at the right moment, in the right place and on the right media
A user interacting from different contexts may get different (appropriate) recommendations
Requirements Distinguishing profiles from contexts Enable contexts discovery Consider both profiles and contexts into recommendation
profile
context
•Domain of interest (music, movies)•Demographic data (age, gender) •Data quality requirement (freshness, accuracy)
•Location at the querying time (static, on move) •The media used (laptop, PDA, mobile phone) •The moment of the interaction
7
PAM: Personalized Access Model
A PAM provides a generic set of concepts and services to make applications adaptable to
users’ profiles and contexts.
Design Services
Runtime Services
Profile & ContextMatching
Profile - ContextBinding
Query Reformulation
Instantiation of Profiles
and Contexts
ProfileContextualisation
Update ofProfiles and
Contexts
Pro
file
& C
on
text
Met
a M
od
els
Profile & Context Access API
Services Access API
CONTEXT CATALOGPROFILE CATALOG
ContextDiscovery
[ABKL+08]
8
Focus 1. Context discovery Service (1/3)
Learn from user log files, the most recurrent contexts (situations) within which the user interacts in general.
W3C Log file format Widely-used and well-known format Extensible (10 general purpose fields) Five fields are contextual (contextual attributes)
date, time, c-ip, cs(UserAgent), c-device A conjunction of these five attributes represents a context
instanceIP Date Time Agent Device Content …
192.168.53.25
May 4 17h:00
winXP,En,Firefox5.0
PC-Dell Scientific paper
…
192.168.53.25
May 4 17h:10
winXP,En,Firefox5.0
PC-Dell Scientific paper
…
192.168.70.1
May 9 12h:00
MacOS X,En,Safari MacBook music …
192.168.70.1
May 9 20h:00
MacOS X,En,Opera
MacBook movie …
9
Focus 1. Context discovery service: algorithm(2/3)
Main Idea Group context instances into
clusters, each one representing a regular context (e.g. home, office, etc.)
Similarity of two context instances
Let c1 and c2 be two context instances:
Sim(c1,c2)=1/|c1| x SUM (sim(c1i, c2i))
Similarity between two values Contextual attributes takes values in
a hierarchy of values Combine shortest-path length (SPL)
and depth-relative scaling (DEPTH) metrics
Sim(v1,v2)= 1- SPL(v1,v2)/DEPTH(v1,v2)
10
Focus 1. Context discovery service:
algorithm(3/3) Inputs:
set of context instances L, threshold x
Output: set of regular contexts
Algorithm Apply Agglomerative
Hierarchical Clustering on L Estimate the number of cluster
and initialize clusters Apply K-means as an iterative
relocation algorithm Improve the initial clustering
obtained with AHC Stopping criterion: minimize the
squared error Each resulting cluster
corresponds to a regular context
L: context instances
X: threshold
AHC
K (initial) clusters
Min. squared error K-means
K regularcontexts
N
Y
11
Example
IP Date Time Agent Device Content
192.168.53.25
May 4 17h:00 winXP,En,Firefox5.0
PC-Dell Scientific paper
192.168.53.25
May 4 17h:10 winXP,En,Firefox5.0
PC-Dell Scientific paper
192.168.70.1 May 9 12h:00 MacOS X,En,Safari MacBook music
192.168.70.1 May 9 20h:00 MacOS X,En,Opera
MacBook movie
context Content
C1 Scientific paper
C1 Scientific paper
C2 music
C2 movie
12
Focus 2. Contextualization Service:Definition
Given a user profile, the owner may have different rating functions depending on his current context.
Main Idea Check whether there are correlations between
user profile elements (ratings) and contexts within which they were expressed
User Profile« Jean »
Context 1« Home »
Context 2« Office »
Context 3« Bus »
M 1
M 2
M 3
13
Focus 2. Contextualization Service:
Contextual user profile
User profile in traditional RS Set of ratings: Pu={R1,…,Rn} Ri=(pri, ri), pri=<attribute, operator, value>
Contextual user profileA set of contextual mappings relating user’s ratings to
his regular contexts
Sij is a real number expressing the importance of taking into account the rating Ri within the context cj
1,1,,,, sijCcjPuRisijcjRimCPu ij
14
Focus 2. Contextualization Service:
Contextual profile construction
measure the importance (sij) of each predicate pri, within each context cj
Preliminaries Two kind of activities: positive and negative Positive (resp. negative) importance of a predicate pri is
modeled as an association rules of the form <pri+> (resp.<pri->)
Positive (resp. negative) importance of a predicate is obtained by combining support and confidence of its corresponding rule
Inputs: user profile Pu, user Behavior H, threshold y Output: contextual profile CPu
For each predicate pri in Pu For each context cj
IF sij+(pri, cj)=aggregate(cf+,sp+) > y THEN CPu CPu U (Ri,cj,sij+)
IF sij-(pri, cj) =aggregate(cf-,sp-) > y THEN CPu CPu U (Ri,cj,sij-)
15
Focus 2. Contextualization Service: Example
Id ProfileId ContentId Feature ActionId ContextId
1 12 3 Horror + 1
Use
r behavio
ur
Exemple - : delete +: buy
Support (thriller, c1)=3/9 Confidence (thriller +, c1)=2/3 Importance+ (thriller, c1)=merge (3/9 , 2/3) = mean (3/9 , 2/3) = 1/2 Confidence (thriller -, c1)=1/3 Importance- (thriller, c1)=merge (3/9 , 1/3)= mean (3/9 , 2/3) = 1/3
16
Focus 3. Binding Service:definition
Idea. Dynamic identification of user profile parts which are related to the current context.
contextual profile content
Profile contentselection
Mappings score
considerationContextual user
Profile CPu
Active context c
Operational profile P’u
17
Focus 3. Binding service:Operational user profile
Adaptation of contextual profile to the active context
Operational profile: Set of contextual ratings OPu={CR1,
…,CRk} Each CRi = (pri, w) is derived from a
contextual mapping mia(Ri, ca, sia) | Ri=(pri,ri)
w is the aggregation of ri and sia
w=ri x sia w= (ri + sia)/2 w= sia
18
Application scenario:Target system
Hybrid recommender system Content-based filtering is used to learn the user
profile by analyzing content descriptors Collaborative filtering allows deriving a missing
rating based on the top k neighbors of the user. Basic Idea of CARS
Predict a rating a user u would give to a content o within a context c
Find the top k contextual neighbors of u in the context c
Two users can be very similar in the context c and different in the others
Aggregate ratings the Top k neighbors expressed over o
19
Application scenario:Example
ContextualProfile of
Active user
Operational Profile of
Active user
Active contextinstance
Contextualprofiles
Contextclusters
Context cluster
Recommendationrequest
Filter
Parser
Binding
Context-matcher Context-
matcher
Binding
Profile matching
Ratingaggregation
RatingContext (RC)
Contextual profile of
Candidate neighbors
Recommendatio
ns
Operational Profiles of
Candidate neighborsTopK neighbors
content
1
2
3
20
Conclusion We proposed a general architecture for
context-aware RS Extending the PAM with a new context
learning service Improvement of the contextualization
service by combining the support and confidence of association rules.
Perspective. Evaluation of the context discovery service Analysis of the data sparsity problem Implementation of a contextual benchmark to
evaluate the relevance of CARS recommendations