SmarterDeals: A Context-aware Deal Recommendation System...

15
SmarterDeals: A Context-aware Deal Recommendation System based on the SmarterContext Engine Sahar Ebrahimi 1 , Norha M. Villegas 1,2,3 , Hausi A. M¨ uller 1,2 , and Alex Thomo 1 1 University of Victoria, Victoria, British Columbia, Canada 2 IBM Canada CAS Research, Markham, Ontario, Canada 3 Icesi University, Cali, Valle del Cauca, Colombia Abstract Daily-deal applications are popular implemen- tations of on-line advertising strategies that of- fer products and services to users based on their personal profiles. The current implementations are effective but can frustrate users with ir- relevant deals due to stale profiles. To ex- ploit these applications fully, deals must become smarter and context-aware. This paper presents SmarterDeals, our deal recommendation sys- tem that exploits users’ changing personal con- text information to deliver highly relevant of- fers. SmarterDeals relies on recommendation algorithms based on collaborative filtering, and SmarterContext, our adaptive context man- agement framework. SmarterContext pro- vides SmarterDeals with up-to-date informa- tion about users’ locations and product prefer- ences gathered from their past and present web interactions. For many deal categories the accu- racy of SmarterDeals is between 3% and 8% better than the approaches we used as baselines. For some categories, and in terms of multi- plicative relative performance, SmarterDeals outperforms related approaches by as much as 173.4%, and 37.5% on average. Copyright 2012 Sahar Ebrahimi, Norha M. Vil- legas, Hausi A. M¨ uller, and Alex Thomo. Permission to copy is hereby granted provided the original copyright notice is reproduced in copies made. 1 Introduction Daily-deal applications are marketing strategies widely used by businesses to advertise products and services using discount coupons. To receive daily-deal coupons, users must create their per- sonal profile by registering their personal infor- mation, and selecting relevant product or ser- vice categories from the list of available options. Using this information, daily-deal applications send offers that match the user’s profile. These solutions use different communication channels such as e-mail, short message services, social networks, mobile applications, and web sites. Groupon, 1 with approximately 51 million subscribers in 563 cities worldwide, is the most popular provider of coupons on-line [21]. Value creation in Groupon’s business model is based on the negotiation of attractive discounts with popular businesses, and the delivery of these dis- count offers to its subscribers via e-mail. De- spite the evident success of daily-deal businesses such as Groupon, their value creation and rev- enue generation can be considerably more ef- fective by improving the relevance of delivered coupons to users [11]. The delivery of irrelevant offers is a consequence of a lack of knowledge about user situations. To tackle this problem, daily-deal platforms must become smarter, that is, become context-aware. Context can be defined as any information useful to characterize entities that affect the sit- uation of users [1]. Moreover, context informa- 1 http://www.groupon.com 116

Transcript of SmarterDeals: A Context-aware Deal Recommendation System...

Page 1: SmarterDeals: A Context-aware Deal Recommendation System ...webhome.cs.uvic.ca/~thomo/papers/cascon12.pdf · SmarterDeals: A Context-aware Deal Recommendation System based on the

SmarterDeals: A Context-aware

Deal Recommendation System based on the

SmarterContext Engine

Sahar Ebrahimi1, Norha M. Villegas1,2,3, Hausi A. Muller1,2, and Alex Thomo1

1University of Victoria, Victoria, British Columbia, Canada2IBM Canada CAS Research, Markham, Ontario, Canada

3Icesi University, Cali, Valle del Cauca, Colombia

Abstract

Daily-deal applications are popular implemen-tations of on-line advertising strategies that of-fer products and services to users based on theirpersonal profiles. The current implementationsare effective but can frustrate users with ir-relevant deals due to stale profiles. To ex-ploit these applications fully, deals must becomesmarter and context-aware. This paper presentsSmarterDeals, our deal recommendation sys-tem that exploits users’ changing personal con-text information to deliver highly relevant of-fers. SmarterDeals relies on recommendationalgorithms based on collaborative filtering, andSmarterContext, our adaptive context man-agement framework. SmarterContext pro-vides SmarterDeals with up-to-date informa-tion about users’ locations and product prefer-ences gathered from their past and present webinteractions. For many deal categories the accu-racy of SmarterDeals is between 3% and 8%better than the approaches we used as baselines.For some categories, and in terms of multi-plicative relative performance, SmarterDealsoutperforms related approaches by as much as173.4%, and 37.5% on average.

Copyright © 2012 Sahar Ebrahimi, Norha M. Vil-legas, Hausi A. Muller, and Alex Thomo. Permission tocopy is hereby granted provided the original copyrightnotice is reproduced in copies made.

1 Introduction

Daily-deal applications are marketing strategieswidely used by businesses to advertise productsand services using discount coupons. To receivedaily-deal coupons, users must create their per-sonal profile by registering their personal infor-mation, and selecting relevant product or ser-vice categories from the list of available options.Using this information, daily-deal applicationssend offers that match the user’s profile. Thesesolutions use different communication channelssuch as e-mail, short message services, socialnetworks, mobile applications, and web sites.Groupon,1 with approximately 51 million

subscribers in 563 cities worldwide, is the mostpopular provider of coupons on-line [21]. Valuecreation in Groupon’s business model is basedon the negotiation of attractive discounts withpopular businesses, and the delivery of these dis-count offers to its subscribers via e-mail. De-spite the evident success of daily-deal businessessuch as Groupon, their value creation and rev-enue generation can be considerably more ef-fective by improving the relevance of deliveredcoupons to users [11]. The delivery of irrelevantoffers is a consequence of a lack of knowledgeabout user situations. To tackle this problem,daily-deal platforms must become smarter, thatis, become context-aware.Context can be defined as any information

useful to characterize entities that affect the sit-uation of users [1]. Moreover, context informa-

1http://www.groupon.com

116

Page 2: SmarterDeals: A Context-aware Deal Recommendation System ...webhome.cs.uvic.ca/~thomo/papers/cascon12.pdf · SmarterDeals: A Context-aware Deal Recommendation System based on the

tion is highly dynamic since the situations ofusers change over time [23]. Therefore, to de-liver relevant deals to users, the analysis of per-sonal information provided by the user duringthe registration process is neither enough noreffective. On the one hand, product categoriesthat were relevant to the user at registration-time may become irrelevant over time. On theother hand, demanding from users the manualregistration of changes in this information is in-convenient. Dealing with the dynamic natureof context information, in an instinctive way forthe user, is a big challenge for businesses to de-liver products and services based on the under-standing of personal concerns.

To support context-aware user-centricweb applications, we implemented theSmarterContext framework, a dynamiccontext management infrastructure that moni-tors the interactions of users with web entities(e.g., products offered in an on-line catalog) togather relevant context [25]. The informationgathered by the SmarterContext frameworkabout a particular user is stored into a persis-tent repository named personal context sphere(PCS). SmarterContext reasons aboutthis information to provide context-awareapplications such as daily-deal applicationswith information useful to understand users’situations and preferences.

This paper introduces SmarterDeals,our deal recommendation system that isaware of changing personal context informa-tion to deliver coupons highly relevant tousers. To improve the relevance of coupons,SmarterDeals implements an algorithmbased on collaborative filtering (CF) thatanalyzes similarities between users and obtaina set of potential relevant deal categoriesbased on context information (i.e., product andservice preferences) of similar users. Then,the accuracy of this list of potential relevantdeal categories is improved by correlating thesecategories with context information about theuser’s product and service preferences gatheredby SmarterContext. Finally, locationcontext is used to filter the recommendedcategories before their delivery to the user.Thus, our recommendation algorithm con-tributes to the improvement of the accuracy ofrecommendations using contextual information

provided by our SmarterContext solution.

Our contribution in this paper is a new recom-mendation algorithm based on traditional user-based CF techniques [3] and the approach usedby Bell and Koren [15] in the Netflix competi-tion [7]. In contrast to these approaches, ouralgorithm uses context information from dif-ferent users to improve the accuracy of daily-deal recommendations. Furthermore, sinceSmarterContext infers implicit context factsfrom explicit context observations, our recom-mendation algorithm takes into account alsocategories that could potentially be relevant tothe user, even when the user has not markedthem explicitly as relevant.

To validate our approach with real data,we used the Yelp academic data set [26] tosimulate the context information gathered bySmarterContext. For this, we transformedthe 271,418 product and service category rat-ings and the 65,411 real users of the Yelpdata set into Resource Description Framework(RDF) data compliant with context modelsin SmarterContext. The validation re-sults demonstrate the suitability of our context-aware recommendation approach. For manydeal categories the accuracy of SmarterDealsis between 3% and 8% better than the ap-proaches used as baselines. For some cate-gories, and in terms of multiplicative relativeperformance, SmarterDeals outperforms re-lated approaches by as much as 173.4%, and37.5% on average.

The remaining sections of this paper areorganized as follows. Section 2 provides anoverview of our SmarterContext solution.Section 3 explains our case study and thesimulation of context information provided bySmarterContext using the Yelp data set.Section 4 introduces the two approaches usedas baselines to evaluate our approach. Section 5explains our recommendation algorithm. Sec-tion 6 presents the validation results. Section 7discusses related work. Finally, Section 8 con-cludes the paper.

2 SmarterContext

The main components of SmarterContextare (i) the SmarterContext ontology, (ii)

117

Page 3: SmarterDeals: A Context-aware Deal Recommendation System ...webhome.cs.uvic.ca/~thomo/papers/cascon12.pdf · SmarterDeals: A Context-aware Deal Recommendation System based on the

the service-oriented software infrastructure, and(iii) the users’ PCSs. The SmarterContextontology, which includes several vocabular-ies, supports context representation and rea-soning [24]. The service-oriented infrastruc-ture provides the software components re-quired to manage the context information life-cycle: context gathering, processing, provision-ing, and disposal [25]. PCSs are reposito-ries that store the personal context data ofSmarterContext users in the form of RDFstatements [23].

2.1 Context Representation andReasoning

Context representation and reasoning inSmarterContext is supported by ourSmarterContext ontology. This ontologyexploits RDF [8] and OWL-Lite [22] to repre-sent context types and the relationships amongthem explicitly, and to infer implicit contextfacts from these context relationships.We designed SmarterContext as a modu-

lar ontology that supports vertical and horizon-tal extensibility [24]. Its foundational module,general context (GC), enables context represen-tation and reasoning for any problem domain.The application of the SmarterContext on-tology to a particular domain may imply thedefinition of several hierarchical levels. Forexample, to support context-awareness in thepersonal web (PW) [25] we derived from GCthe personal web context (PWC) module. ThePWC module supports context representationand reasoning in any problem domain of thePW. Similarly, to represent and reason aboutcontext information in on-line shopping appli-cations, for example in the case study presentedin this paper, we derived the shopping mod-ule from PWC. The namespaces of the mainmodules of the SmarterContext ontology aregc,2 pwc,3 and shopping.4 Table 1 presents thecontext entity types and context relationships(i.e., object properties) that are relevant to theSmarterDeals case study.

2http://smartercontext.org/vocabularies/gc/v5.0/gc.owl#

3http://smartercontext.org/vocabularies/pwc/v5.0/pwc.owl#

4http://smartercontext.org/vocabularies/shopping/v5.0/shopping.owl#

The SmarterContext engine processescontext using RDFS and OWL-Lite assertions,as well as user-defined rules at different levelsof the ontology. The context inference engineis provided by Jena.5 User-defined rules usedby the SmarterContext reasoning engine arebased on RDF-S and use the triple representa-tion of RDF descriptions.6

2.2 Context Management

A prerequisite for SmarterContext to man-age a user’s context information is the creationof the user’s PCS. For this, users register them-selves into the SmarterContext frameworkby providing some personal context informationsuch as age, gender, preferred location, and pre-ferred payment methods. They may decide toregister also web sites or applications compli-ant with SmarterContext. That is, applica-tions instrumented to interchange context infor-mation with the SmarterContext infrastruc-ture.One of the most relevant mechanisms

for gathering context information inSmarterContext is based on the mon-itoring of users’ web interactions. In oursmarter commerce case study [25], simple RDFsensors deployed at the context provider side(e.g., an on-line shopping application) keeptrack of “likes”, “wishes”, “rankings”, and“purchases” interactions performed by the user.From these interactions SmarterContext un-derstands what product and service categoriesare interesting to the user. Figure 1 representsthe RDF graph of a user’s ranking interactiongathered by SmarterContext. This graph iscomposed of two triples. The first one indicatesthat user Norha, represented by the subjectlabeled as norha.rdf#norha, ranked the productcategory represented by the object labeled asdeals:LatinRestaurant. Predicate pwc:rankedis the context relationship used to representranking (also known as rating) interactions. Inthe second triple, node deals:LatinRestaurantacts as the subject, and the literal with value4 acts as the object that represents the valuegiven by the user to this category. RDF graphs,serialized as RDF/XML messages, provide the

5http://jena.apache.org6http://smartercontext.org/examples/rulesv5.0.rules

118

Page 4: SmarterDeals: A Context-aware Deal Recommendation System ...webhome.cs.uvic.ca/~thomo/papers/cascon12.pdf · SmarterDeals: A Context-aware Deal Recommendation System based on the

Table 1: Context entities and context relationships of the SmarterContext ontology that arerelevant to the SmarterDeals application presented in this paper. Column Description indicateswhether the context type corresponds to a context entity or an object property (context relationship).

Context Type(Class)

Description Supertype

gc:ContextEntity Entity. The superclass of any context type. owl:Thing

gc:LocationContext Entity. The place of settlement or activity of an object. gc:ContextEntity

gc:GeoLocation Entity. The latitude and altitude that describe a physicallocation.

gc:PhysicalLocation

pwc:PWESite Entity. Any web site compliant with SmarterContext- e.g., an on-line store.

pwc:WebResource

pwc:User Entity. Any person registered into SmarterContext. gc:HumanEntity

shopping:ProductServiceCategory

Entity. A product or service category offered or adver-tised on-line - e.g., American restaurants.

pwc:WebEntity

gc:locatedIn Object property. Its value represents the location wherethe subject (an IndividualContext or LocationContextentity) is located in.

gc:locationRelationship

pwc:hasIntegrated Object property. Its value represents a context entitythat has been integrated into a PCS.

gc:associationRelationship

pwc:preferredLocation Object property. Its value defines the preferred locationof a user.

gc:locationRelationship

pwc:ranked Object property. An interaction to denote that the userhas given a ranking value to a context entity representedby the object.

pwc:userInteraction

shopping:relatedProductOrService

Object property. Denotes that two product or servicecategories are related to each other.

gc:associationRelationship

interoperability mechanism to exchange contextinformation between context consumers andproviders with the SmarterContext engine.

norha.rdf#norhadeals:La n

Restaurantspwc:ranked

pwc:rankingValuekk ll

4deals: h!p://smartercontext.org/vocabularies/rdf/

dealcategories.owl#

Context en ty

(RDF resource)

Context Rela onship

(RDF predicate)

Context value

(RDF XML literal)

Figure 1: The RDF graph representation of auser’s ranking interaction.

3 SmarterDeals: Our CaseStudy

The case study is inspired by Groupon. Ourgoal is to demonstrate how the accuracy the rel-evance of coupons delivered by deal applicationssuch asGroupon can be improved considerablyby taking into account the user’s personal con-text information.

3.1 Daily-Deals with Groupon

Groupon delivers daily coupons based on thepersonal information registered by the user dur-ing the sign-up process. This information cor-responds to the user’s favorite locations, gen-der, age, and favorite deal categories. Userscan edit their personal information at any time

119

Page 5: SmarterDeals: A Context-aware Deal Recommendation System ...webhome.cs.uvic.ca/~thomo/papers/cascon12.pdf · SmarterDeals: A Context-aware Deal Recommendation System based on the

through Groupon’s web or mobile applica-tions. Groupon allows users to share deal rec-ommendations by e-mail, as well as to broadcastthem to their social networks.Even though Groupon has been effective in

the accomplishment of its business goal, thecurrent implementation of its daily-deal appli-cation can frustrate users with irrelevant dealsdue to stale profiles. Groupon delivers offersof products and services by taking into accountonly the information registered by the user dur-ing the sign-up process. Nevertheless, most ofthis information gets out-of-date quickly. Indaily-deal applications location and preferreddeal categories are types of highly dynamic con-text information. With respect to the user’spreferred locations, Groupon delivers deals re-lated to the whole set of registered locations,which can include different cities. This prac-tice lacks location-aware filtering mechanismsthus compromising the effectiveness of deliveredcoupons. For example, for users who are fre-quent travelers, daily deals must be deliveredtaking into account the users’ current location,even if this location is not part of the user’slist of favorite locations. Regarding the list ofpreferred deal categories, sending coupons us-ing only the information registered during thesign-up process is ineffective, since the relevanceof deal categories is highly dependent on chang-ing context information such as location or timecontext. Hence, categories that could have beenrelevant yesterday, may no longer be relevanttoday nor in the near future. For example, auser whose kids are children may be interestedin children’s books today, but probably not in afew years from now. In Groupon, users mustchange their personal information and prefer-ences to preserve the relevance of received of-fers.

3.2 Daily-Deals withSmarterDeals

Figure 2 presents an overview ofSmarterDeals, our approach to personalcontext-aware daily-deal recommendations.Our application is composed of two mainartifacts: the recommendation engine andthe filtering and personalization module. ForSmarterContext to provide SmarterDeals

with personal context information, usersmust integrate SmarterDeals into theirPCSs. After completing this prerequisite,our SmarterContext framework providesSmarterDeals with personal context infor-mation about the user’s product and servicepreferences, and locations.Our recommendation engine exploits context

information about the user’s product or servicepreferences to predict daily-deal categories rele-vant to the user as follows. In the first step ourrecommendation algorithm correlates similari-ties among users based on the Pearson Correla-tion Coefficient (PCC) [20]. PCC ranges from -1, which indicates a negative correlation, to +1,which indicates a positive correlation betweentwo users. A value of 0 indicates no correla-tion. Users who have a PCC equal to or greaterthan 0.7 are considered similar enough in ourapproach.7 In the second step, our algorithmaggregates the ratings of product or service cat-egories given by users similar to the user whowill receive the recommendation, to predict therating of the corresponding product or servicecategory. SmarterDeals decides whether aproduct or service category is relevant to a userusing the predicted rating of the correspondingcategory. In this case study, as in the Yelp dataset, ratings range from 1 to 5, where 1 indicatesthe lowest level of relevance and 5 the highest.Our algorithm recommends categories with pre-dicted ratings equal to or greater than 4. Oncethe recommendation engine has predicted thelist of potential relevant categories, in the thirdstep SmarterDeals uses the Groupon’s ap-plication programming interface (API) to pro-vide users with business daily-deal offers filteredby the user’s locations and preferences.SmarterDeals, supported by

SmarterContext, improves the relevanceof daily product and service recommendationsdelivered to users by exploiting:

� up-to-date product and service categoriesgathered from web interactions performedby the users throughout their web experi-ences, and

7Any value between 0.5 and 1 can be used torepresent strong association between two variables. Weconsidered 0.7 as a suitable measure for this case study.https://statistics.laerd.com/statistical-guides/pearson-correlation-coefficient-statistical-guide.php

120

Page 6: SmarterDeals: A Context-aware Deal Recommendation System ...webhome.cs.uvic.ca/~thomo/papers/cascon12.pdf · SmarterDeals: A Context-aware Deal Recommendation System based on the

SmarterDealsContext-aware

personalized deals

API

Personal Context

Spheres

Recommendation Engine

Filtering and Personalization

Users’ Personal Context Available Business Deals

Users’ Preferences

(context)

User’s Loca!on

(context)

Poten!al

Relevant

Deals

Figure 2: SmarterDeals

� up-to-date information about current andpreferred users’ locations.

3.3 Simulating Context Data withthe Yelp Data Set

PCSs store personal context data in the formof RDF graphs. To validate our approach tosmarter deal recommendations with real data,we used the Yelp academic data set [26].

The Yelp data set includes 271,418 ratingsthat 65,411 real users have given to 6,900 lo-cal businesses. Ratings range from 1 to 5, andlocal businesses have been tagged with one ormany of the 365 product and service categoriesdefined by Yelp. We used the information ofthe Yelp data set to create 65,411 RDF graphs.Each graph simulates the context sphere of auser. Since in the Yelp data set users haverated businesses instead of products or services,we obtained favorite users’ product and servicecategories from the categories associated to thebusinesses rated by these users. The Yelp busi-nesses are located in 67 different cities across

North America. Users’ locations were obtainedfrom the locations of the businesses reviewed byeach user. Nevertheless, the set of cities relatedto businesses inGroupon differs from the set ofcities related to businesses in Yelp. Thus, to useGroupon’s API in SmarterDeals, for eachlocation associated to a user in Yelp, we consid-ered all of the nearby locations in Groupon.Therefore, if Groupon is unavailable in theuser’s relevant locations, we can still deliverGroupon deals related to nearby locations. Forthis, we extended the SmarterContext vo-cabulary that defines geographical locations toinclude the locations used by Groupon andYelp.8

Groupon defines 633 product and servicecategories classified into 18 general categorieswhereas, the Yelp data set contains 433 productor service categories with no hierarchies. 284 ofthese categories are exactly equal to those inGroupon. Thus, to recommend deals basedon the product and service categories definedby Groupon, we mapped manually the remain-ing 149 Yelp categories into similar Grouponcategories. SmarterContext classifies prod-ucts and services using the Google product tax-onomy [12]. For this case study, we extendedthis taxonomy by creating a complementaryontology, the deals ontology,9 from the set ofYelp product and service categories mapped toGroupon deal categories.

Since some Yelp’s users have a very smallnumber of ratings, we reduced the Yelp data setby considering only users who have at least 20ratings. The reduced data set has 58,069 ratingsgiven to 313 product or service categories by1,683 users. These 313 categories, now mappedinto Groupon categories, belong to 17 parentcategories. This set of 17 parent categories wasfurther reduced to 14 parent categories by elim-inating categories with less than 50 ratings con-sidered as not statistically significant.

8The SmarterContext geo vocabulary is availableat http://smartercontext.org/vocabularies/rdf/geo.rdf

9The deals ontology is available athttp://smartercontext.org/vocabularies/rdf/dealcategories.owl.

121

Page 7: SmarterDeals: A Context-aware Deal Recommendation System ...webhome.cs.uvic.ca/~thomo/papers/cascon12.pdf · SmarterDeals: A Context-aware Deal Recommendation System based on the

4 Collaborative Filtering

Collaborative filtering is a recommendationtechnique in which users receive recommenda-tions of items that have been positively ratedby other people with similar preferences [19].The goal of recommendation methods based oncollaborative filtering is to predict the unknownrating that a user may give to an item by con-sidering the ratings given to that item by otherusers.

4.1 Calculating Similarities

Our approach exploits similarities among usersto recommend product and service categories.The similarity level between a pair of users iscalculated based on similar ratings and prefer-ences. Collaborative filtering techniques basedon similarities among users are known as user-based collaborative filtering techniques [9, 18,20]. The similarity between a pair of userscan be calculated using different similarity mea-sures such as correlation-based (cf. Equation(1)) [20, 18] and cosine-based (cf. Equation(2)) [9, 19].

In these equations rui and ru′i are the ratingsgiven to item i by users u and u′, respectively.Iuu′ is the set of items co-rated by both users uand u′. In Equation (2) each user is defined asa vector of ratings. In this case the similaritybetween two users is measured by computing thecosine of the angle between the correspondingtwo vectors. Once similarities between users arecalculated, we can consider the top-N similarusers, or users having similarities greater thana desired threshold (i.e., 0.7 for this case study)as the users most similar to a given user.

4.2 Rating Prediction

The most important step in collaborative filter-ing is the prediction of the rating that a par-ticular user would give to an item. A com-mon approach to predict the value of an un-known rating rui given by user u to item i isthe use of an aggregate function of the ratingsgiven to item i by users similar to u. Equa-tion (3) presents three different aggregate func-tions commonly used for rating prediction incollaborative filtering systems [9, 18, 19]. Equa-

tion (3)(a) is known as simple average, Equation(3)(b) as weighted sum, and Equation (3)(c) asadjusted weighted sum. Multiplier k is used asa normalizing factor and usually is defined ask = 1/

∑u′∈U |sim(u, u

′)|, with U as the set

of users similar to user u. The average rat-ing of user u in Equation (3)(c) is defined asru = (1/|Su|)

∑i∈Su

rui, with Su as the set ofall items rated by user u [9].

4.3 Baseline Approaches

To evaluate our approach we used two wellknown recommendation methods as baselines.The first baseline approach is the traditionaluser-based collaborative filtering method [18,20]. Consider the user-ratings matrix presentedin Fig. 3. Rows correspond to users and columnsto items (e.g., product categories). Conse-quently, each cell represents the rating given bya particular user to the corresponding productcategory. The goal is to predict the unknownrating given by the active user u to product cat-egory i. That is, to calculate rui represented bythe highlighted cell. The first step is to findthe users that are similar to the active user.Similarity between users is calculated using thePearson Correlation Coefficient (PCC) method(cf. Equation (1)). Using a threshold of 0.7,we found u1 and u3 as the users similar to theactive user. To predict the unknown rating thisapproach uses weighted sum as the aggregationfunction (cf. Equation (3)(b)). This functionaggregates the ratings given to product categoryi by the users similar to the active user, ratingsr1i and r3i.

The second baseline approach is the one usedby Koren and Bell (winners of the Netflix prize)[15, 16]. They argue that collaborative filter-ing data are affected by systematic tendenciesfor some users to give higher ratings than oth-ers, and for some items to be better rated thanothers. To tackle these effects, they adjust col-laborative filtering using baseline predictors. Abaseline predictor for an unknown rating ru,i de-noted by bui encapsulates these effects that donot involve user-item interaction, and is calcu-lated as:

122

Page 8: SmarterDeals: A Context-aware Deal Recommendation System ...webhome.cs.uvic.ca/~thomo/papers/cascon12.pdf · SmarterDeals: A Context-aware Deal Recommendation System based on the

sim(u, u′) =

∑i∈Iuu′

(rui − ru)(ru′i − ru′)

√√√√√∑

i∈Iuu′

(rui − ru)2

∑i∈Iuu′

(ru′i − ru′)2

Equation 1. Correlation-based user similarity

sim(u, u′) = cos(u, u′) = u�u′

||u||2×||u′||2=

∑i∈Iuu′

ruiru′i

√√√√√∑

i∈Iuu′

r2ui

√√√√√∑

i∈Iuu′

r2u′i

Equation 2. Cosine-based user similarity

rui =1N

∑u′∈U

ru′i

(a) Simple average

rui = k∑u′∈U

sim(u, u′)× ru′i

(b) Weighted sum

rui = ru + k∑u′∈U

sim(u, u′)× (ru′i − ru′)

(c) Adjusted weighted sum

Equation 3. Rating prediction

bui = µ+ bu + bi

Equation 4. Baseline predictor

µ is the average rating over all of the itemsrated by all of the users, and bu and bi indi-cate the observed deviations of user u and itemi from the average, respectively:

bi =

∑u∈R(i)(rui − µ)

λ2 + |R(i)|

Equation 5. Item deviation

bu =

∑i∈R(u)(rui − µ− bi)

λ3 + |R(u)|

Equation 6. User deviation

Detailed explanations regarding the calcula-tion of bi and bu are provided in [16]. Korenand Bell demonstrated that 25 and 10 are typi-cal values for λ2 and λ3, respectively. We usedthe same values for the Yelp data set. Unknownratings are predicted using similarity measuresamong items. Since our approach is based onsimilarity among users, we modified Equation

123

Page 9: SmarterDeals: A Context-aware Deal Recommendation System ...webhome.cs.uvic.ca/~thomo/papers/cascon12.pdf · SmarterDeals: A Context-aware Deal Recommendation System based on the

i1

i2

i3

... ii

... in-1

in

u1

u2

u3

...

uu

...

um-1

um

Ac�ve

user

Users

similar to

ac�ve user

r1i

r3i

r ui

rui

= aggr( , ) = Equa�on 3(b)r1i

r3i

Figure 3: Traditional user-based collaborativefiltering approach

5.17 of [16] slightly to calculate unknown rat-ings as follows:

rui = bui +

∑v∈St(u) Suv(rvi − bvi)∑

v∈St(u) Suv

Equation 7. User-based unknown rating

v refers to any user with a similarity withuser u higher than the threshold t (i.e., 0.7),and St(u) denotes the set of all users similar tou. We call this approach Adjusted CollaborativeFiltering (ACF)

...

u1

u2

u3

...

uu

...

um-1

um

Ac ve

user

Users

similar to

ac ve user

Ra ngs used to

es mate

rui

= aggr( , ) = Equa on 7r1i

r3i

b i

Ra ngs used

to es mate bu

µ = overall average ra ng

i1

i2

i3

... ii

... in-1

in

r1i

r3i

r ui

Figure 4: ACF approach

Figure 4 presents an abstraction of the in-put for the application of ACF with user-based

similarities. The ratings used to calculate bi(cf. Equation (5)) correspond to the ratingsgiven to product i. Similarly, the ratings usedto calculate bu (cf. Equation (6)) correspond tothe ratings given by user u. The unknown ratingrui is calculated using Equation (7).

5 Our Recommendation Al-gorithm

Our recommendation algorithm is a variation ofACF, that applies to hierarchies of item cate-gories, where rating prediction is based on itemcategories that belong to the same parent cat-egory. That is, we calculate similarities amongitems whose immediate category belongs to thesame immediate super-category. We hypoth-esized that by partitioning items according totheir parent categories it is possible to improvethe accuracy of recommendations. This is be-cause aspects such as the sensitivity of the par-ent category may affect the ratings given byusers. For example, users may rate productsor services related to “Health & Fitness” morecarefully than those classified as “Nightlife”. Inthis case study, we partitioned the deal cate-gories to be recommended according to the par-ent categories defined by Groupon.Figure 5 illustrates our approach. Instead of

having an overall average rating µ, we calcu-late average ratings for each parent category P .Moreover, we compute the user’s observed de-viation bu for each parent category P . Thus,instead of having a unique bu per user, we havea buk for each parent category related to theitems rated by the corresponding user:

buk =

∑i∈Rk(u)

(rui − µk − bi)

λ3 + |Rk(u)|

Equation 8. User deviation for Pk

Rk(u) denotes the set of items rated by useru into parent category Pk, and µk denotes theaverage of ratings given to items classified intoparent category Pk (cf. the section of the matrixthat corresponds to the horizontal arrow in theupper part of Fig. 5).Similarity between users is calculated using

PCC with 0.7 as the threshold (cf. Equation

124

Page 10: SmarterDeals: A Context-aware Deal Recommendation System ...webhome.cs.uvic.ca/~thomo/papers/cascon12.pdf · SmarterDeals: A Context-aware Deal Recommendation System based on the

i1

i2

i3

... ii

... in-1

in

u1

u2

u3

...

uu

...

um-1

um

Ac�ve

user

Users

similar to

ac�ve user

r1i

r3i

rui

Ra�ngs used to

es�mate

rui

= aggr( , ) = Equa�on 7r1i

r3i

b i

Ra�ngs used

to es�mate buk

µ = par�al average ra�ng for

parent category kk

pk

p1

pt

Figure 5: Our recommendation approach

(1)) and bi is calculated as in ACF. Finally, theunknown rating rui given by the active user u toitem i is predicted with our proposed aggregatefunction (cf. Equation (7)), with bui = µk +buk + bi, with i ∈ Pk (cf. Fig. 5).

6 Validation

To evaluate our approach, for each existing ruirating, we created a new version of the Yelpdataset, Y−rui , with rui removed. Then, weapplied our approach and the two baseline ap-proaches to predict the deleted rating rui. Thepredicted rating rui may or may not be thesame as rui. In general, we are interested to seewhether the error eui = rui − rui is small. Werepeat this procedure for each existing ratingrui, i.e. we ran the algorithms as many timesas there are ratings in the dataset. This ex-haustive evaluation gives us a precise pictureof the quality of each approach. To measurethe effectiveness of each approach we used rootmean squared error (RMSE) as defined in Equa-tion (9), a widely accepted metric to assess theaccuracy of the values predicted by a model oran estimator with respect to the values actuallyobserved [13].

RMSE =

√√√√ ∑(u,i)∈TestSet

(eui)2

|TestSet|

Equation 9. Root mean squared error

Since our approach relies on partitions basedon parent categories, we designed our tests asfollows: First, we predict the rates for every sin-gle parent category independently. Second, wecompute the RMSE for each parent category.Third, we apply the procedure for every recom-mendation technique to predict deleted ratings.Table 2 presents our validation results.

Column Parent Category contains the 14Groupon’s parent categories included in thereduced Yelp data set. Columns Classic CF(C), ACF (A), and SmarterDeals (S) presentthe RMSE for the two baselines—the tradi-tional user-based collaborative filtering methodand ACF approach, and our context-driven ap-proach, respectively. Column (AiC), calculatedas a percentage (C − A)/C, corresponds to theimprovement of A over C. That is how betteris the error measure (RMSE) of ACF with re-spect to the traditional user-based recommen-dation method. Similarly, Column (SiC) repre-sents the improvement of SmarterDeals (S)over the traditional method (C), and is calcu-lated as a percentage (C − S)/C. Column SiC-AiC compares the improvement of S over C withrespect to the improvement of A over C. Finally,Column Relative Performance (RP), calculatedas a percentage (SiC − AiC)/SiC, representsthe relative improvement of our approach withrespect to ACF approach. Figure 6 presents theimprovement in terms of accuracy of ACF ap-proach (AiC), and our approach (SiC), with re-spect to the traditional user-based collaborativefiltering method (C). Figure 7 presents the rel-ative performance of SmarterDeals with re-spect to ACF approach.Our approach is about 8.1% more accurate

than classic CF and 1.3% than ACF. For abouthalf of the categories, SmarterDeals is morethan 2% better than ACF.To put these results in perspective, it is im-

portant to point out that the Netflix competi-tion, which carried a 1 million dollar prize, wasabout improving the RMSE compared to the

125

Page 11: SmarterDeals: A Context-aware Deal Recommendation System ...webhome.cs.uvic.ca/~thomo/papers/cascon12.pdf · SmarterDeals: A Context-aware Deal Recommendation System based on the

Table 2: Validation results

Parent CategoryClassic CF

(C)ACF (A)

SmarterDeals(S)

(AiC) (SiC) SiC-AiCRelative

Performance (RP)

Automotive 1.16 1.15 1.12 1.4% 3.9% 2.5% 173.4%

Financial Services 1.67 1.60 1.55 3.9% 6.8% 2.9% 74.8%

Real Estate 1.74 1.68 1.64 3.1% 5.3% 2.3% 73.2%

Health & Fitness 1.09 1.02 0.99 6.2% 9.3% 3.0% 48.4%

Beauty & Spas 1.17 1.08 1.04 7.4% 11.0% 3.5% 47.1%

Education 1.16 1.11 1.09 4.5% 6.6% 2.1% 45.5%

Travel 0.97 0.91 0.89 6.1% 8.4% 2.3% 36.8%

Food & Drink 0.95 0.87 0.85 8.1% 10.3% 2.2% 26.7%

Arts andEntertainment

0.93 0.86 0.84 7.2% 9.0% 1.9% 26.2%

Restaurants 0.95 0.87 0.86 8.7% 9.8% 1.1% 12.7%

Shopping 1.60 1.55 1.55 3.1% 3.3% 0.2% 7.6%

Nightlife 0.85 0.76 0.75 11.6% 12.2% 0.6% 5.3%

ProfessionalServices

0.90 0.78 0.80 12.6% 10.3% -2.3% -18.5%

Public Services& Government

1.11 0.98 1.03 11.8% 7.8% -4.0% -34.0%

Average 1.16 1.09 1.07 6.8% 8.1% 1.3% 37.5%

recommender system of Netflix by 10%.10

In terms of multiplicative relative perfor-mance, for some categories the accuracy ofSmarterDeals is much better than ACF’s(e.g., for Automotive our approach outperformsACF by 173.4%, and 37.5% on average).

There are two parent categories from the 14included in the tests, Professional Services andPublic Services and Government, for which ourmethod did not do very well. This seems at-tributable to the kind of business (service) thatthe users have rated. We hypothesize that thismay be because users rate service-type busi-nesses less carefully than the other ones.

7 Related Work

Several works have been proposed to take ad-vantage of context information in recommen-dation systems based on collaborative filter-ing [2, 4, 5, 10, 17]. Adomavicius and Tuzhilinproposed a multidimensional approach that rec-ommends items using contextual information,besides typical information about users’ profilesand items [2, 4]. They demonstrated that inmost cases the results of recommendation sys-tems are better when considering context infor-

10Most of the teams got improvements by less than2%.

mation. Moreover, they categorized contextualrecommendations into three categories: con-textual pre-filtering, contextual post-filteringand contextual modelling. In contextual pre-filtering, context is used to classify ratings ac-cording to specified context types before apply-ing the recommendation method [6]. In contex-tual post-filtering, the recommendation methodis applied first and then context information isused to filter the recommendations. In contex-tual modelling, context is directly integratedinto the model [14]. Our SmarterDealsapproach exploits contextual pre-filtering bycalculating average ratings according to par-ent categories (cf. Equation (8)). Most im-portantly, supported by SmarterContext,SmarterDeals exploits users’ preferences con-text gathered throughout their entire web expe-rience. In this way, the calculation of similar-ities between users, and the prediction of rat-ings exploit contextual information about usersgathered from the interactions of users with webapplications.

An approach closely related toSmarterDeals is the framework pro-posed by Anand and Mobasher [5]. Theirapproach, based on memory models fromcognitive science, proposes a user model basedon short-term memory (STM) that storescurrent interactions of the active user, and

126

Page 12: SmarterDeals: A Context-aware Deal Recommendation System ...webhome.cs.uvic.ca/~thomo/papers/cascon12.pdf · SmarterDeals: A Context-aware Deal Recommendation System based on the

2.00%

4.00%

6.00%

8.00%

10.00%

12.00%

14.00%

Autom

o ve

Finan

cial

Serv

ices

Real E

stat

e

Heal

th &

Fitn

ess

Beauty

& S

pas

Educa on

Trave

l

Food &

Drin

k

Arts a

nd

Entert

ainm

ent

Restau

rants

Shoppin

g

Nig

htlife

Profe

ssio

nal S

ervic

es

Public S

ervic

es &

Gove

rnm

ent

AiC SiC

Figure 6: Improvement of ACF (AiC), and SmarterDeals (SiC) with respect to classic CF (C)

-50.00%

0.00%

50.00%

100.00%

150.00%

200.00%

Autom

o ve

Finan

cial

Serv

ices

Real E

stat

e

Heal

th &

Fitn

ess

Beauty

& S

pas

Educa on

Trave

l

Food &

Drin

k

Arts a

nd Ente

rtai

nment

Restau

rants

Shoppin

g

Nig

htlife

Profe

ssio

nal S

ervic

es

Public S

ervic

es &

Gove

rnm

ent

RP

Figure 7: Relative performance of SmarterDeals (S) with respect to ACF (A)

a model based on long-term memory (LTM)that stores previous users’ rating interactions,as well as the context of these ratings. Theirapproach aims to enrich STM models withcontextually relevant ratings extracted fromLTM models to improve the accuracy of therecommendations. To improve the accuracy ofdeal recommendations, SmarterDeals not

only takes advantage of past and present userinteractions with a particular web application(e.g., a daily deal application), but also exploitspast and present users’ interactions with anyrelated web application (e.g., a shopping website the user visited previously).

Finally, SmarterDeals centers on usersrather than items. Item-based approaches, such

127

Page 13: SmarterDeals: A Context-aware Deal Recommendation System ...webhome.cs.uvic.ca/~thomo/papers/cascon12.pdf · SmarterDeals: A Context-aware Deal Recommendation System based on the

as the one used by Koren and Bell, model userpreferences based on similarities between items[16, 15]. In contrast, SmarterDeals recom-mends items based on similarities between users.Moreover, the management of the context infor-mation used to improve the accuracy of our rec-ommendation engine is controlled fully by theuser assisted by SmarterContext.

8 Conclusions

Even though the recent research on recom-mendation systems takes advantage of con-text information, existing e-commerce solutionssuch as daily-deal applications lack user-specificcontext-awareness. As a result, users are con-tinuously frustrated with offers of products andservices that, although generous, lack perti-nence with respect to users’ changing prefer-ences, needs and situations.

In this paper we presented SmarterDeals,our deal recommendation system that takesadvantage of context information about usersto improve the relevance of product and ser-vice recommendations delivered to users. Ourrecommendation engine, built on top of exist-ing recommendation approaches, exploits up-to-date context information about users main-tained by our SmarterContext frameworkto improve the accuracy of deal recommen-dations. Most importantly, since context in-formation is highly dynamic, the relevanceof recommendations with respect to user sit-uations is continuously compromised. Wetackle the dynamic nature of context withSmarterContext by guaranteeing contextmodels with up-to-date information. More-over, since in SmarterContext the user de-cides about the relevance of context informa-tion, the accuracy of our recommendation en-gine is highly improved.

We demonstrated the suitability ofSmarterDeals to recommend productsand services based on parent categories de-fined in Groupon. We did not include othercontextual dimensions different than userproduct preferences and location due to thelack of available real data sets containing usercontext information. Even though the Yelpdata set allowed us to validate our approach

partially, it does not contain other contexttypes supported by SmarterContext such associal relationships, calendar events, and timecontext.

Future work will focus on the validation of ourapproach in different application domains, andthe acquisition of new data sets that providebetter support in terms of context informationcompliant with SmarterContext.

Acknowledgements

This work was funded in part by the Na-tional Sciences and Engineering Research Coun-cil (NSERC) of Canada under the NSERCStrategic Research Network for Smart Appli-cations on Virtual Infrastructure11 (SAVI -NETGP 397724-10) and Collaborative Researchand Development program (CRDPJ 320529-04and CRDPJ 356154-07), IBM Corporation, Uni-versity of Victoria (Canada), and Icesi Univer-sity (Colombia).

About the Authors

Sahar Ebrahimi is a Master Student andResearch Assistant in the Department ofComputer Science, University of Victoria,Canada. Her research interests include recom-mender systems and context-aware softwareapplications. She received a Diploma Degreein Computer Engineering in 2004 from TarbiatMoallem University of Tehran, Iran and aMaster Degree in Computer Management in2007 from University of Pune, India.

Norha M. Villegas is a PhD candidate in theDepartment of Computer Science, Universityof Victoria, Canada. She is a CAS studentat the Center for Advanced Studies at theIBM Toronto Laboratory. Her dissertationfocuses on the application of dynamic contextmanagement techniques for the optimization ofself-adaptive software systems. She received aDiploma Degree in Systems Engineering and aGraduate Degree in Organizational InformaticsManagement in 2002 and 2004, from Icesi

11http://www.nsercpartnerships.ca/How-Comment/Networks-Reseaux/SAVI AIIV-eng.asp

128

Page 14: SmarterDeals: A Context-aware Deal Recommendation System ...webhome.cs.uvic.ca/~thomo/papers/cascon12.pdf · SmarterDeals: A Context-aware Deal Recommendation System based on the

University, Cali, Colombia.

Hausi A. Muller is a Professor, Departmentof Computer Science and Associate Dean of Re-search, Faculty of Engineering at University ofVictoria, Canada. Dr. Muller’s research inter-ests include software engineering, self-adaptiveand self-managing systems, context-aware sys-tems, and service-oriented systems. He receiveda Diploma Degree in Electrical Engineeringin 1979 from the Swiss Federal Institute ofTechnology (ETH), Zurich, Switzerland andMSc and PhD degrees in Computer Science in1984 and 1986 from Rice University in Houston,Texas, USA.

Alex Thomo is an Associate Professor andgraduate advisor in the Department of Com-puter Science, University of Victoria, Canada.His research interests include theoretical andpractical aspects of semi-structured and graphdatabases, social and biological networks,recommender systems, automata-based tech-niques, and index structures for textual data.Dr. Thomo received his PhD in ComputerScience from Concordia University, Montreal,Canada in 2003.

References

[1] G. D. Abowd, A. K. Dey, P. J. Brown,N. Davies, M. Smith, and P. Steggles. To-wards a Better Understanding of Contextand Context-Awareness. In Proceedings1st International Symposium on Handheldand Ubiquitous Computing (HUC 1999),volume 1707 of LNCS, pages 304–307.Springer, Sep. 1999.

[2] G. Adomavicius, R. Sankaranarayanan,S. Sen, and A. Tuzhilin. Incorporating Con-textual Information in Recommender Sys-tems Using a Multidimensional Approach.ACM Transactions on Information Sys-tems, 23(1):103–145, January 2005.

[3] G. Adomavicius and A. Tuzhilin. Towardthe Next Generation of Recommender Sys-tems: A Survey of the State-of-the-Artand Possible Extensions. IEEE Transac-

tions on Knowledge and Data Engineering,17(6):734–749, June 2005.

[4] G. Adomavicius and A. Tuzhilin. Context-Aware Recommender Systems. In Pro-ceedings 2008 ACM Conference on Recom-mender Systems, RecSys 2008, pages 335–336, New York, NY, USA, 2008. ACM.

[5] S. S. Anand and B. Mobasher. Contex-tual Recommendation. In B. Berendt,A. Hotho, D. Mladenic, and G. Semeraro,editors, From Web to Social Web: Dis-covering and Deploying User and ContentProfiles, pages 142–160. Springer-Verlag,Berlin, Heidelberg, 2007.

[6] L. Baltrunas. Exploiting Contextual Infor-mation in Recommender Systems. In Pro-ceedings 2008 ACM Conference on Recom-mender systems, RecSys 2008, pages 295–298, New York, NY, USA, 2008. ACM.

[7] R. M. Bell, K. Yehuda, and C. Volinsky.The BellKor Solution to the Netflix Prize.http://www.netflixprize.com/assets/ProgressPrize2007 KorBell.pdf, 2007.

[8] C. Bizer, T. Heath, and T. Berners-Lee.Linked Data — The Story So Far. Inter-national Journal on Semantic Web and In-formation Systems, 5(3):1–22, 2009.

[9] J. S. Breese, D. Heckerman, and C. Kadie.Empirical Analysis of Predictive Algo-rithms for Collaborative Filtering. In Pro-ceedings 14th conference on Uncertainty inArtificial Intelligence, UAI 1998, pages 43–52, San Francisco, CA, USA, 1998. MorganKaufmann Publishers Inc.

[10] A. Chen. Context-Aware Collaborative Fil-tering System: Predicting the User’s Pref-erences in Ubiquitous Computing. In Pro-ceedings 2005 Human Factors in Comput-ing Systems. Extended abstracts, CHI EA2005, pages 1110–1111, New York, NY,USA, 2005. ACM.

[11] Econsultancy - Digital MarketersUnited. Groupon: Your EmailMarketing is Failing your Fans.http://econsultancy.com/us/blog/7291-groupon-your-email-marketing-is-failing-your-audience.

129

Page 15: SmarterDeals: A Context-aware Deal Recommendation System ...webhome.cs.uvic.ca/~thomo/papers/cascon12.pdf · SmarterDeals: A Context-aware Deal Recommendation System based on the

[12] Google Inc. TheGoogle Product Taxonomy.http://support.google.com/merchants/bin/answer.py?hl=en&answer=160081, 2012.

[13] J. L. Herlocker, J. A. Konstan, L. G. Ter-veen, and J. T. Riedl. Evaluating Collab-orative Filtering Recommender Systems.ACM Transactions on Information Sys-tems, 22:5–53, 2004.

[14] A. Karatzoglou, X. Amatriain, L. Bal-trunas, and N. Oliver. Multiverse Rec-ommendation: N-Dimensional Tensor Fac-torization for Context-Aware CollaborativeFiltering. In Proceedings 4th ACM Con-ference on Recommender systems, RecSys2010, pages 79–86, New York, NY, USA,2010. ACM.

[15] Y. Koren. Factorization Meets the Neigh-borhood: a Multifaceted CollaborativeFiltering Model. In Proceedings 14thACM SIGKDD International Conferenceon Knowledge Discovery and Data Mining,KDD 2008, pages 426–434, New York, NY,USA, 2008. ACM.

[16] Y. Koren and R. M. Bell. Advancesin Collaborative Filtering. In F. Ricci,L. Rokach, B. Shapira, and P. B. Kan-tor, editors, Recommender Systems Hand-book, chapter 5, pages 145–186. Springer,Boston, MA, 2011.

[17] U. Panniello, A. Tuzhilin, M. Gorgoglione,C. Palmisano, and A. Pedone. Exper-imental Comparison of Pre- vs. Post-Filtering Approaches in Context-AwareRecommender Systems. In Proceedings 3rdACM Conference on Recommender Sys-tems, RecSys 2009, pages 265–268, NewYork, NY, USA, 2009. ACM.

[18] P. Resnick, N. Iacovou, M. Suchak,P. Bergstrom, and J. Riedl. GroupLens: AnOpen Architecture for Collaborative Filter-ing of Netnews. In Proceedings 1994 ACMconference on Computer Supported Coop-erative Work, CSCW 1994, pages 175–186,New York, NY, USA, 1994. ACM.

[19] B. Sarwar, G. Karypis, J. Konstan, andJ. Riedl. Item-based Collaborative Filter-ing Recommendation Algorithms. In Pro-ceedings 10th International Conference onWorld Wide Web, WWW 2001, pages 285–295, New York, NY, USA, 2001. ACM.

[20] U. Shardanand and P. Maes. Social In-formation Filtering: Algorithms for Au-tomating “Word of Mouth”. In Proceedings1995 CHI conference on Human Factorsin Computing Systems, CHI 1995, pages210–217, New York, NY, USA, 1995. ACMPress/Addison-Wesley Publishing Co.

[21] The Economist. Groupon Anxiety.http://www.economist.com/node/18388904.

[22] The World Wide Web Consortium (W3C).OWL Web Ontology Language Reference.http://www.w3.org/TR/owl-ref/, 2004.

[23] N. M. Villegas and H. A. Muller. Manag-ing Dynamic Context to Optimize SmartInteractions and Services. In M. Chignell,J. Cordy, J. Ng, and Y. Yesha, editors, TheSmart Internet: Current Research and Fu-ture Applications, volume 6400 of LNCS,pages 289–318. Springer, 2010.

[24] N. M. Villegas and H. A. Muller. TheSmarterContext Ontology and its Ap-plication to the Smart Internet: A SmarterCommerce Case Study. In M. Chignell,J. Cordy, J. Ng, and Y. Yesha, editors,Second Book on the Personal Web, LNCS.Springer, 2012 (in evaluation).

[25] N. M. Villegas, H. A. Muller, J. C. Munoz,A. Lau, J. Ng, and C. Brealey. ADynamic Context Management Infrastruc-ture for Supporting User-driven Web In-tegration in the Personal Web. In Pro-ceedings 2011 Conference of the Centerfor Advanced Studies on Collaborative Re-search (CASCON 2011), pages 200–214,Markham, ON, Canada, 2011. IBM Corp.

[26] Yelp Inc. Yelp’s Academic Dataset.http://www.yelp.com/academic dataset.

130