2nd ACM international Conference on Recommender Systems( RecSys 2008 Context-Aware Recommender Systems October 23. 2008 Gedas Adomavicius U. of minnesota Alex Tuzhilin, New York University Quick Note on Terminology a Several terms have been used to describe recommender systems that can take advantage of contextual information a Google(as of October 19, 2008) 口 Context- aware context-aware recommender systems"(113 results) m"context-aware recommendations"(151 results contextual recommender systems"(11 results) contextual recommendations"(775 results) 口 Context-dependent context-dependent recommender systems"(5 results) context-dependent recommendations"(17 results) In this tutorial we use"context-aware"and"contextual", but the discussion is welcome regarding the most appropriate term
Context-Aware Recommender Systems Gedas Adomavicius, U. of Minnesota Alex Tuzhilin, New York University 2nd ACM International Conference on Recommender Systems (RecSys 2008) October 23, 2008 Quick Note on Terminology Several terms have been used to describe recommender systems that can take advantage of contextual information Google (as of October 19, 2008) Context-aware “context-aware recommender systems” (113 results) “context-aware recommendations” (151 results) Contextual “contextual recommender systems” (11 results) “contextual recommendations” (775 results) Context-dependent “context-dependent recommender systems” (5 results) “context-dependent recommendations” (17 results) In this tutorial, we use “context-aware” and “contextual”, but the discussion is welcome regarding the most appropriate term
Motivation Motivating EXamples: Context- Dependent Recommendations ■ Recommend a vacation 口 Winter vs. summer a Recommend a purchase(e-retailer) 口 Gift vs. for yourself ■ Recommend a movie O To a student who wants to see it on Saturday night with his girlfriend in a movie theater a Recommendations depend on the context a It is sometimes important to know not only what to recommend to whom but also under what circumstances
Motivation Motivating Examples: ContextDependent Recommendations Recommend a vacation Winter vs. summer Recommend a purchase (e-retailer) Gift vs. for yourself Recommend a movie To a student who wants to see it on Saturday night with his girlfriend in a movie theater Recommendations depend on the context It is sometimes important to know not only what to recommend to whom, but also under what circumstances
Rudimentary Contextual Recommendations: Amazon amazonicum Your Account Cat I Your Lists C Heb I ommended for you a Amazon makes sure that DIt is you 口Hasa"git” button a But there is much more to capturing and using contexts in recommendations Question: Does Context Matter? Matters enough for Amazon to add the gift button aC K Prahalad, Beyond CRM, MWorld/AMA, 2004 o C K Prahalad predicts: "Customer Context is the Next"Big Thing o The ability to reach out and touch customers anywhere at anytime ans that companies must deliver not just competitive products but Iso unique, real-time customer experiences shaped by custome ontext a Goal: Demonstrate that certain contextual information does matter in some recommendation applications D E.g., recommending a vacation in the winter or a movie to see on Saturday night with a girlfriend in a movie theate
Rudimentary Contextual Recommendations: Amazon Amazon makes sure that It is you Has a “gift” button But there is much more to capturing and using contexts in recommendations… John Doe’s Question: Does Context Matter? Matters enough for Amazon to add the “gift” button C.K. Prahalad, Beyond CRM, MWorld/AMA, 2004: C.K. Prahalad predicts: “Customer Context” is the Next “Big Thing” “The ability to reach out and touch customers anywhere at anytime means that companies must deliver not just competitive products but also unique, real-time customer experiences shaped by customer context” Goal: Demonstrate that certain contextual information does matter in some recommendation applications E.g., recommending a vacation in the winter or a movie to see on Saturday night with a girlfriend in a movie theater
Outline of the tutorial ■ What is context? a Incorporating context in recommender systems a conceptual framework a Different paradigms for contextual recommender a Additional capabilities for contextual recommender systems ■ Future directions What Is context?
Outline of the Tutorial What is context? Incorporating context in recommender systems: a conceptual framework Different paradigms for contextual recommender systems Additional capabilities for contextual recommender systems Future directions What Is Context?
What Is Context? (Palmisano et al. 2008) Conditions or circumstances affecting some thing(Webster) a 150( other definitions from various communities/disciplines D Presented in(Bazire& Brezillon, CONTEXTO5 O DM/CRM. those events which characterize the life of a customer and can determine a change in his/her preferences and status, and affect the customer's value for a company (Berry Linoff, 1997) D Context-aware systems: the location of the user, the identity of people near the user, the objects around, and the changes in these elements ( Schilt Theimer, 1994) 口 Marketing: the same mer may use different decision-making strategies and prefer nt products or brands under different contexts(Bettman et al. 199 Kotler 1992, Lussier& Olshavsky 1979, Klein Yadav 989, Bettman et al. 1991) a Conclusion: many different approaches and views! Context in Context-Aware Systems a Location of the user, identity of people and objects near the user(schilt Theimer, 1994) Date, season, temperature(Brown, Bovey, Chen 1997) Physical and conceptual statuses of interest to a user(Ryan, Pascoe, Morse 1997 a Any information which can characterize and is relevant to the interaction between a user and an application(Dey, Abowd Salber 2001)
What Is Context? (Palmisano et al. 2008) Conditions or circumstances affecting some thing (Webster) 150(!) other definitions from various communities/disciplines Presented in (Bazire & Brezillon, CONTEXT’05) DM/CRM: those events which characterize the life of a customer and can determine a change in his/her preferences and status, and affect the customer’s value for a company (Berry & Linoff, 1997) Context-aware systems: the location of the user, the identity of people near the user, the objects around, and the changes in these elements (Schilit & Theimer, 1994) Marketing: the same consumer may use different decision-making strategies and prefer different products or brands under different contexts (Bettman et al. 1991, Lilien & Kotler 1992, Lussier & Olshavsky 1979, Klein & Yadav 1989, Bettman et al. 1991) Conclusion: many different approaches and views! Location of the user, identity of people and objects near the user (Schilit & Theimer, 1994) Date, season, temperature (Brown, Bovey, & Chen 1997) Physical and conceptual statuses of interest to a user (Ryan, Pascoe, & Morse 1997) Any information which can characterize and is relevant to the interaction between a user and an application (Dey, Abowd & Salber 2001) Context in Context-Aware Systems
What Is Context in Recommender Systems? a Additional information besides information on users and Items. that is relevant to recommendations ■Re| evant in D Identifying pertinent subsets of data when computing recommendations a Building richer rating estimation models D Providing various types of constraints on recommendation outcomes ■ Examples D Exclude gift purchases when recommending products to you D Use only winter-based ratings when recommending a vacation in the winter Defining context via contextual Variables Taxono contextual information More vs granular context (levels of context) The contextual information K of a purchase Context K 1 level Personal K=a GitK=阝 n level Work K=al Other K=a2 Friend/Partner K=B12 Parent/other K=B34 Friend K=Bl Partner K=B2 Parent K=B3 Other K=B4 Finer
What Is Context in Recommender Systems? Additional information, besides information on Users and Items, that is relevant to recommendations Relevant in Identifying pertinent subsets of data when computing recommendations Building richer rating estimation models Providing various types of constraints on recommendation outcomes Examples: Exclude gift purchases when recommending products to you Use only winter-based ratings when recommending a vacation in the winter Taxonomy of contextual information More vs. less granular context (levels of context) The contextual information K of a purchase: Defining Context via Contextual Variables Context K Personal K=α Gift K=β Work K= α1 Other K= α2 Friend/Partner K=β12 Parent/Other K=β34 Friend K=β1 Partner K=β2 Parent K=β3 Other K=β4 Context K Personal K=α Gift K=β Work K= α1 Other K= α2 Friend/Partner K=β12 Parent/Other K=β34 Friend K=β1 Partner K=β2 Parent K=β3 Other K=β4 Rough Finer 1st level 2nd level 3rd level
EXample Temporal Contextual Variable a Time-related context can be described using a temporal hierarchy with multiple temporal relationships of varying granularity, e.g Tme(eg,2008.10.1911:59:59pm)Date (2008.10.19)→Year(2008) 口Tme(2008.10.1911:59:59pm)Hour(11pm) TimeofDay(evening) a Date(2008. 10.19)) Month(October), Season(Fall) o Date(2008.10.19)>DayofWeek(Sunday)> Time OfWeek(Weekend) Formalizing Contextual Information via Contextual variables a Formally, contextual information can be defined as a vector of contextual variables c=(C1,., cn) where c∈C OC=C1x.Cn denotes the space of possible values for a gIven context Each component C, is represented as a tree: it is defined as a hierarchical set of nodes(concepts) a If c EC, then c, represents one of the nodes in the hierarchy CI aC=(work, weekend), i.e., purchasing something for work on a weekend
Time-related context can be described using a temporal hierarchy with multiple temporal relationships of varying granularity, e.g., Time (e.g., 2008.10.19 11:59:59pm) Æ Date (2008.10.19) Æ Year (2008) Time (2008.10.19 11:59:59pm) Æ Hour (11pm) Æ TimeOfDay (evening) Date (2008.10.19) Æ Month (October) Æ Season (Fall) Date (2008.10.19) Æ DayOfWeek (Sunday) Æ TimeOfWeek (Weekend) Example: Temporal Contextual Variable Formalizing Contextual Information via Contextual Variables Formally, contextual information can be defined as a vector of contextual variables c = (c1,…,cn), where ci ∈Ci C = C1×…×Cn denotes the space of possible values for a given context Each component Ci is represented as a tree: it is defined as a hierarchical set of nodes (concepts) If ci ∈Ci , then ci represents one of the nodes in the hierarchy Ci Example: C = PurchaseContext × TemporalContext c = (work, weekend), i.e., purchasing something for work on a weekend
Obtaining context a Explicitly specified by the user D E.g., "I want to watch a movie at home with my parents a Observed or deduced by the system D Time( from system clock) Location(from GPS O Deduced from user's behavior(e.g, shopping for business or a How to obtain the context is a separate problem that lies beyond the scope of this tutorial D Significant research literature on obtaining inferring, and predicting context( e.g. for mobile computing) D We assume that the context is given incorporating Context in Recommender Systems A Conceptual Framework
Obtaining Context Explicitly specified by the user E.g., “I want to watch a movie at home with my parents” Observed or deduced by the system Time (from system clock) Location (from GPS) Deduced from user’s behavior (e.g., shopping for business or pleasure) Etc. How to obtain the context is a separate problem that lies beyond the scope of this tutorial Significant research literature on obtaining, inferring, and predicting context (e.g., for mobile computing) We assume that the context is given Incorporating Context in Recommender Systems: A Conceptual Framework
Traditional recommendation problem Quick Overview Two types of entities: Users and Items Utility of item i for user u is represented by some rating r where r∈ Rating) Each user typically rates a subset of items a Recommender system then tries to estimate the unknown ratings, i. e, to extrapolate rating function R based on the known ratings 口R: Users x Items→ Rating o I.e. two-dimensional recommendation framework a The recommendations to each user are made by offering his/her highest-rated items Rating estimation problem Multitude of existing traditional 2D recommendation techniques They are often classified by D Recommendation approach a Content-based, collaborative filtering, hybrid O Nature of the prediction technique a Heuristic-based. model-based
Traditional Recommendation Problem: Quick Overview Two types of entities: Users and Items Utility of item i for user u is represented by some rating r (where r∈Rating) Each user typically rates a subset of items Recommender system then tries to estimate the unknown ratings, i.e., to extrapolate rating function R based on the known ratings: R: Users × Items → Rating I.e., two-dimensional recommendation framework The recommendations to each user are made by offering his/her highest-rated items Rating Estimation Problem Multitude of existing traditional 2D recommendation techniques They are often classified by: Recommendation approach Content-based, collaborative filtering, hybrid Nature of the prediction technique Heuristic-based, model-based
Traditional Recommender Systems Content-Based Approaches a Heuristic approaches a Model-based approaches D Item similarity methods o Classification models ang 1995: Pazzani BiNsus, 1997, (Pazzani& Billsus 1997; Mooney Zhang et al. 2002) D Instance-based learning D One-class Naive Bayes classifier(Schwab et al. 2000) 口 Case-based reasoning D Latent-class generative models(Zhang et al. 2002) Traditional Recommender Systems: Collaborative Filtering Approaches a Heuristic approaches a Model-based approaches D Neighborhood methods User-based algorithms(Breese 2008)et al. 2008: Toscherera o D Matrix reduction method D Latent-class generative larity fusion(Wa D User-profile generative a User-based classifiers Matrix reduction methods 2000) erg et al.2001; Sanwaret al D Association rule mining(Lin 口 tem dependency0 et al. 1998: Heckeman et al
Traditional Recommender Systems: Content-Based Approaches Heuristic approaches Item similarity methods (Lang 1995; Pazzani & Billsus, 1997; Zhang et al. 2002) Instance-based learning (Schwab et al. 2000) Case-based reasoning (Smyth 2007) Model-based approaches Classification models (Pazzani & Billsus 1997; Mooney & Roy 1998) One-class Naïve Bayes classifier (Schwab et al. 2000) Latent-class generative models (Zhang et al. 2002) Traditional Recommender Systems: Collaborative Filtering Approaches Heuristic approaches Neighborhood methods User-based algorithms (Breese et al. 1998; Resnick et al. 1994; Sarwar et al. 1998) Item-based algorithms (Deshpande & Karypis 2004; Linden et al. 2003; Sarwar et al. 2001) Similarity fusion (Wang et al. 2006) Weighted-majority (Delgado & Ishii 1999) Matrix reduction methods (SVD, PCA processing) (Goldberg et al. 2001; Sarwar et al. 2000) Association rule mining (Lin et al. 2002) Graph-based methods (Aggarwal et al. 1999; Huang et al. 2004, 2007) Model-based approaches Matrix reduction methods (Takacs et al. 2008; Toscher et al. 2008) Latent-class generative model (Hofmann 2004; Kumar et al. 2001; Jin et al. 2006) User-profile generative model (Pennock et al. 2000; Yu et al. 2004) User-based classifiers (Billsus & Pazzani 1999; Pazzani & Billsus 1997) Item dependency (Bayesian) networks (Breese et al. 1998; Heckerman et al. 2000)