tastelens: a context-aware and social graph based restaurant recommender system for mobile devices
DESCRIPTION
With the increasing popularity of mobile devices and mobile networks, people can get a soaring amount of information, anywhere, anytime. How to solve the problem of the current information overload and provide personalized recommendation services is an important research topic. This thesis exploits the check-ins of Facebook Open Graph to design a mobile restaurant recommender system, which is based on collaborative filtering. The system summarizes the group preferences from individual users check-in in order to provide group recommendation services. Furthermore, the system considers social graph and contextual information to enhance the recommendation quality. These contextual information includes location, distance, age, sex index, time of day, weekday, month, number of companion and type of companion. In this thesis, we also proposed a method to evaluate the impact of location and distance context. Our experimental data is collected from the 69 volunteers in Facebook, which includes the 8264 check-ins. These check-ins are contributed by 3928 users in 2691 different restaurants from 2010/8/15 to 2012/4/30. The experimental results reveal that the accuracy of our system can be increased by approximately 38% while suggest restaurants within the area of 3-5 km radius, compared to popularity-based recommendation. It means that the proposed system can provide better recommendations than popularity-based recommendations, if the user asks for a restaurant suggestion in a larger area.TRANSCRIPT
A Context-aware and Social Graph based Restaurant Recommender System for
Mobile Devices
GUO, YI-CHENG
2012/7/24
TasteLens
1
2
Outline
Introduction Motivation Objective
Background and Related Work
Context-aware
Social Graph and Open
Graph
Recommender Algorithm
A Context-aware and Social Graph based Restaurant Recommender System
Definition Proposed Solution
Implementation System Flow User Interface
Experiment and Evaluation Data Collection
Similarity Measures
Coefficients Tuning Evaluation
Conclusion Summary of Contributions
3
Outline
Introduction Motivation Objective
Background and Related Work
Context-aware
Social Graph and Open
Graph
Recommender Algorithm
A Context-aware and Social Graph based Restaurant Recommender System
Definition Proposed Solution
Implementation System Flow User Interface
Experiment and Evaluation Data Collection
Similarity Measures
Coefficients Tuning Evaluation
Conclusion Summary of Contributions
4
Motivation
• Restaurant Recommender System• Mobile Devices• Group Preferences• Context-awareness• Social Graph• Problems with Collaborative Filtering– Cold Start– Sparsity– Scalability
5
Problems with Collaborative FilteringU
ser
ItemNew User
Use
r
Item
Use
r
Item
New Item
Cold Start Sparsity Scalability
Big
No Ratings
6
Objective
• Design a restaurant recommender system for mobile devices using Open Graph in a cloud platform– Find the user and their friends preferences for
restaurant using Facebook Open Graph– Achieve Recommendation Service for Group– Contextual Information and Social Graph is
used to enhance the recommendation quality
7
Outline
Introduction Motivation Objective
Background and Related Work
Context-aware
Social Graph and Open
Graph
Recommender Algorithm
A Context-aware and Social Graph based Restaurant Recommender System
Definition Proposed Solution
Implementation System Flow User Interface
Experiment and Evaluation Data Collection
Similarity Measures
Coefficients Tuning Evaluation
Conclusion Summary of Contributions
8
Context-awareness
• Schilit and Theimer first proposed– Context-aware computing is the ability of a
mobile user’s applications to discover and react to changes in the environment they are situated in.
• Dey gave the following definition– A system is context-aware if it uses context to
provide relevant information and/or service to the user, where relevancy depends on the user’s task.
B. N. Schilit and M. M. Theimer. Disseminating active map information to mobile hosts. IEEE Network, 8:22–32, 1994.A. K. Dey. Understanding and using context. Personal and Ubiquitous Computing, 5(1):4–7, 2001.
9
Social Graph
志玲
德華力
宏
杰倫依
琳
伍佰
朋友情人
朋友
家人
同學
同事
情人
10
Open Graph
志玲
德華力
宏
杰倫依
琳
伍佰
朋友情人
朋友
家人
同學
同事
情人
麻婆豆腐鳳城
燒臘
椰林大道
哈利波特
閱讀
烹調打卡
慢跑
傅鐘
打卡
11
Recommender System
• A subclass of information filtering system• Predict the rating or preference that a user
would give to an item they had not yet considered.
• Approaches– Content-based– Collaborative Filtering– Hybrid Approach, etc.
Francesco Ricci and Lior Rokach and Bracha Shapira, Introduction to recommender Systems Handbook, Recommender Systems Handbook, Springer, 2011, pp. 1-35
12
Collaborative Filtering
• Based on collecting and analyzing a large amount of information– Behaviors– Activities– Preferences
• Predicting what users will like based on their similarity to other users
• Approaches– Memory-based– Model-based
Wikipedia contributors. Collaborative filtering. 1 June 2012 19:04 UTC 26 June 2012 17:17 UTC
13
Predict the score of the unknown rating
• k is the normalizing factor and is usually in the form of .
Adomavicius, G. and A. Tuzhilin, Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions. Knowledge and Data Engineering, IEEE Transactions on, 2005. 17(6): p. 734-749.
14
Measure the similarity between two users
• Distance-based:
• Correlation-based:
• Cosine-based:
15
Measure the similarity between two contexts
• Chen measures similarities between different context values and use similarities to get the weighted average of ratings
• The similarity weight of two context values x and y for an item i
• is the raw rating for the user u on an item i in context x
• U is the set of users who both have rated the item i in contexts x and y
A. Chen. Context-aware collaborative filtering system: Predicting the user’s preference in the ubiquitous computing environment. Location- and Context-Awareness, 3479:244–253, 2005.
16
Incorporating Context into Prediction
• Chen assumed that all context dimensions are linear independent
• is the weighted rating in current context c:
• The inner loops over each dimension in context• The outer loops over all the values in that
dimension• k is a normalizing factor
A. Chen. Context-aware collaborative filtering system: Predicting the user’s preference in the ubiquitous computing environment. Location- and Context-Awareness, 3479:244–253, 2005.
17
描繪協同過濾法的圖
志玲
德華力
宏
杰倫依
琳
伍佰
馬辣火鍋鳳城
燒臘
永和豆漿
梅江烤肉
打卡
打卡
打卡
打卡
貳樓餐廳
打卡
打卡
推薦推薦
打卡
18
描繪情境感知的圖
志玲
德華力
宏
杰倫依
琳
力宏
朋友情人
朋友
家人
同學
同事
同學
馬辣火鍋鳳城
燒臘
永和豆漿
梅江烤肉
中午打卡
晚上打卡
中午打卡
早上打卡
貳樓餐廳
晚上打卡
晚上打卡
晚上打卡
晚上打卡
19
描繪考慮社交圖的圖
志玲
德華力
宏
杰倫依
琳
力宏
朋友情人
朋友
家人
同學
同事
同學
馬辣火鍋鳳城
燒臘
永和豆漿
梅江烤肉
打卡
打卡
貳樓餐廳
打卡
打卡
打卡
20
Outline
Introduction Motivation Objective
Background and Related Work Context-aware Social Graph and Open Graph Recommender Algorithm
A Context-aware and Social Graph based Restaurant Recommender System Definition Proposed Solution
Implementation System Flow User Interface
Experiment and Evaluation Data Collection Similarity Measures Coefficients Tuning Evaluation
Conclusion Summary of Contributions
21
Objective Review
• Design a restaurant recommender system for mobile devices using Open Graph in a cloud platform– Find the user and their friends preferences for
restaurant using Facebook Open Graph– Achieve Recommendation Service for Group– Contextual Information and Social Graph is
used to enhance the recommendation quality
22
All possible context factors and their ranges
• Location (l)• Distance (d)• Age (a): {13~}• Sex index (s): {0~1}• Time of Day (td): {00:00~23:59}• Weekday (w): {Sun, Mon ,Tue, Wed, Thu, Fri, Sat}• Month (m): {Jan, Reb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct,
Nov, Dec}• Number of companion (nc): {1~}• Type of companion (tc): {Alone, Friend, Classmate, Colleague,
Family, Lover}• Companions(CS)
23
Definition 1 Context and Social Graph
• A request r of this system includes– A tuple– A set
• is function whose domain is the set of all user check-ins and context tuples
24
Definition 2 Data Set
• is the set of users• is the set of restaurants• is the set of check-ins, where and • is function whose domain is the set of all user
check-ins and preference ratings– 1 represents one visit– 2 represents two visits– 3 represents more than three visits
25
Definition 3 Context-aware and Social Graph based Prediction
• Given a set of restaurants P and a request r from user u
• The system should be able to predict the user preference rating for each restaurant
• The predicted rating should reflect the user’s taste and the influence of the context and the social graph
26
Definition 4 Recommendation Process
• Given a set of restaurants P and a request r from user u, and the predicted preference rating for each restaurant d D∈
• The system should be able to generate a list of restaurants sorted by predicted preference rating with size n
• where n is a small integer making the list suitable to display on the tiny screen of a mobile device
27
System Architecture and Data Model
FacebookGraph API Data
Request
Data transformation DB
RecommendationModule
Retrieval Module
A Context-aware and Social Graph based Restaurant Recommender System
Data
Request Mobile Devices
checkincheckin_id
author_uid
page_id
app_id
post_id
latitude
longitude
timestamp
tagged_uids
message
pagepage_id
name
categories
type
latitude
longitude
useruid
name
birthday_date
sex
significant_other_id
family_ids
employer_ids
school_ids
user_relationshipsuid
friend_ids
classmate_ids
colleague_ids
family_ids
lover_ids
28
Communication in this system
Mobile Devices
FacebookGraph API
RecommenderSystem
8. GET/object?acess_token=…
2. Redirect
3. GET OAuth Dialog
4. 302 Redirect including code parameter
6.GET/oauth/authorize
11. The suggested restaurant list
5. GET recommender system callback URL
7. Access token
9. Data (API response)
1. Login
10. Request a recommendation
29
Summarize ratings in a context
• Summarize ratings of a user u to a restaurant p in a context t:
• is the set of check-ins of the user u on restaurant p
30
Measure the similarity between two users
• Distance-based:
• Correlation-based:
• Cosine-based:
31
Predict the score of the unknown rating
• Predict the score of the unknownrating for companions CS on restaurant p in a context t:
• k is the normalizing factor:
32
Algorithm 1 recommendationAlgorithm 1 recommendation
Input: P, the set of all restaurant
u, the user
r, the user’s request
Output: M, the suggested restaurant list
M ⇐ {}
for all p ∈ P do
if distance(p, u) < then
M ⇐ M ∪ {p}
end if
end for
r.CS ⇐ r.CS ∪ u
r.t ⇐ summarize_context(r.t,r.CS)
for all p ∈ M do
rating ⇐ predict(r.CS, p, context(r))
assign_rating(p, rating)
end for
sort_by_rating(M)
M ⇐ M[1 : n]
return M
33
Algorithm 2 summarize_contextAlgorithm 2 summarize_context
Input: r, the user’s request
Output: r, the summary context
r.t.a <= avg_age(r.CS)
r.t.s <= sex_index(r.CS)
n ⇐ count(r.CS)
if (n = 1) then
r.t.tc <= Alone
else
R ⇐ {Friend : 0, Classmate : 0, Colleague : 0, Family : 0, Lover : 0}
for all cs1 ∈ r.CS do
for all cs2 ∈ r.CS do
if (cs1 != cs2) then
rel ⇐ relationship(cs1, cs2)
assign_point(R,rel)
end if
end for
end for
r.t.tc ⇐ relationship_of_max(R)
end if
return r
34
Measure the relevance of different context tuples
• Observe the similarity of different contexts from ratings
• Use a heuristic approach to measure the relevance of different contexts
• Relevance values are real numbers from 0 to 1• Relevance values are used to weight ratings
from different contexts
35
A context tuple t contains ninemembers
• Location (l)• Distance (d)• Age (a): {13~}• Sex index (s): {0~1}• Time of Day (td): {00:00~23:59}• Weekday (w): {Sun, Mon ,Tue, Wed, Thu, Fri, Sat}• Month (m): {Jan, Reb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct,
Nov, Dec}• Number of companion (nc): {1~}• Type of companion (tc): {Alone, Friend, Classmate,
Colleague, Family, Lover}
36
Model the relevance of two contexttuples
• Age (a)
• Sex Index (s)
• Time of Day (td)
37
Model the relevance of two contexttuples
• Weekday (w)
• Month (m)
• Number of Companion (nc)
38
Model the relevance of two contexttuples
• Type of Companion (tc)
Alone(α) Friend(β) Classmate(γ) Colleague(δ) Family(ε) Lover(ζ)
Alone 1
Friend 1
Classmate 1
Colleague 1
Family 1
Lover 1
39
The overall relevance between two contexttuples
40
Outline
Introduction Motivation Objective
Background and Related Work
Context-aware
Social Graph and Open
Graph
Recommender Algorithm
A Context-aware and Social Graph based Restaurant Recommender System
Definition Proposed Solution
Implementation System Flow User Interface
Experiment and Evaluation Data Collection
Similarity Measures
Coefficients Tuning Evaluation
Conclusion Summary of Contributions
41
System Flow
Call Graph API for user and all companions’ data
Web service returns
data in JSON format
More friends’
data available
Call Graph API for
friends’ data
Web service returns
data in JSON format
Stop
Decode JSON and
insert/update processed
data into DB
Decode JSON and
insert/update processed
data into DB
DB
Input:The user’s request with context
Yes
No
Recommendation Module Retrieval Module
42
System Flow
Predict user and all companions' rating for each restaurant in the context info and social graph
Generate a list of restaurants sorted by predicted rating with size n
DB
Use location and distance parameter to filter restaurant from DB
Stop
Use the user’s request to summarize context and social graph from DB
Preprocessing
Retrieval Module
Recommendation Module
43
The screenshot of using the web interface to view the map and find the restaurant
44
The screenshot of using the web interface to request a suggestion
45
Screenshots of using the mobile interface
46
Outline
Introduction Motivation Objective
Background and Related Work
Context-aware
Social Graph and Open
Graph
Recommender Algorithm
A Context-aware and Social Graph based Restaurant Recommender System
Definition Proposed Solution
Implementation System Flow User Interface
Experiment and Evaluation Data Collection
Similarity Measures
Coefficients Tuning Evaluation
Conclusion Summary of Contributions
47
The statistics of the collected data set
項目 數量受測者人數 69
使用者人數 25184
曾打卡的使用者人數 7395
地點個數 37305
打卡數量 74283
曾對餐廳打卡的使用者人數 3928
餐廳個數 2691
對餐廳的打卡數量 8264※ The collection is from August 25th 2010 to April 30th 2012
48
The statistics of the collected data set
項目 比率
受測者男女比 ( 男 / 女 ) 1.16 37 / 32
使用者男女比 ( 男 / 女 ) 1.13 13309 / 11763
曾對餐廳打卡的使用者男女比 ( 男 / 女 ) 0.87 1825 / 2088
曾對餐廳打卡的使用者比率 15.60% 3928 / 25184
種類為餐廳的地點比率 7.21% 2691 / 37305
公開年齡的使用者比率 60.40% 15212 / 25184
公開性別的使用者比率 99.56% 25072 / 25184
公開家鄉的使用者比率 30.90% 7782 / 25184
公開公司的使用者比率 47.10% 11861 / 25184
公開學校的使用者比率 80.12% 20178 / 25184
公開家人的使用者比率 60.83% 15319 / 25184
公開情人的使用者比率 15.90% 4003 / 25184
49
The statistics of the collected data set
項目 平均值 中位數 標準差 最大值 最小值
受測者朋友數 504.01 423 346.48 2200 34 n=69
受測者年齡 23.28 22 4.99 49 18 n=69
使用者年齡 23.52 22 5.87 107 13 n=25184
曾對餐廳打卡的使用者年齡
22.99 22 4.17 106 15 n=3928
使用者對餐廳的打卡次數
0.34 0 0.99 12 0 n=25184
使用者打卡過的餐廳個數
0.33 0 0.93 10 0 n=25184
餐廳被打卡的次數 3.23 2 6.31 224 1 n=2691
50
The statistics of the collected data set
項目 平均值 中位數 標準差 最大值 最小值
曾對餐廳打卡的使用者對餐廳的打卡次數
2.21 2 1.48 12 1 n=3928
曾對餐廳打卡的使用者打卡過的餐廳個數
2.10 2 1.35 10 1 n=3928
餐廳打卡的餐廳被打卡次數
1.05 1 0.29 10 1 n=8264
餐廳打卡的打卡者年齡
22.96 22 3.97 106 15 n=8264
餐廳打卡的同伴平均年齡
23.55 23 3.91 107 16 n=8264
餐廳打卡的同伴性別指標 ( 女 / 總數 )
0.56 1 0.48 1 0 n=8264
餐廳打卡的同伴人數 2.76 2 2.43 42 1 n=8264
51
The distribution of restaurants
項目 比率
餐廳打卡在大台北地區的比率 67.81% 5604 / 8264
餐廳在大台北地區的比率 48.94% 1317 / 2691
曾對大台北地區餐廳打卡的使用者比率 69.27% 2721 / 3928
52
The statistics of collected check-ins
2010/8
2010/10
2010/12
2011/2
2011/4
2011/6
2011/8
2011/1
0
2011/1
2
2012/2
2012/40
500
1000
1500
月份
餐廳
打卡
數量
Sunday
Monday
Tuesday
Wed
nesday
Thursday
Friday
Saturd
ay0
500100015002000
星期
餐廳
打卡
數量
0 3 6 9 12 15 18 210
200400600800
100012001400
時間
餐廳
打卡
數量
161718192021222324252627282930310
200
400
600
800
1000
打卡者年齡
餐廳
打卡
數量
53
The statistics of collected check-ins
161718192021222324252627282930310
200
400
600
800
1000
同伴平均年齡
餐廳
打卡
數量
1 2 3 4 5 6 7 8 9 100
500
1000
1500
2000
2500
3000
同伴人數
餐廳
打卡
數量
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 11
10
100
1000
10000
同伴性別指標
餐廳
打卡
數量
Friend
Classm
ate
Colleag
ue
Family
Lover10
100
1000
10000
兩位同伴類型
餐廳
打卡
數量
54
The statistics of collected check-ins
Friend
Classm
ate
Colleag
ue
Family
Lover10
100
1000
10000
三位以上同伴類型 ( 演算法總結 )
餐廳
打卡
數量
1 2 3 4 51
10
100
1000
10000
餐廳被打卡次數
餐廳
打卡
數量
1 2 3 4 50
200400600800
100012001400
餐廳被打卡次數
餐廳
數量
0 1 2 3 41
100
10,000
1,000,000
100,000,000
每對使用者共同打卡過的餐廳數量
總數
55
Sparsity Level
• The data set was converted into a binary user-restaurant matrix that had 3928 and 2691 columns
• This is defined as • The sparsity level for this data set is, therefore,
56
Leave-one-out cross-validation
Validation data Training data
Recommender
Evaluation
Recommender
Evaluation
Recommender
Evaluation
Accuracy
User check-in
User request with context
It take a user request with context as input and provide a top-N list of restaurants sorted by predicted rating.
Finally, calculate the ratio of hit data size to the training data size.
The goal is to look into the validation data and match restaurant with the top-N list.
57
The Scope of Distance Parameters
5 km
● Taipei Main Station
4 km
3 km
2 km
1 km
57
58
Impact of Similarity Measure on recommendation quality
Distance-based Correlation-based Cosine-based
10 Candi-dates
0.152357548763631 0.152357548763631 0.152357548763631
20 Candi-dates
0.205037628628475 0.205037628628475 0.205037628628475
30 Candi-dates
0.246198740592843 0.246198740592843 0.246198740592843
3%8%
13%18%23%28%
Acc
urac
y (%
)
59
Impact of Distance Parameter on recommendation quality
0 km 0.5 km 1 km 2 km 3 km 4 km 5 km Unlim-ited
10 candi-dates
0.855936108124
712
0.551374596836
123
0.381508216863
769
0.251267086469
052
0.190293349715
865
0.168944862540
316
0.152357548763
631
0.031792351405
3141
20 candi-dates
0.855936108124
712
0.697281523575
488
0.507909691291
66
0.353555521425
28
0.268775917677
776
0.230686530486
868
0.205037628628
475
0.048226078943
3267
30 candi-dates
0.855936108124
712
0.759944708954
078
0.596682537244
663
0.424512363692
213
0.324834894793
427
0.282752265397
02
0.246198740592
843
0.056980494547
6885
5%
25%
45%
65%
85%
Accu
ra
cy (
%)
60
Impact of Distance Parameter on recommendation quality
0.5 km 1 km 2 km 3 km 4 km 5 km
10 can-di-dates
0.43142144638404
0.30984274898078
0.205407303370787
0.151452991452991
0.131458580382856
0.121257735407259
20 can-di-dates
0.579001367989056
0.39131444496052
0.289320022603127
0.2085734870317
0.177496038034865
0.159841022982547
30 can-di-dates
0.670063694267516
0.483376623376623
0.342557059179964
0.254170571696345
0.217343578485181
0.182178932178932
5%
25%
45%
65%
Acc
ura
cy (
%)
※ Remove candidates is more than restaurants of the case
61
Coefficients Tuning
• Coefficients in equations for context comparison• Make preference restaurants more likely to appear at upper
position• Assume that every coefficient is independent• Search accuracy is restricted to 0.1• A coefficient is set to 0
– The corresponding context dimension is considered separately
• A coefficient is set to 1– The corresponding context dimension doesn’t have influence on
recommendation
• Search only restaurants with contextual influences (about 1.76% of the total)
62
Coefficients Search Process
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 105
101520253035
Coefficient Age
Pos
itio
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 105
101520253035
Coefficient Sex Index
Pos
itio
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 120
21
22
23
24
25
26
Coefficient Time of Day
Pos
itio
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 124
24.5
25
25.5
26
26.5
Coefficient Weekday
Pos
itio
n
63
Explain the Rapid Change
Item Rating
A 2
B 1
C 1
D 1
E 1
F 1
G 1
Item Rating
A 1.5
G 1
C 0.99
E 0.99
D 0.98
F 0.97
B 0.96
=1 =0.99
Age (a):
Validation data
Validation data
64
Coefficients Search Process
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 105
101520253035
Coefficient Month
Pos
itio
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 105
101520253035
Coefficient Number of Companion
Pos
itio
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 105
101520253035
Coefficient Alone-Friend
Pos
itio
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 124.6
24.8
25
25.2
25.4
Coefficient Alone-Classmate
Pos
itio
n
65
Coefficients Search Process
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 125.1
25.2
25.3
25.4
25.5
25.6
25.7
Coefficient Alone-Colleague
Pos
itio
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 125
25.2
25.4
25.6
25.8
26
Coefficient Alone-Family
Pos
itio
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 125.15
25.2
25.25
25.3
25.35
Coefficient Alone-Lover
Pos
itio
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 124
24.525
25.526
26.527
27.5
Coefficient Friend-Classmate
Pos
itio
n
66
Coefficients Search Process
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 124.4
24.6
24.8
25
25.2
25.4
Coefficient Friend-Colleague
Pos
itio
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 124.8
25.2
25.6
26
26.4
Coefficient Friend-Family
Pos
itio
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 125
25.0525.1
25.1525.2
25.2525.3
25.35
Coefficient Friend-Lover
Pos
itio
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 124.95
25.05
25.15
25.25
25.35
Coefficient Classmate-Colleague
Pos
itio
n
67
Coefficients Search Process
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 124
25
26
27
Coefficient Classmate-Family
Pos
itio
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 125.2
25.25
25.3
Coefficient Classmate-Lover
Pos
itio
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 125.2
25.3
25.4
25.5
Coefficient Colleague-Family
Pos
itio
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 125.285
25.29
25.295
Coefficient Colleague-Lover
Pos
itio
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 125.27
25.28
25.29
25.3
Coefficient Family-Lover
Pos
itio
n
68
Impact of Social Graph and Context on recommendation quality
Average Position t-TEST (P Value)
Round 1: Non-contextual information
25.29 1
Round 2: Time 22.02 0.11
Round 3: Weekday 24.98 0.89
Round 4: Type of Companion
24.18 0.62
Round 5: All 21.22 0.04
※ Observe only restaurants with contextual influences (about 1.76% of the total)
69
The coefficient tuning result
1 1 0.1 0.4 1 1
Alone Friend Classmate Colleague Family Lover
Alone 1 1 0.8 1 1 0
Friend 1 1 1 0 1 0
Classmate 0.8 1 1 0 1 0
Colleague 1 0 0 1 1 0
Family 1 1 1 1 1 0
Lover 0 0 0 0 0 1
70
Evaluation
• 如果系統推薦流行項目給使用者,使得準確度非常高,但這些資訊使用者很可能早已知道,因此不會認為這樣的系統是有價值的。
• 一般而言,系統推薦非流行項目會使得準確度降低,但使用者反而容易發現一些新奇的,自己找不到的偏好項目。
• 因此本系統以協同過濾法為基礎,期望產生令人滿意的推薦結果;而協同過濾的動機來自於人們通常會從品味相似的人得到最好的建議。
Source: 刘建国 , et al., 个性化推荐系统评价方法综述 . 复杂系统与复杂性科学 , 2009. 6(003): p. 1-10.
71
Accuracy of recommendation
500 m 1 km 2 km 3 km 4 km 5 km
10 candi-dates (Ran-dom)
0.479189064659806
0.305483028720627
0.177238519428659
0.134234372600215
0.10950698817386
0.092766088158501
10 candi-dates (Pop-ularity)
0.555214252802949
0.37643987098756
0.241898325909998
0.154046997389034
0.136845338657656
0.122715404699739
10 candi-dates (CF)
0.551374596836123
0.381508216863769
0.251267086469052
0.190293349715865
0.168944862540316
0.152357548763631
10 candi-dates (Con-text-CF)
0.552142528029489
0.381661803102442
0.251420672707725
0.192597143295961
0.169559207495008
0.154338196897558
20 candi-dates (Ran-dom)
0.620641990477653
0.43249884810321
0.266318537859008
0.192443557057288
0.160804791890647
0.138688373521732
20 candi-dates (Pop-ularity)
0.697127937336815
0.512363692213178
0.343572415911534
0.246659499308862
0.186760866226386
0.169252035017662
20 candi-dates (CF)
0.697281523575488
0.50790969129166
0.35355552142528
0.268775917677776
0.230686530486868
0.205037628628475
20 candi-dates (Con-text-CF)
0.697435109814161
0.508370450007679
0.353709107663953
0.27000460758716
0.232683151589618
0.207648594685916
30 candi-dates (Ran-dom)
0.698663799723545
0.508524036246352
0.337428966364614
0.243894947012748
0.203655352480418
0.173245277223161
30 candi-dates (Pop-ularity)
0.757333742896636
0.594225157425895
0.41314698203041
0.312547995699585
0.256489018583935
0.200276455229611
30 candi-dates (CF)
0.759944708954078
0.596682537244663
0.424512363692213
0.324834894793427
0.28275226539702
0.246198740592843
30 candi-dates (Con-text-CF)
0.759944708954078
0.596836123483336
0.425126708646905
0.326831515896176
0.283213024113039
0.247734602979573
5%15%25%35%45%55%65%75%
Accu
racy (
%)
72
Accuracy of recommendation
500 m 1 km 2 km 3 km 4 km 5 km
10 candi-dates (Ran-dom)
0.314556331006979
0.214050067921599
0.120701754385965
0.0890293916609706
0.0658875338753388
0.0563356736877299
10 candi-dates (Pop-ularity)
0.437936191425723
0.303706578692024
0.194561403508772
0.111073137388927
0.0960365853658537
0.0889334670678703
10 candi-dates (CF)
0.43142144638404
0.30984274898078
0.205407303370787
0.151452991452991
0.131458580382856
0.121257735407259
10 candi-dates (Con-text-CF)
0.432668329177057
0.310036886041545
0.205582865168539
0.154017094017094
0.132136201931221
0.123440374644589
20 candi-dates (Ran-dom)
0.408344733242134
0.277223125145113
0.182297551789077
0.119034755987754
0.0984355774301283
0.0856353591160221
20 candi-dates (Pop-ularity)
0.578659370725034
0.397956814488043
0.277024482109228
0.182603997839006
0.128142028476006
0.119993093922652
20 candi-dates (CF)
0.579001367989056
0.39131444496052
0.289320022603127
0.2085734870317
0.177496038034865
0.159841022982547
20 candi-dates (Con-text-CF)
0.579343365253078
0.392011147236414
0.289508381992842
0.210014409221902
0.179785173446029
0.162778641783307
30 candi-dates (Ran-dom)
0.501060670343657
0.334285714285714
0.227988691437803
0.155518081319093
0.123124771313575
0.0965007215007215
30 candi-dates (Pop-ularity)
0.663131098854476
0.479220779220779
0.327544426494346
0.239272999812629
0.186059275521405
0.128246753246753
30 candi-dates (CF)
0.670063694267516
0.483376623376623
0.342557059179964
0.254170571696345
0.217343578485181
0.182178932178932
30 candi-dates (Con-text-CF)
0.670063694267516
0.483636363636364
0.343364976772369
0.256607310215558
0.217892425905598
0.183982683982684
5%15%25%35%45%55%65%75%
Accu
racy (
%)
※ Remove candidates is more than restaurants of the case
73
Growth rate of accuracy
500 m 1 km 2 km 3 km 4 km 5 km
10 candi-dates
-0.012028835140
3801
0.020843497617
9437
0.056647728999
7041
0.386627744904
666
0.375894420109
221
0.388008122413
405
20 candi-dates
0.337420217064
777
-0.014940483578
0432
0.045064247710
3946
0.150108495472
605
0.403014885781
154
0.356566752818
581
30 candi-dates
0.010454336141
0976
0.009214092140
9225
0.048300471625
6288
0.072445743633
8544
0.171091445427
727
0.434599156118
146
-5.00%
15.00%
35.00%
Gro
wth
ra
te (
%)
※ Context-CF vs. Popularity
74
Outline
Introduction Motivation Objective
Background and Related Work
Context-aware
Social Graph and Open
Graph
Recommender Algorithm
A Context-aware and Social Graph based Restaurant Recommender System
Definition Proposed Solution
Implementation System Flow User Interface
Experiment and Evaluation Data Collection
Similarity Measures
Coefficients Tuning Evaluation
Conclusion Summary of Contributions
75
Conclusion
• We design a restaurant recommender system for mobile devices using Open Graph in a cloud platform– Find the user and their friends preferences for restaurant using Facebook
Open Graph– Achieve Recommendation Service for Group– Contextual Information and Social Graph is used to enhance the
recommendation quality
• The experimental results show – The experimental results reveal that the accuracy of our system can be
increased by approximately 38% while suggest restaurants within the area of 3-5 km radius, compared to popularity-based recommendation
– It means that the proposed system can provide better recommendations than popularity-based recommendations, if the user asks for a restaurant suggestion in a larger area