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

684 views

Published on

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.

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
684
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
36
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Location, distance 和 category of place 用來過濾候選人 places。
  • Location, distance 和 category of place 用來過濾候選人 places。
  • TasteLens: A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices

    1. 1. A Context-aware and Social Graph based Restaurant Recommender System for Mobile Devices GUO, YI-CHENG 2012/7/24 TasteLens 1
    2. 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 2
    3. 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 3
    4. 4. Motivation • Restaurant Recommender System • Mobile Devices • Group Preferences • Context-awareness • Social Graph • Problems with Collaborative Filtering – Cold Start – Sparsity – Scalability 4
    5. 5. Problems with Collaborative Filtering 5 User Item New User User Item User Item New Item Cold Start Sparsity Scalability Big No Ratings
    6. 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 6
    7. 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 7
    8. 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. 8 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. 9. Social Graph 9 志 玲 德 華力 宏 杰 倫依 琳 伍 佰
    10. 10. Open Graph 10 志 玲 德 華力 宏 杰 倫依 琳 伍 佰 麻婆 豆腐鳳城 燒臘 椰林 大道 哈利 波特 傅鐘
    11. 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. 11 Francesco Ricci and Lior Rokach and Bracha Shapira, Introduction to recommender Systems Handbook, Recommender Systems Handbook, Springer, 2011, pp. 1-35
    12. 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 12Wikipedia contributors. Collaborative filtering. 1 June 2012 19:04 UTC 26 June 2012 17:17 UTC
    13. 13. Predict the score of the unknown rating • 𝑝𝑟𝑒𝑑𝑖𝑐𝑡 𝑢, 𝑖 = 1 𝑁 𝑢′∈𝑈 𝑟 𝑢′,𝑖 • 𝑝𝑟𝑒𝑑𝑖𝑐𝑡 𝑢, 𝑖 = 𝑘 𝑢′∈𝑈 𝑠𝑖𝑚 𝑢, 𝑢′ × 𝑟 𝑢′,𝑖 • 𝑝𝑟𝑒𝑑𝑖𝑐𝑡 𝑢, 𝑖 = 𝑟𝑢 + 𝑘 𝑢′∈𝑈 𝑠𝑖𝑚(𝑢, 𝑢′) × (𝑟 𝑢′,𝑖 − 𝑟 𝑢′) • k is the normalizing factor and is usually in the form of 𝑘 = 1/ 𝑢′∈𝑈 𝑠𝑖𝑚(𝑢, 𝑢′) . 13 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. 14. Measure the similarity between two users • Distance-based: 𝑠𝑖𝑚 𝑢, 𝑢′ = 1 1 + 𝑖∈𝐼 𝑢𝑢′ (𝑟𝑢,𝑖−𝑟 𝑢′,𝑖)2 • Correlation-based: 𝑠𝑖𝑚 𝑢, 𝑢′ = 𝑖∈𝐼 𝑢𝑢′ (𝑟𝑢,𝑖−𝑟𝑢)(𝑟 𝑢′,𝑖−𝑟 𝑢′) 𝑖∈𝐼 𝑢𝑢′ (𝑟𝑢,𝑖−𝑟𝑢)2 𝑖∈𝐼 𝑢𝑢′ (𝑟 𝑢′,𝑖−𝑟 𝑢′)2 • Cosine-based: 𝑠𝑖𝑚 𝑢, 𝑢′ = 𝑖∈𝐼 𝑢𝑢′ 𝑟𝑢,𝑖 𝑟 𝑢′,𝑖 𝑖∈𝐼 𝑢𝑢′ (𝑟𝑢,𝑖)2 𝑖∈𝐼 𝑢𝑢′ (𝑟 𝑢′,𝑖)2 14
    15. 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: 𝑠𝑖𝑚 𝑡 𝑥, 𝑦, 𝑖 = 𝑢∈𝑈(𝑟𝑢,𝑖,𝑥−𝑟𝑖)(𝑟𝑢,𝑖,𝑦−𝑟𝑖) 𝑢∈𝑈(𝑟𝑢,𝑖,𝑥−𝑟𝑖)2 𝑢∈𝑈(𝑟𝑢,𝑖,𝑦−𝑟𝑖)2 • 𝑟𝑢,𝑖,𝑥 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 15 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. 16. Incorporating Context into Prediction • Chen assumed that all context dimensions are linear independent • 𝑅 𝑢,𝑖,𝑐 is the weighted rating in current context c: 𝑅 𝑢,𝑖,𝑐 = 𝑘 𝑥∈𝐶 𝑡=1 𝑧 𝑟𝑢,𝑖,𝑥 × 𝑠𝑖𝑚 𝑡(𝑐, 𝑥, 𝑖) • The inner loops over each dimension in context • The outer loops over all the values in that dimension • k is a normalizing factor 16 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. 17. 描繪協同過濾法的圖 17 志 玲 德 華力 宏 杰 倫依 琳 伍 佰 馬辣 火鍋鳳城 燒臘 永和 豆漿 梅江 烤肉 貳樓 餐廳
    18. 18. 描繪情境感知的圖 18 志 玲 德 華力 宏 杰 倫依 琳 力 宏 馬辣 火鍋鳳城 燒臘 永和 豆漿 梅江 烤肉 貳樓 餐廳
    19. 19. 描繪考慮社交圖的圖 19 志 玲 德 華力 宏 杰 倫依 琳 力 宏 馬辣 火鍋鳳城 燒臘 永和 豆漿 梅江 烤肉 貳樓 餐廳
    20. 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 20
    21. 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 21
    22. 22. All possible context factors and their ranges • Location (l) • Distance (d) • Age (a): {13~110+ } • 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~50+ } • Type of companion (tc): {Alone, Friend, Classmate, Colleague, Family, Lover} • Companions(CS) 22
    23. 23. Definition 1 Context and Social Graph • A request r of this system includes – A tuple 𝑡 = 𝑙, 𝑑, 𝑎, 𝑠, 𝑡𝑑, 𝑤, 𝑚, 𝑛𝑐, 𝑡𝑐 – A set 𝐶𝑆 = 𝑐𝑠1, … , 𝑐𝑠 𝑛 • 𝑐𝑜𝑛𝑡𝑒𝑥𝑡: 𝑐 → 𝑡 is function whose domain is the set of all user check-ins and context tuples 23
    24. 24. Definition 2 Data Set • 𝑈 = 𝑢1, … , 𝑢 𝑛 is the set of users • 𝑃 = 𝑝1, … , 𝑝 𝑚 is the set of restaurants • 𝐶 = 𝑐 𝑢1,𝑝1,𝑐1, … , 𝑐 𝑢𝑖,𝑝𝑗,𝑐𝑘 is the set of check-ins, where 0 < 𝑖 ≤ 𝑛 and 0 < 𝑗 ≤ 𝑚 • 𝑟𝑎𝑡𝑖𝑛𝑔(𝑐) 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 24
    25. 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 25
    26. 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 26
    27. 27. System Architecture and Data Model 27 Facebook Graph API Data Request Data transformation DB Recommendation Module Retrieval Module A Context-aware and Social Graph based Restaurant Recommender System Data Request Mobile Devices checkin checkin_id author_uid page_id app_id post_id latitude longitude timestamp tagged_uids message page page_id name categories type latitude longitude user uid name birthday_date sex significant_other_id family_ids email employer_ids school_ids user_relationships uid friend_ids classmate_ids colleague_ids family_ids lover_ids
    28. 28. Communication in this system 28 Mobile Devices Facebook Graph API Recommender System 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. 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 29
    30. 30. Measure the similarity between two users • Distance-based: 𝑠𝑖𝑚 𝑢, 𝑢′, 𝑡 = 𝑝∈𝑃 𝑢𝑢′ (𝑠𝑢𝑚 𝑢, 𝑝, 𝑡 − 𝑠𝑢𝑚(𝑢′, 𝑝, 𝑡))2 • Correlation-based: 𝑠𝑖𝑚 𝑢, 𝑢′ , 𝑡 = 𝑝∈𝑃 𝑢𝑢′ 𝑠𝑢𝑚(𝑢, 𝑝, 𝑡) × 𝑠𝑢𝑚(𝑢′, 𝑝, 𝑡) 𝑝∈𝑃 𝑢𝑢′ 𝑠𝑢𝑚(𝑢, 𝑝, 𝑡)2 × 𝑝∈𝑃 𝑢𝑢′ 𝑠𝑢𝑚(𝑢′, 𝑝, 𝑡)2 • Cosine-based: 𝑠𝑖𝑚 𝑢, 𝑢′ , 𝑡 = 𝑝∈𝑃 𝑢𝑢′ 𝑠𝑢𝑚(𝑢, 𝑝, 𝑡) × 𝑠𝑢𝑚(𝑢′, 𝑝, 𝑡) 𝑝∈𝑃 𝑢𝑢′ 𝑠𝑢𝑚(𝑢, 𝑝, 𝑡)2 × 𝑝∈𝑃 𝑢𝑢′ 𝑠𝑢𝑚(𝑢′, 𝑝, 𝑡)2 30
    31. 31. Predict the score of the unknown rating • Predict the score of the unknown rating for companions CS on restaurant p in a context t: 𝑝𝑟𝑒𝑑𝑖𝑐𝑡 𝐶𝑆, 𝑝, 𝑡 = 𝑘 𝑢∈𝐶𝑆 𝑢′∈𝑈 𝑠𝑖𝑚 𝑢, 𝑢′ , 𝑡 × 𝑠𝑢𝑚(𝑢′ , 𝑝, 𝑡) • k is the normalizing factor: 𝑘 = 1/ 𝑢∈𝐶𝑆 𝑢′∈𝑈 𝑠𝑖𝑚(𝑢, 𝑢′) 31
    32. 32. Algorithm 1 recommendation Algorithm 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 32
    33. 33. Algorithm 2 summarize_context Algorithm 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 33
    34. 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 𝑠𝑢𝑚 𝑢, 𝑝, 𝑡 = 𝑐∈𝐶 𝑢,𝑝 𝑟𝑒𝑙(𝑡, 𝑐𝑜𝑛𝑡𝑒𝑥𝑡 𝑐 ) × 𝑟𝑎𝑡𝑖𝑛𝑔(𝑐) 𝑐∈𝐶 𝑢,𝑝 𝑟𝑒𝑙(𝑡, 𝑐𝑜𝑛𝑡𝑒𝑥𝑡 𝑐 ) × 𝑚𝑎𝑥 𝑐∈𝐶 𝑢,𝑝 𝑟𝑒𝑙 𝑡, 𝑐𝑜𝑛𝑡𝑒𝑥𝑡(𝑐) 34
    35. 35. A context tuple t contains nine members • Location (l) • Distance (d) • Age (a): {13~110+ } • 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~50+ } • Type of companion (tc): {Alone, Friend, Classmate, Colleague, Family, Lover} 35
    36. 36. Model the relevance of two context tuples • Age (a) 𝑟𝑒𝑙 𝑎 𝑡, 𝑡′ = 1, 𝑖𝑓 𝑡. 𝑎 = 𝑡′ . 𝑎 𝐶𝑜𝑒𝑓𝑎 𝑎𝑏𝑠(𝑡.𝑎−𝑡′.𝑎) , 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 • Sex Index (s) 𝑟𝑒𝑙 𝑠 𝑡, 𝑡′ = 1, 𝑖𝑓 𝑡. 𝑠 = 𝑡′. 𝑠 𝐶𝑜𝑒𝑓𝑠 𝑎𝑏𝑠(𝑡.𝑠−𝑡′.𝑠) , 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 • Time of Day (td) 𝑟𝑒𝑙 𝑡 𝑡, 𝑡′ = 1, 𝑖𝑓 𝑡. 𝑡𝑑 = 𝑡′. 𝑡𝑑 𝐶𝑜𝑒𝑓𝑡𝑑 𝑡𝑖𝑚𝑒_𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒(𝑡.𝑡𝑑−𝑡′.𝑡𝑑) , 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 36
    37. 37. Model the relevance of two context tuples • Weekday (w) 𝑟𝑒𝑙 𝑡 𝑡, 𝑡′ = 1, 𝑖𝑓 𝑖𝑠𝑊𝑒𝑒𝑘𝑒𝑛𝑑 𝑡. 𝑤 = 𝑖𝑠𝑊𝑒𝑒𝑘𝑒𝑛𝑑(𝑡′. 𝑤) 𝐶𝑜𝑒𝑓𝑤, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 • Month (m) 𝑟𝑒𝑙 𝑚 𝑡, 𝑡′ = 1, 𝑖𝑓 𝑡. 𝑚 = 𝑡′. 𝑚 𝐶𝑜𝑒𝑓𝑚 𝑚𝑜𝑛𝑡ℎ_𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒(𝑡.𝑚,𝑡′.𝑚) , 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 • Number of Companion (nc) 𝑟𝑒𝑙 𝑛𝑐 𝑡, 𝑡′ = 1, 𝑖𝑓 𝑡. 𝑛𝑐 = 𝑡′ . 𝑛𝑐 𝐶𝑜𝑒𝑓𝑛𝑐 𝑎𝑏𝑠(𝑡.𝑛𝑐,𝑡′.𝑛𝑐) , 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 37
    38. 38. Model the relevance of two context tuples • Type of Companion (tc) 𝑟𝑒𝑙 𝑡𝑐 𝑡, 𝑡′ = 𝑇𝐶_𝑅𝑒𝑙𝑒𝑣𝑎𝑛𝑐𝑒𝑀𝑎𝑡𝑟𝑖𝑥 [𝑡. 𝑡𝑐][𝑡′ . 𝑡𝑐] 38 Alone(α) Friend(β) Classmate(γ) Colleague(δ) Family(ε) Lover(ζ) Alone 1 𝐶𝑜𝑒𝑓𝛼−𝛽 𝐶𝑜𝑒𝑓𝛼−𝛾 𝐶𝑜𝑒𝑓𝛼−𝛿 𝐶𝑜𝑒𝑓𝛼−𝜀 𝐶𝑜𝑒𝑓𝛼−𝜁 Friend 𝐶𝑜𝑒𝑓𝛼−𝛽 1 𝐶𝑜𝑒𝑓𝛽−𝛾 𝐶𝑜𝑒𝑓𝛽−𝛿 𝐶𝑜𝑒𝑓𝛽−𝜀 𝐶𝑜𝑒𝑓𝛽−𝜁 Classmate 𝐶𝑜𝑒𝑓𝛼−𝛾 𝐶𝑜𝑒𝑓𝛽−𝛾 1 𝐶𝑜𝑒𝑓𝛾−𝛿 𝐶𝑜𝑒𝑓𝛾−𝜀 𝐶𝑜𝑒𝑓𝛾−𝜁 Colleague 𝐶𝑜𝑒𝑓𝛼−𝛿 𝐶𝑜𝑒𝑓𝛽−𝛿 𝐶𝑜𝑒𝑓𝛾−𝛿 1 𝐶𝑜𝑒𝑓𝛿−𝜀 𝐶𝑜𝑒𝑓𝛿−𝜁 Family 𝐶𝑜𝑒𝑓𝛼−𝜀 𝐶𝑜𝑒𝑓𝛽−𝜀 𝐶𝑜𝑒𝑓𝛾−𝜀 𝐶𝑜𝑒𝑓𝛿−𝜀 1 𝐶𝑜𝑒𝑓𝜀−𝜁 Lover 𝐶𝑜𝑒𝑓𝛼−𝜁 𝐶𝑜𝑒𝑓𝛽−𝜁 𝐶𝑜𝑒𝑓𝛾−𝜁 𝐶𝑜𝑒𝑓𝛿−𝜁 𝐶𝑜𝑒𝑓𝜀−𝜁 1
    39. 39. The overall relevance between two context tuples 𝑟𝑒𝑙 𝑡, 𝑡′ = 𝑓∈𝐹 𝑟𝑒𝑙 𝑓 𝑡, 𝑡′ 𝑤ℎ𝑒𝑟𝑒 𝐹 = {𝑎, 𝑠, 𝑡𝑑, 𝑤, 𝑚, 𝑛𝑐, 𝑡𝑐} 39
    40. 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 40
    41. 41. System Flow 41 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. 42. System Flow 42 Predict user and all companions' rating for each restaurant in the context info and social graph 𝑝𝑟𝑒𝑑𝑖𝑐𝑡 𝐶𝑆, 𝑝, 𝑡 = 𝑢∈𝐶𝑆 𝑢′∈𝑈 𝑠𝑖𝑚 𝑢, 𝑢′, 𝑡 × 𝑠𝑢𝑚(𝑢′, 𝑝, 𝑡) 𝑢∈𝐶𝑆 𝑢′∈𝑈 𝑠𝑖𝑚(𝑢, 𝑢′) 𝑠𝑖𝑚 𝑢, 𝑢′, 𝑡 = 𝑝∈𝑃 𝑢𝑢′ (𝑠𝑢𝑚 𝑢, 𝑝, 𝑡 − 𝑠𝑢𝑚(𝑢′, 𝑝, 𝑡))2 𝑠𝑢𝑚 𝑢, 𝑝, 𝑡 = 𝑐∈𝐶 𝑢,𝑝 𝑟𝑒𝑙(𝑡, 𝑐𝑜𝑛𝑡𝑒𝑥𝑡 𝑐 ) × 𝑟𝑎𝑡𝑖𝑛𝑔(𝑐) 𝑐∈𝐶 𝑢,𝑝 𝑟𝑒𝑙(𝑡, 𝑐𝑜𝑛𝑡𝑒𝑥𝑡(𝑐)) × 𝑚𝑎𝑥 𝑐∈𝐶 𝑢,𝑝 𝑟𝑒𝑙 𝑡, 𝑐𝑜𝑛𝑡𝑒𝑥𝑡(𝑐) 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. 43. The screenshot of using the web interface to view the map and find the restaurant 43
    44. 44. The screenshot of using the web interface to request a suggestion 44
    45. 45. Screenshots of using the mobile interface 45
    46. 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 46
    47. 47. The statistics of the collected data set 項目 數量 受測者人數 69 使用者人數 25184 曾打卡的使用者人數 7395 地點個數 37305 打卡數量 74283 曾對餐廳打卡的使用者人數 3928 餐廳個數 2691 對餐廳的打卡數量 8264 47 ※ The collection is from August 25th 2010 to April 30th 2012
    48. 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 48
    49. 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 49
    50. 50. The statistics of the collected data set 50 項目 平均值 中位數 標準差 最大值 最小值 曾對餐廳打卡的使用 者對餐廳的打卡次數 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. 51. The distribution of restaurants 項目 比率 餐廳打卡在大台北地區的比率 67.81% 5604 / 8264 餐廳在大台北地區的比率 48.94% 1317 / 2691 曾對大台北地區餐廳打卡的使用者比率 69.27% 2721 / 3928 51
    52. 52. The statistics of collected check-ins 52 0 500 1000 1500 2010/8 2010/10 2010/12 2011/2 2011/4 2011/6 2011/8 2011/10 2011/12 2012/2 2012/4 餐廳打卡數量 月份 0 500 1000 1500 2000 餐廳打卡數量 星期 0 200 400 600 800 1000 1200 1400 0 2 4 6 8 10 12 14 16 18 20 22 餐廳打卡數量 時間 0 200 400 600 800 1000 16171819202122232425262728293031 餐廳打卡數量 打卡者年齡
    53. 53. The statistics of collected check-ins 53 0 200 400 600 800 1000 16171819202122232425262728293031 餐廳打卡數量 同伴平均年齡 0 500 1000 1500 2000 2500 3000 1 2 3 4 5 6 7 8 9 10 餐廳打卡數量 同伴人數 1 10 100 1000 10000 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 餐廳打卡數量 同伴性別指標 1 10 100 1000 10000 餐廳打卡數量 兩位同伴類型
    54. 54. The statistics of collected check-ins 54 1 10 100 1000 10000 餐廳打卡數量 三位以上同伴類型 (演算法總結) 1 10 100 1000 10000 1 2 3 4 5 餐廳打卡數量 餐廳被打卡次數 0 200 400 600 800 1000 1200 1400 1 2 3 4 5 餐廳數量 餐廳被打卡次數 1 100 10,000 1,000,000 100,000,000 0 1 2 3 4 總數 每對使用者共同打卡過的餐廳數量
    55. 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, 8264 3928×2691 = 𝟎. 𝟎𝟎𝟎𝟕𝟖 55
    56. 56. Leave-one-out cross-validation 56 𝑪 𝟏 𝑹 𝟏 𝑪 𝟐 𝑹 𝟐 𝑪 𝟑 𝑹 𝟑 𝑪 𝟏 𝑹 𝟏 𝑪 𝟐 𝑹 𝟐𝑪 𝟏 𝑹 𝟏 𝑪 𝟑 𝑹 𝟑𝑪 𝟐 𝑹 𝟐 𝑪 𝟑 𝑹 𝟑𝑪 𝟏 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. 57. The Scope of Distance Parameters 57 57
    58. 58. Impact of Similarity Measure on recommendation quality 58 Distance-based Correlation-based Cosine-based 10 Candidates 15.24% 15.24% 15.24% 20 Candidates 20.50% 20.50% 20.50% 30 Candidates 24.62% 24.62% 24.62% 0% 5% 10% 15% 20% 25% 30% Accuracy(%)
    59. 59. Impact of Distance Parameter on recommendation quality 59 0 km 0.5 km 1 km 2 km 3 km 4 km 5 km Unlimit ed 10 candidates 85.59% 55.14% 38.15% 25.13% 19.03% 16.89% 15.24% 3.18% 20 candidates 85.59% 69.73% 50.79% 35.36% 26.88% 23.07% 20.50% 4.82% 30 candidates 85.59% 75.99% 59.67% 42.45% 32.48% 28.28% 24.62% 5.70% 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% Accuracy(%)
    60. 60. Impact of Distance Parameter on recommendation quality 60 0.5 km 1 km 2 km 3 km 4 km 5 km 10 candidates 43.14% 30.98% 20.54% 15.15% 13.15% 12.13% 20 candidates 57.90% 39.13% 28.93% 20.86% 17.75% 15.98% 30 candidates 67.01% 48.34% 34.26% 25.42% 21.73% 18.22% 0% 10% 20% 30% 40% 50% 60% 70% 80% Accuracy(%) ※ Remove candidates is more than restaurants of the case
    61. 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) 𝑝𝑟𝑒𝑑𝑖𝑐𝑡 𝐶𝑆, 𝑝, 𝑡 = 𝑘 𝑢∈𝐶𝑆 𝑢′∈𝑈 𝑠𝑖𝑚 𝑢, 𝑢′, 𝑡 × 𝑠𝑢𝑚(𝑢′, 𝑝, 𝑡) 61
    62. 62. Coefficients Search Process 62 0 5 10 15 20 25 30 35 0 0.2 0.4 0.6 0.8 1 Position Coefficient Age 0 5 10 15 20 25 30 35 0 0.2 0.4 0.6 0.8 1 Position Coefficient Sex Index 21 22 23 24 25 26 0 0.2 0.4 0.6 0.8 1 Position Coefficient Time of Day 24.8 25 25.2 25.4 25.6 25.8 26 26.2 26.4 0 0.2 0.4 0.6 0.8 1 Position Coefficient Weekday
    63. 63. Explain the Rapid Change 63 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): 𝑟𝑒𝑙 𝑎 𝑡, 𝑡′ = 1, 𝑖𝑓 𝑡. 𝑎 = 𝑡′. 𝑎 𝐶𝑜𝑒𝑓𝑎 𝑎𝑏𝑠(𝑡.𝑎−𝑡′.𝑎) , 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Validation data Validation data
    64. 64. Coefficients Search Process 64 0 5 10 15 20 25 30 35 0 0.2 0.4 0.6 0.8 1 Position Coefficient Month 0 5 10 15 20 25 30 35 0 0.2 0.4 0.6 0.8 1 Position Coefficient Number of Companion 0 5 10 15 20 25 30 35 0 0.2 0.4 0.6 0.8 1 Position Coefficient Alone-Friend 24.8 24.9 25 25.1 25.2 25.3 25.4 0 0.2 0.4 0.6 0.8 1 Position Coefficient Alone-Classmate
    65. 65. Coefficients Search Process 65 25.25 25.3 25.35 25.4 25.45 25.5 25.55 25.6 0 0.2 0.4 0.6 0.8 1 Position Coefficient Alone-Colleague 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 0 0.2 0.4 0.6 0.8 1 Position Coefficient Alone-Family 25.2 25.22 25.24 25.26 25.28 25.3 0 0.2 0.4 0.6 0.8 1 Position Coefficient Alone-Lover 25 25.5 26 26.5 27 27.5 0 0.2 0.4 0.6 0.8 1 Position Coefficient Friend-Classmate
    66. 66. Coefficients Search Process 66 24.7 24.8 24.9 25 25.1 25.2 25.3 25.4 0 0.2 0.4 0.6 0.8 1 Position Coefficient Friend-Colleague 25.2 25.4 25.6 25.8 26 26.2 26.4 0 0.2 0.4 0.6 0.8 1 Position Coefficient Friend-Family 25.05 25.1 25.15 25.2 25.25 25.3 25.35 0 0.2 0.4 0.6 0.8 1 Position Coefficient Friend-Lover 25.05 25.1 25.15 25.2 25.25 25.3 25.35 0 0.2 0.4 0.6 0.8 1 Position Coefficient Classmate-Colleague
    67. 67. Coefficients Search Process 67 25 25.5 26 26.5 27 0 0.2 0.4 0.6 0.8 1 Position Coefficient Classmate-Family 25.22 25.24 25.26 25.28 25.3 0 0.2 0.4 0.6 0.8 1 Position Coefficient Classmate-Lover 25.25 25.3 25.35 25.4 25.45 0 0.2 0.4 0.6 0.8 1 Position Coefficient Colleague-Family 25.288 25.29 25.292 25.294 25.296 0 0.2 0.4 0.6 0.8 1 Position Coefficient Colleague-Lover 25.275 25.28 25.285 25.29 25.295 0 0.2 0.4 0.6 0.8 1 Position Coefficient Family-Lover
    68. 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 68 ※ Observe only restaurants with contextual influences (about 1.76% of the total)
    69. 69. The coefficient tuning result 𝑪𝒐𝒆𝒇 𝒂 𝑪𝒐𝒆𝒇 𝒔 𝑪𝒐𝒆𝒇 𝒕 𝑪𝒐𝒆𝒇 𝑤 𝑪𝒐𝒆𝒇 𝒎 𝑪𝒐𝒆𝒇 𝒏𝒄 1 1 0.1 0.4 1 1 69 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. 70. Evaluation • 如果系統推薦流行項目給使用者,使得準確度 非常高,但這些資訊使用者很可能早已知道, 因此不會認為這樣的系統是有價值的。 • 一般而言,系統推薦非流行項目會使得準確度 降低,但使用者反而容易發現一些新奇的,自 己找不到的偏好項目。 • 因此本系統以協同過濾法為基礎,期望產生令 人滿意的推薦結果;而協同過濾的動機來自於 人們通常會從品味相似的人得到最好的建議。 70Source: 刘建国, et al., 个性化推荐系统评价方法综述. 复杂系统与复杂性科学, 2009. 6(003): p. 1-10.
    71. 71. Accuracy of recommendation 71 500 m 1 km 2 km 3 km 4 km 5 km 10 candidates (Random) 47.92% 30.55% 17.72% 13.42% 10.95% 9.28% 10 candidates (Popularity) 55.52% 37.64% 24.19% 15.40% 13.68% 12.27% 10 candidates (CF) 55.14% 38.15% 25.13% 19.03% 16.89% 15.24% 10 candidates (Context-CF) 55.21% 38.17% 25.14% 19.26% 16.96% 15.43% 20 candidates (Random) 62.06% 43.25% 26.63% 19.24% 16.08% 13.87% 20 candidates (Popularity) 69.71% 51.24% 34.36% 24.67% 18.68% 16.93% 20 candidates (CF) 69.73% 50.79% 35.36% 26.88% 23.07% 20.50% 20 candidates (Context-CF) 69.74% 50.84% 35.37% 27.00% 23.27% 20.76% 30 candidates (Random) 69.87% 50.85% 33.74% 24.39% 20.37% 17.32% 30 candidates (Popularity) 75.73% 59.42% 41.31% 31.25% 25.65% 20.03% 30 candidates (CF) 75.99% 59.67% 42.45% 32.48% 28.28% 24.62% 30 candidates (Context-CF) 75.99% 59.68% 42.51% 32.68% 28.32% 24.77% 0% 10% 20% 30% 40% 50% 60% 70% 80% Accuracy(%)
    72. 72. Accuracy of recommendation 72 500 m 1 km 2 km 3 km 4 km 5 km 10 candidates (Random) 31.46% 21.41% 12.07% 8.90% 6.59% 5.63% 10 candidates (Popularity) 43.79% 30.37% 19.46% 11.11% 9.60% 8.89% 10 candidates (CF) 43.14% 30.98% 20.54% 15.15% 13.15% 12.13% 10 candidates (Context-CF) 43.27% 31.00% 20.56% 15.40% 13.21% 12.34% 20 candidates (Random) 40.83% 27.72% 18.23% 11.90% 9.84% 8.56% 20 candidates (Popularity) 57.87% 39.80% 27.70% 18.26% 12.81% 12.00% 20 candidates (CF) 57.90% 39.13% 28.93% 20.86% 17.75% 15.98% 20 candidates (Context-CF) 57.93% 39.20% 28.95% 21.00% 17.98% 16.28% 30 candidates (Random) 50.11% 33.43% 22.80% 15.55% 12.31% 9.65% 30 candidates (Popularity) 66.31% 47.92% 32.75% 23.93% 18.61% 12.82% 30 candidates (CF) 67.01% 48.34% 34.26% 25.42% 21.73% 18.22% 30 candidates (Context-CF) 67.01% 48.36% 34.34% 25.66% 21.79% 18.40% 0% 10% 20% 30% 40% 50% 60% 70% 80% Accuracy(%) ※ Remove candidates is more than restaurants of the case
    73. 73. Growth rate of accuracy 73 500 m 1 km 2 km 3 km 4 km 5 km 10 candidates -1.20% 2.08% 5.66% 38.66% 37.59% 38.80% 20 candidates 33.74% -1.49% 4.51% 15.01% 40.30% 35.66% 30 candidates 1.05% 0.92% 4.83% 7.24% 17.11% 43.46% -5.00% 0.00% 5.00% 10.00% 15.00% 20.00% 25.00% 30.00% 35.00% 40.00% 45.00% 50.00% Growthrate(%) ※ Context-CF vs. Popularity
    74. 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 74
    75. 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 75

    ×