21
Context-Aware Recommender System: A Service-Oriented Approach Sofiane Abbar Sofiane Abbar , Mokrane Bouzeghoub, Stéphane Lopes PRiSM Labs, Versailles University

Context-Aware Recommender System: A Service-Oriented Approach Sofiane Abbar Sofiane Abbar, Mokrane Bouzeghoub, Stéphane Lopes PRiSM Labs, Versailles University

  • View
    222

  • Download
    2

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

6

CARS:Global Architecture

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

21

Thank you