Effects of relevant contextual features in the performance of a restaurant recommender system

Preview:

Citation preview

Effects of relevant contextual featuresin the performance of a restaurant

recommender system

Blanca Vargas-Govea, Gabriel Gonzalez-Serna, Rafael Ponce-Medellıncenidet - Computer Science Department

blanca.vargas@cenidet.edu.mx

CARS-2011, October 23, 2011

Outline

1 Motivation

2 Surfeous-the test bed

3 Feature selection

4 Experiments

5 Conclusions

2 / 28

Context information / personalization

3 / 28

Looking for a restaurant?

4 / 28

Unexpected conditions?

5 / 28

A better option

6 / 28

How much context is useful?

7 / 28

How much context is useful?

8 / 28

How much context is useful?

9 / 28

How much context is useful?

10 / 28

How much context is useful?

11 / 28

How much context is useful?

12 / 28

A huge amount of data can be intrusive.

A lack of information can lead the system to generate poorrecommendations.

Approach: attribute selection, semantic models.

13 / 28

Prototype: Surfeous

Social

delicious

ugh

yum!awful superb noisy

slow

indoor outdoor

chinese sunny rainy

location

hungry

likes vegan

entrepreneur

age: 25

credit card

Context

14 / 28

Surfeous: approaches

Social

[Tso-Sutter et al., 2008]

itemstags

users

items

users

user tags

itemtags

user-based CF

item-based CF

R

RTi

RTu

+

+

Contextual

Semantic web

Semantic Web Rule Language(SWRL)

15 / 28

Contextual models

user (21)

environment (2)service (23)

16 / 28

Rules and relations: examples

user - service profileperson(X ) ∧ hasOccupation(X , student) ∧restaurant(R) ∧ hasCost(R, low) → select(X ,R)

user - environment profileperson(X ) ∧ isJapanese(X , true) ∧queryPlace(X ,USA) ∧ restaurant(R) ∧isVeryClose(R, true) → select(X ,R)

environment - service profilecurrentWeather(today , rainy) ∧ restaurant(R) ∧space(R, closed) → select(R)

RelationslikesFood(X ,Y ) X : person, Y : cuisine-typecurrentWeather(X ,Y ) X : query, Y : weatherspace(X ,Y ) X : restaurant, Y : {closed , open}

17 / 28

Generating recommendations

Surfeous gets the userlocation and searches for the closer restaurants

An ontology is createdin execution time

Relations are created from the attributes of therestaurant profile

SWRL is applied to matchthe context models

Results are ranked basedon the number of contextrules that hold for eachuser query

The social results are added

Person(?x) ^ hasAge(?x, ?y) ^swrlb:greaterThanOrEqual(?y, 12) ^swrlb:lessThanOrEqual...

Ranking1. ----------2. ----------3. ----------...n. ----------

0% 100%

context-free context

only-social only-rules

Fusion

city

latitude

spaceaccepts

cuisineambiance1 2 3

4 5 6

18 / 28

Feature selection [Guyon & Elisseeff, 2003 , Yu et al., 2004 ]

Generalities

◮ Machine learning.

◮ Predictive performance.

◮ Storage requirements.

◮ Model understanding.

◮ Data visualization.

Procedures

SubsetGeneration

SubsetEvaluation

ResultValidation

StoppingCriterion

Originalset Subset

Goodnessof subset

YesNo

It looks for

the minimum subset of attributes such that the resultingprobability distribution of the data classes is as close aspossible to the original distribution.

19 / 28

Algorithm LVF (Las Vegas Filter) [Liu & Setiono, 1996]

Input: maximum number of iterations (Max), dataset (D),number of attributes (N), allowable inconsistency rate (γ)Output: sets of M features satisfying the inconsistency crite-rion (Solutions)Solutions = ∅Cbest = Nfor i = 1 to Max do

S = randomSet(seed); C = numOfFeatures(S)if C < Cbest then

if InconCheck( S,D) < γ thenSbest = S; Cbest = CSolutions = S

end ifelse if C = Cbest and InconCheck(S,D) < γ then

append(Solutions,S)end if

end for20 / 28

Toy example

space price franchise smoking RatingA RatingB1 i low n y 0 02 i low n y 1 03 i low n y 2 04 i low n y 1 15 i high n n 0 16 i high n n 1 17 i high n n 2 18 o high y n 1 19 o low n n 1 110 o low n y 2 2

subset Amatching instances: 1, 2, 3, 4n = 4, classes = 0,1,2,1 largest = 1 (2instances)Inconsistency count = 4 - 2 = 2matching instances: 5, 6, 7n = 3, classes = 0,1,2 largest = 1 (1instances)Inconsistency count = 3 - 1 = 2Inconsistency rate = (2+2)/10 = 4/10 = 0.4

subset Bmatching instances: 1, 2, 3, 4n = 4, classes = 0,0,0,1 largest = 0 (3instances)Inconsistency count = 4 - 3 = 1matching instances: 5, 6, 7n = 3, classes = 1,1,1 largest = 1 (3instances)Inconsistency count = 3 - 3 = 0Inconsistency rate = (1+0)/10 = 1/10 = 0.1

21 / 28

Experiments

Data description

◮ 111 users.◮ 237 restaurants.◮ 1,251 ratings.◮ Rating values: 0,1,2.◮ Rating average: 11.2

ratings per user.

Ratings

Res

taur

ants

05

101520253035404550556065

0 5 10 15 20 25 30 35

Attribute selection

◮ Service contextual model.◮ Input: 5,802 instances.◮ Instance: vector of 23

attributes, class=rating.◮ Consistency selector

algorithm.◮ Best-first search.◮ Weka [Hall et al., 2009].

Minimum attribute subset

cuisine, hours, days, accepts,address (i.e.,78.26% from thewhole set).

22 / 28

Tests with Surfeous

Purposes

◮ to identify relevantcontextual attributes.

◮ to show that with theminimum attribute subset,the predictive performanceis at least the same as withthe whole attribute set, and

◮ to analyze the effects ofrelevant contextualattributes.

Experimental setup

◮ Leave one out.

◮ Seven subsets: All (23), B(5), C-G (4).

◮ 10 executions for eachsubset.

◮ Baseline: context-free,fusion (average of theintervals between 0.1 and0.9) and context (onlyrules).

23 / 28

Results: precision/recall/NDCG

subset

Pre

cisi

on

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

All B C D E F G

type

context.free

fusion

context

subset

Rec

all

0.05

0.10

0.15

0.20

0.25

0.30

0.35

All B C D E F G

type

context.free

fusion

context

subset

ND

CG

0.05

0.10

0.15

0.20

0.25

0.30

0.35

0.40

0.45

0.50

0.55

All B C D E F G

type

context.free

fusion

context

All (23), B (cuisine, hours, days, accepts, address), C (cuisine, hours, days),

D (hours, days, accepts, address), E(cuisine, days, accepts, address), F

(cuisine, hours, accepts, address), G (cuisine, hours, days, accepts)24 / 28

Precision Recall NDCGFusion D C DRules F C G

◮ Relevant attributes: hours, days, accepts, cuisine.

25 / 28

Precision Recall NDCGFusion D C DRules F C G

◮ Relevant attributes: hours, days, accepts, cuisine.◮ For recall, the majority of the subsets outperformed the

context-free performance.

25 / 28

Precision Recall NDCGFusion D C DRules F C G

◮ Relevant attributes: hours, days, accepts, cuisine.◮ For recall, the majority of the subsets outperformed the

context-free performance.◮ For precision and NDCG, fusion obtained similar

performance to the context-free approach.

25 / 28

Precision Recall NDCGFusion D C DRules F C G

◮ Relevant attributes: hours, days, accepts, cuisine.◮ For recall, the majority of the subsets outperformed the

context-free performance.◮ For precision and NDCG, fusion obtained similar

performance to the context-free approach.◮ Expected items appear in the top-5 list.

25 / 28

Precision Recall NDCGFusion D C DRules F C G

◮ Relevant attributes: hours, days, accepts, cuisine.◮ For recall, the majority of the subsets outperformed the

context-free performance.◮ For precision and NDCG, fusion obtained similar

performance to the context-free approach.◮ Expected items appear in the top-5 list.◮ Results suggest that the restaurant opening times and its

type of payment are likely to be the most important factorsto make a choice.

25 / 28

Precision Recall NDCGFusion D C DRules F C G

◮ Relevant attributes: hours, days, accepts, cuisine.◮ For recall, the majority of the subsets outperformed the

context-free performance.◮ For precision and NDCG, fusion obtained similar

performance to the context-free approach.◮ Expected items appear in the top-5 list.◮ Results suggest that the restaurant opening times and its

type of payment are likely to be the most important factorsto make a choice.

◮ Although the performance achieved by the semantic rulesis low, they provide the social approach with features thatenriches the decision process (recall). A deep analysis ofthe set of rules is needed.

25 / 28

Conclusions and future work

◮ By using a reduced subset of attributes, the systemsperformance was not degraded. Moreover, in the fusionapproach it has been improved.

◮ Feature selection techniques can contribute to improve theefficiency of a contextual recommender system.

◮ Identification of relevant contextual features facilitates abetter understanding of the decision criteria of users.

◮ As part of our future work, we are extending the approachto the three contextual models.

26 / 28

Effects of relevant contextual featuresin the performance of a restaurant recommender system

Blanca Vargas-Goveablanca.vargas@cenidet.edu.mx

CARS-2011, October 23, 2011

27 / 28

Guyon, I. & Elisseeff, A. (2003).An introduction to variable and feature selection.Journal of Machine Learning Research, 3, 1157–1182.

Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., & Witten,I. H. (2009).The WEKA data mining software: an update.SIGKDD Explorations Newsletter, 11, 10–18.

Liu, H. & Setiono, R. (1996).A probabilistic approach to feature selection - a filter solution.In 13th International Conference on Machine Learning (pp. 319–327).

Tso-Sutter, K. H. L., Marinho, L. B., & Schmidt-Thieme, L. (2008).Tag-aware recommender systems by fusion of collaborative filteringalgorithms.In Proceedings of the 2008 ACM symposium on Applied computing (pp.1995–1999). New York, USA.

Yu, L., Liu, H., & Guyon, I. (2004).Efficient feature selection via analysis of relevance and redundancy.

Journal of Machine Learning Research, 5, 1205–1224.

28 / 28

Recommended