Effects of relevant contextual features in the performance of a restaurant recommender system
1. Effects of relevant contextual features
in the performance of a restaurant
recommender system
´
Blanca Vargas-Govea, Rafael Ponce-Medell´n, Gabriel Gonzalez-Serna
ı
cenidet - Computer Science Department.
´
Cuernavaca, Mor., Mexico
blanca.vargas@cenidet.edu.mx
CARS-2011, October 23, 2011, Chicago, Illinois, USA.
2. Outline
1 Motivation
2 Surfeous-the test bed
3 Feature selection
4 Experiments
5 Conclusions
2 / 34
13. A huge amount of data can be intrusive. Moreover, it does
not necessary improve the system’s performance.
A lack of information can lead the system to generate poor
recommendations.
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
15. Surfeous: approaches
Social Contextual
[Tso-Sutter et al., 2008]
items
tags
Semantic web
users
items user tags
users R + R Tu
+
item user-based CF Semantic Web Rule Language
R Ti
tags item-based CF (SWRL)
15 / 34
17. Rules and relations: examples
user - service profile
person(X ) ∧ hasOccupation(X , student) ∧
restaurant(R) ∧ hasCost(R, low) → select(X , R)
user - environment profile
person(X ) ∧ isJapanese(X , true) ∧
queryPlace(X , USA) ∧ restaurant(R) ∧
isVeryClose(R, true) → select(X , R)
environment - service profile
currentWeather(today, rainy) ∧ restaurant(R) ∧
space(R, closed) → select(R)
Relations
likesFood(X , Y ) X : person, Y : cuisine-type
currentWeather(X , Y ) X : query, Y : weather
space(X , Y ) X : restaurant, Y : {closed, open}
17 / 34
18. Generating recommendations
1 2 3 ambiance
city cuisine
space
accepts
latitude
Surfeous gets the user Relations are created
location and searches for An ontology is created from the attributes of the
the closer restaurants in execution time restaurant profile
4 5 Results are
6 Fusion
ranked based context-free context
Person(?x) ^ hasAge(?x, ?y) ^ Ranking
1. ---------- on the number
swrlb:greaterThanOrEqual(?y, 12) ^
2. ---------- of context only-social only-rules
swrlb:lessThanOrEqual...
3. ---------- 0% 100%
rules that hold
SWRL is applied to match ... The social results are
for each
n. ---------- added
the context models user query
18 / 34
19. Generating recommendations
1 2 3 ambiance
city cuisine
space
accepts
latitude
Surfeous gets the user Relations are created
location and searches for An ontology is created from the attributes of the
the closer restaurants in execution time restaurant profile
4 5 Results are
6 Fusion
ranked based context-free context
Person(?x) ^ hasAge(?x, ?y) ^ Ranking
1. ---------- on the number
swrlb:greaterThanOrEqual(?y, 12) ^
2. ---------- of context only-social only-rules
swrlb:lessThanOrEqual...
3. ---------- 0% 100%
rules that hold
SWRL is applied to match ... The social results are
for each
n. ---------- added
the context models user query
19 / 34
20. Generating recommendations
1 2 3 ambiance
city cuisine
space
accepts
latitude
Surfeous gets the user Relations are created
location and searches for An ontology is created from the attributes of the
the closer restaurants in execution time restaurant profile
4 5 Results are
6 Fusion
ranked based context-free context
Person(?x) ^ hasAge(?x, ?y) ^ Ranking
1. ---------- on the number
swrlb:greaterThanOrEqual(?y, 12) ^
2. ---------- of context only-social only-rules
swrlb:lessThanOrEqual...
3. ---------- 0% 100%
rules that hold
SWRL is applied to match ... The social results are
for each
n. ---------- added
the context models user query
20 / 34
21. Generating recommendations
1 2 3 ambiance
city cuisine
space
accepts
latitude
Surfeous gets the user Relations are created
location and searches for An ontology is created from the attributes of the
the closer restaurants in execution time restaurant profile
4 5 Results are
6 Fusion
ranked based context-free context
Person(?x) ^ hasAge(?x, ?y) ^ Ranking
1. ---------- on the number
swrlb:greaterThanOrEqual(?y, 12) ^
2. ---------- of context only-social only-rules
swrlb:lessThanOrEqual...
3. ---------- 0% 100%
rules that hold
SWRL is applied to match ... The social results are
for each
n. ---------- added
the context models user query
21 / 34
22. Generating recommendations
1 2 3 ambiance
city cuisine
space
accepts
latitude
Surfeous gets the user Relations are created
location and searches for An ontology is created from the attributes of the
the closer restaurants in execution time restaurant profile
4 5 Results are
6 Fusion
ranked based context-free context
Person(?x) ^ hasAge(?x, ?y) ^ Ranking
1. ---------- on the number
swrlb:greaterThanOrEqual(?y, 12) ^
2. ---------- of context only-social only-rules
swrlb:lessThanOrEqual...
3. ---------- 0% 100%
rules that hold
SWRL is applied to match ... The social results are
for each
n. ---------- added
the context models user query
22 / 34
23. Generating recommendations
1 2 3 ambiance
city cuisine
space
accepts
latitude
Surfeous gets the user Relations are created
location and searches for An ontology is created from the attributes of the
the closer restaurants in execution time restaurant profile
4 5 Results are
6 Fusion
ranked based context-free context
Person(?x) ^ hasAge(?x, ?y) ^ Ranking
1. ---------- on the number
swrlb:greaterThanOrEqual(?y, 12) ^
2. ---------- of context only-social only-rules
swrlb:lessThanOrEqual...
3. ---------- 0% 100%
rules that hold
SWRL is applied to match ... The social results are
for each
n. ---------- added
the context models user query
23 / 34
24. Feature selection [Guyon & Elisseeff, 2003, Yu et al., 2004]
Generalities Procedures
◮ Machine learning.
◮ Predictive performance. Original
set
Subset
Generation
Subset Subset
Evaluation
◮ Storage requirements. Goodness
of subset
No Yes Result
Stopping
◮ Model understanding. Criterion Validation
◮ Data visualization.
It looks for
the minimum subset of attributes such that the resulting
probability distribution of the data classes is as close as
possible to the original distribution.
24 / 34
25. 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 = N
for i = 1 to Max do
S = randomSet(seed); C = numOfFeatures(S)
if C < Cbest then
if InconCheck(S,D) < γ then
Sbest = S; Cbest = C
Solutions = S
end if
else if C = Cbest and InconCheck(S,D) < γ then
append(Solutions, S)
end if
end for 25 / 34
26. Inconsistency criterion
ICS (A) = S(A) − max Sk (A) (1)
k
Inconsistency rate
A∈S ICS (A)
IR(S) = (2)
|S|
S is a set of instances where A ∈ S, and k is the most frequent
class of the matching instances.
26 / 34
27. Toy example
space price franchise smoking RatingA RatingB
1 i low n y 0 0
2 i low n y 1 0
3 i low n y 2 0
4 i low n y 1 1
5 i high n n 0 1
6 i high n n 1 1
7 i high n n 2 1
8 o high y n 1 1
9 o low n n 1 1
10 o low n y 2 2
subset A subset B
matching instances: 1, 2, 3, 4 matching instances: 1, 2, 3, 4
n = 4, classes = 0,1,2,1 largest = 1 (2 n = 4, classes = 0,0,0,1 largest = 0 (3
instances) instances)
Inconsistency count = 4 - 2 = 2 Inconsistency count = 4 - 3 = 1
matching instances: 5, 6, 7 matching instances: 5, 6, 7
n = 3, classes = 0,1,2 largest = 1 (1 n = 3, classes = 1,1,1 largest = 1 (3
instances) instances)
Inconsistency count = 3 - 1 = 2 Inconsistency count = 3 - 3 = 0
Inconsistency rate = (2+2)/10 = 4/10 = 0.4 Inconsistency rate = (1+0)/10 = 1/10 = 0.1
27 / 34
29. Tests with Surfeous
Purposes Experimental setup
◮ to identify relevant ◮ Leave one out.
contextual attributes.
◮ Seven subsets: All (23), B
◮ to show that with the (5), C-G (4).
minimum attribute subset,
the predictive performance ◮ 10 executions for each
is at least the same as with subset.
the whole attribute set, and
◮ Baseline: context-free,
◮ to analyze the effects of fusion (average of the
relevant contextual intervals between 0.1 and
attributes. 0.9) and context (only
rules).
29 / 34
30. Results: precision/recall/NDCG
0.09 0.35
0.08
0.30
0.07
0.25
0.06
type type
Precision
0.05 0.20
Recall
context.free context.free
0.04 0.15
fusion fusion
0.03
context 0.10 context
0.02
0.05
0.01
All B C D E F G All B C D E F G
subset subset
0.55
0.50
0.45
0.40
0.35 type
0.30
NDCG
context.free
0.25
fusion
0.20
0.15 context
0.10
0.05
All B C D E F G
subset
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
31. Precision Recall NDCG
Fusion D C D
Rules F C G
◮ Relevant attributes: hours, days, accepts, cuisine.
31 / 34
32. Precision Recall NDCG
Fusion D C D
Rules F C G
◮ Relevant attributes: hours, days, accepts, cuisine.
◮ For recall, the majority of the subsets outperformed the
context-free performance.
31 / 34
33. Precision Recall NDCG
Fusion D C D
Rules 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
34. Precision Recall NDCG
Fusion D C D
Rules 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
35. Precision Recall NDCG
Fusion D C D
Rules 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 factors
to make a choice.
31 / 34
36. Precision Recall NDCG
Fusion D C D
Rules 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 factors
to make a choice.
◮ Although the performance achieved by the semantic rules
is low, they provide the social approach with features that
enriches the decision process (recall). A deep analysis of
the set of rules is needed.
31 / 34
37. Conclusions and future work
◮ By using a reduced subset of attributes, the systems
performance was not degraded. Moreover, in the fusion
approach it has been improved.
◮ Feature selection techniques can contribute to improve the
efficiency of a contextual recommender system.
◮ Identification of relevant contextual features facilitates a
better understanding of the decision criteria of users.
◮ As part of our future work, we are extending the approach
to the three contextual models.
32 / 34
38. Effects of relevant contextual features
in the performance of a restaurant recommender system
Blanca Vargas-Govea
blanca.vargas@cenidet.edu.mx
CARS-2011, October 23, 2011
33 / 34
40. 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 filtering
algorithms.
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