1 Context Aware Recommender
System
2 Outline Intro: Does context matter? Context Incorporation: Algorithms
Definition: What is Context? Acquisition: How to collect context? Selection: How to identify the relevant context? Context Incorporation: Algorithms Context Filtering Context Modeling Other Challenges
3 Context Aware Rec Sys (CARS)
Pattern: User preferences change from contexts to contexts; It is necessary to adapt users’ preferences to dynamic situations; Examples Travel destination: in winter vs in summer Movie watching: with children vs with partner Restaurant: quick lunch vs business dinner Music: workout vs study
4 Context-Aware RecSys (CARS)
Traditional RS: Users × Items Ratings Contextual RS: Users × Items × Contexts Ratings It is a Multi-dimensional Data set
5 Recommendation Task in CARS
Rating Prediction for Top-N recommendation for
6 What is context ? Definition
There are no consistent agreements. But the widely used definition was given by Abowd et al. in 1999: “Context is any information that can be used to characterize the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and application, including the user and application themselves.”
7 Classification of contexts
Representative Context: Fully Observable and Static Interactive Context: Non-fully Obervable and Dynamic
8 CARS With Representative Context
Observed Context: Contexts are those variables which may change when a same activity is performed again and again. Examples: Watching a movie: time, location, companion, etc Listening to a music: time, location, emotions, occasions, etc Party or Restaurant: time, location, occasion, etc Travels: time, location, weather, transportation condition, etc
9 Context Acquisition How to Collect the context and user preferences in contexts? By User Surveys or Explicitly Asking for User Inputs Predefine context & ask users to rate items in these situations; Or directly ask users about their contexts in user interface; By Usage data The log data usually contains time and location (at least); User behaviors can also infer context signals;
10 Examples: Context Acquisition (RealTime)
11 Examples: Context Acquisition (Explicit)
12 Examples: Context Acquisition (Explicit)
13 Examples: Context Acquisition (Explicit)
Mobile App: South Tyrol Suggests
14 Examples: Context Acquisition (PreDefined)
15 Examples: Context Acquisition (PreDefined)
Google Music: Listen Now
16 Examples: Context Acquisition (User Behavior)
17 Context Selection and Identification
Which variables should be considered as contexts? How to select the most influential contextual variables? Those problems often happen in the “fully observed” and “static” categories in the classification of contexts. Example User profiles: age, gender, nationality, region, etc Movie features: genre, actors, year, director, etc Other variables: time, location, companions, etc Which variables should be considered as contexts??
18 Context Relevance and Context Selection
Apparently, not all of the context are relevant or influential By User Surveys e.g., which ones are important for you in this domain By Feature Selection e.g., Principal Component Analysis (PCA), Linear Discriminant Analysis (LDA) By Statistical Analysis or Detection on Contextual Ratings Statistical test, e.g., Freeman-HaltonTest Other methods: information gain, mutual information, etc Reference: Odic, Ante, et al. "Relevant context in a movie recommender system: Users’ opinion vs. statistical detection." CARS Workshop at ACMRecSys 2012
19 Current Problems or Conflicts
Which variables should be considered as contexts?? Some variables from the user profiles or item features are also considered as contexts, which creates confusion between CARS and content-based recommender systems. Some research simply blend the variables as contexts.
20 Context Identification Framework
Activity Structure: Subjects: group of users Objects: group of items/users Actions: the interactions within the activities Movie Seeing movies Music Listening to the music
21 Context Identification Framework
For each elements (subject, object, actions), there are attributes: So, what are the contexts? Rule1: the attributes of actions are considered as contexts Rule 2: some dynamic variables from user profiles could be considered as contexts too Rule 3: attributes from user account profiles could be considered as contexts. Eg. : account status, social ties From Tutorials at UMAP 2013 by Professor Bamshad Mobasher Reference:
22 CARS - Data Sets Public Data Set for Research Purpose
Food: AIST Japan Food, Mexico Tijuana Restaurant Data Movies: AdomMovie, DePaulMovie, LDOS-CoMoDaData Music: InCarMusic Travel: TripAdvisor, South Tyrol Suggests (STS) Mobile: Frappe Frappe is a large data set, others are either small or sparse Downloads and References:
23 How to incorporate contexts into RS?
HOW CONTEXTS INTERACTED WITH THE RS ALGORITHMS WHETHER NEW CARS ALGORITHMS REQUIRED TO BE DEVELOPED
24 How contexts interacted with the RS algorithms
There are three ways to build algorithms for CARS
25 Whether new CARS algorithms required to be developed
It can be simply categorized into: a).Transformation Algorithms A transformation is required, then all traditional RS algorithms can be applied to. Do NOT need to develop new CARS algorithms. Such as Dimensions as Virtual Items (DaVI) and context-aware splitting approaches (CASA). b).Adaptation Algorithms CARS algorithms are required, traditional algorithms modified. Such as context-aware matrix factorization (CAMF). can be
26 Context-aware Splitting Approaches (CASA)
CASA belongs to pre-filtering and transformation algorithms. There are three context-aware splitting approaches: 1). Item splitting by L. Baltrunas, F. Ricci, ACM RecSys, ). User splitting by A. Said et al, RecSys, 2011 3). UI splitting by Y. Zheng et al, RecSys, 2013 User splitting and UI splitting are two approaches derived from Item splitting, examined and evaluated by different authors.
27 Item Splitting The underlying idea is that the nature of an item, from the user's point of view, may change in different contextual conditions, hence it may be useful to consider it as two different items. (L. Baltrunas, F. Ricci, RecSys'09) – In short, contexts are dependent with items. Any dependent patterns involved in those ratings?
28 Item Splitting -- Example
29 Item Splitting Step 1. Choose a contextual condition to split each item; The selection process is done by measuring significance of rating differences (such as the two-sample t test); Step 2. Contexts are fused to items and removed from original multidimensional matrix. We get a 2D rating matrix, then traditional algorithms like CF, MF can be applied to; How to select an appropriate contextual conditions for splitting? Binary contextual condition Impurity criteria and significance test
30 Item Splitting – Binary Contextual Condition
Why use a binary condition? To alleviate or avoid cold-start problems!
31 Item Splitting – Impurity Criteria
There could be several binary context conditions, for example, “Pool” vs “Non-Pool”, “Home” vs “Non-Home”, “Weekend” vs “Non-Weekend”. Impurity criteria and significance test are used to make the selection. There are 4 impurity criteria for splitting by L. Baltrunas, et al, RecSys'09; tmean (t-test), tprop (z-test), tchi (chi-square test), tIG (Information gain) Take tmean for example, tmean, is defined using the two-sample t test and computes how significantly different are the means of the rating in the two rating subsets, when the split c (c is a context condition, e.g. location = Pool) is used. The bigger the t value of the test is, the more likely the difference of the means in the two partitions is significant (at 95% confidence value). Choose the largest one!
32 User Splitting and UI Splitting
Similarly, the splitting approach can be applied to user too! User Splitting: Instead of splitting items, it may be useful to consider one user as two different users, if user demonstrates significantly different preferences across contexts. (A. Said et al., ) In short, contexts are dependent with items. UI Splitting: simply a combination of item splitting and user splitting – both approaches are applied to create a new rating matrix – new users and new items are created in the rating matrix. (Y. Zheng, et al, RecSys 2013). In short, it fuses dependent contexts to users and items simultaneously at the same time.
33 An Example of Three CASA
After transformation: Item Splitting: User + NewItem; User Splitting: NewUser + Item; UI Splitting: NewUser + NewItem; UI Splitting fuses contexts to both users and items, where it may enlarge the contextual effects, but it also increases sparsity. It is hard to say whether UI splitting will outperform the other two algs or not. It varies from data to data.
34 Research problems… How to judge contexts are more dependent with users or items? Any numeric metrics to validate it? PS: Impurity values? no consistent patterns. How to alleviate the cold-start problems in UI splitting.
35 Location Aware Computing
36 Location-based Applications
Finding services based on location physical services (stores, restaurants, ATMs, . ) electronic services (hot spots, printers, . ) Using location to improve (network) services incoming or outgoing communications adapts to location Using location to provide information tourist guides advertisements Making others aware of user location presence (individual) popularity, movement (group) Security grant access based on user’s location
37 LBSN Recommendation Location Recommendations in LBSN
Recommend locations using a user’s location histories and community opinions Location bridges gap between physical world & social networks Existing Solutions Based on item/user collaborative filtering Similar users gives the similar ratings to similar items