tastelens: a context-aware and social graph based restaurant recommender system for mobile devices

75
A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices GUO, YI-CHENG 2012/7/24 TasteLens 1

Upload: yi-cheng-guo

Post on 13-May-2015

308 views

Category:

Technology


2 download

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

Page 1: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

A Context-aware and Social Graph based Restaurant Recommender System for

Mobile Devices

GUO, YI-CHENG

2012/7/24

TasteLens

1

Page 2: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 3: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 4: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

4

Motivation

• Restaurant Recommender System• Mobile Devices• Group Preferences• Context-awareness• Social Graph• Problems with Collaborative Filtering– Cold Start– Sparsity– Scalability

Page 5: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

5

Problems with Collaborative FilteringU

ser

ItemNew User

Use

r

Item

Use

r

Item

New Item

Cold Start Sparsity Scalability

Big

No Ratings

Page 6: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 7: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 8: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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.

Page 9: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

9

Social Graph

志玲

德華力

杰倫依

伍佰

朋友情人

朋友

家人

同學

同事

情人

Page 10: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

10

Open Graph

志玲

德華力

杰倫依

伍佰

朋友情人

朋友

家人

同學

同事

情人

麻婆豆腐鳳城

燒臘

椰林大道

哈利波特

閱讀

烹調打卡

慢跑

傅鐘

打卡

Page 11: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 12: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 13: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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.

Page 14: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

14

Measure the similarity between two users

• Distance-based:

• Correlation-based:

• Cosine-based:

Page 15: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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.

Page 16: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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.

Page 17: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

17

描繪協同過濾法的圖

志玲

德華力

杰倫依

伍佰

馬辣火鍋鳳城

燒臘

永和豆漿

梅江烤肉

打卡

打卡

打卡

打卡

貳樓餐廳

打卡

打卡

推薦推薦

打卡

Page 18: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

18

描繪情境感知的圖

志玲

德華力

杰倫依

力宏

朋友情人

朋友

家人

同學

同事

同學

馬辣火鍋鳳城

燒臘

永和豆漿

梅江烤肉

中午打卡

晚上打卡

中午打卡

早上打卡

貳樓餐廳

晚上打卡

晚上打卡

晚上打卡

晚上打卡

Page 19: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

19

描繪考慮社交圖的圖

志玲

德華力

杰倫依

力宏

朋友情人

朋友

家人

同學

同事

同學

馬辣火鍋鳳城

燒臘

永和豆漿

梅江烤肉

打卡

打卡

貳樓餐廳

打卡

打卡

打卡

Page 20: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 21: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 22: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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)

Page 23: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 24: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 25: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 26: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 27: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

email

employer_ids

school_ids

user_relationshipsuid

friend_ids

classmate_ids

colleague_ids

family_ids

lover_ids

Page 28: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 29: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 30: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

30

Measure the similarity between two users

• Distance-based:

• Correlation-based:

• Cosine-based:

Page 31: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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:

Page 32: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 33: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 34: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 35: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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}

Page 36: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

36

Model the relevance of two contexttuples

• Age (a)

• Sex Index (s)

• Time of Day (td)

Page 37: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

37

Model the relevance of two contexttuples

• Weekday (w)

• Month (m)

• Number of Companion (nc)

Page 38: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 39: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

39

The overall relevance between two contexttuples

Page 40: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 41: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 42: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 43: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

43

The screenshot of using the web interface to view the map and find the restaurant

Page 44: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

44

The screenshot of using the web interface to request a suggestion

Page 45: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

45

Screenshots of using the mobile interface

Page 46: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 47: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 48: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 49: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 50: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 51: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

51

The distribution of restaurants

項目 比率  

餐廳打卡在大台北地區的比率 67.81% 5604 / 8264

餐廳在大台北地區的比率 48.94% 1317 / 2691

曾對大台北地區餐廳打卡的使用者比率 69.27% 2721 / 3928

Page 52: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

打卡者年齡

餐廳

打卡

數量

Page 53: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

兩位同伴類型

餐廳

打卡

數量

Page 54: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

每對使用者共同打卡過的餐廳數量

總數

Page 55: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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,

Page 56: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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.

Page 57: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

57

The Scope of Distance Parameters

5 km

● Taipei Main Station

4 km

3 km

2 km

1 km

57

Page 58: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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 (%

)

Page 59: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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 (

%)

Page 60: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 61: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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)

Page 62: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 63: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 64: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 65: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 66: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 67: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 68: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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)

Page 69: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 70: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

70

Evaluation

• 如果系統推薦流行項目給使用者,使得準確度非常高,但這些資訊使用者很可能早已知道,因此不會認為這樣的系統是有價值的。

• 一般而言,系統推薦非流行項目會使得準確度降低,但使用者反而容易發現一些新奇的,自己找不到的偏好項目。

• 因此本系統以協同過濾法為基礎,期望產生令人滿意的推薦結果;而協同過濾的動機來自於人們通常會從品味相似的人得到最好的建議。

Source: 刘建国 , et al., 个性化推荐系统评价方法综述 . 复杂系统与复杂性科学 , 2009. 6(003): p. 1-10.

Page 71: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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 (

%)

Page 72: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 73: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 74: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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

Page 75: TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

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