Effects of relevant contextual features in the performance of a restaurant recommender system
-
Upload
blanca-vargas-govea -
Category
Education
-
view
998 -
download
1
Transcript of Effects of relevant contextual features in the performance of a restaurant recommender system
Effects of relevant contextual featuresin the performance of a restaurant
recommender system
Blanca Vargas-Govea, Rafael Ponce-Medellın, Gabriel Gonzalez-Sernacenidet - Computer Science Department.
Cuernavaca, Mor., [email protected]
CARS-2011, October 23, 2011, Chicago, Illinois, USA.
Outline
1 Motivation
2 Surfeous-the test bed
3 Feature selection
4 Experiments
5 Conclusions
2 / 34
Context information / personalization
3 / 34
Looking for a restaurant?
4 / 34
Unexpected conditions?
5 / 34
A better option
6 / 34
How much context is useful?
7 / 34
How much context is useful?
8 / 34
How much context is useful?
9 / 34
How much context is useful?
10 / 34
How much context is useful?
11 / 34
How much context is useful?
12 / 34
A huge amount of data can be intrusive. Moreover, it doesnot necessary improve the system’s performance.
A lack of information can lead the system to generate poorrecommendations.
Approach: attribute selection, semantic models.
Goals
◮ Identification of relevant contextual attributes.◮ Reduction of dimensionality.◮ Analysis of the effects of contextual variables in the
predictive performance of the recommender system.
13 / 34
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 / 34
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 / 34
Contextual models
user (21)
environment (2)service (23)
16 / 34
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 / 34
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 / 34
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
19 / 34
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
20 / 34
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
21 / 34
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
22 / 34
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
23 / 34
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.
24 / 34
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 for25 / 34
Inconsistency criterion
ICS(A) = S(A)− maxk
Sk (A) (1)
Inconsistency rate
IR(S) =
∑A∈S ICS(A)
|S|(2)
S is a set of instances where A ∈ S, and k is the most frequentclass of the matching instances.
26 / 34
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
27 / 34
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).
28 / 34
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).
29 / 34
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)30 / 34
Precision Recall NDCGFusion D C DRules F C G
◮ Relevant attributes: hours, days, accepts, cuisine.
31 / 34
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.
31 / 34
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.
31 / 34
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.
31 / 34
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.
31 / 34
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.
31 / 34
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.
32 / 34
Effects of relevant contextual featuresin the performance of a restaurant recommender system
Blanca [email protected]
CARS-2011, October 23, 2011
33 / 34
Creative Commons licensed images
s04 - Outdoor restaurants05 - Gray umbrellas06 - Indoor restaurants14 - Sunnys14 - Red umbrellas14 - Indoor restaurants14 - Outdoor restaurants14 - Crowds14 - Chinese restaurants14 - Persian girls18 - Earths18 - Waffle
34 / 34
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.
34 / 34