• Save
TasteLens: 使用社交圖與情境感知之行動餐廳推薦系統
Upcoming SlideShare
Loading in...5
×
 

TasteLens: 使用社交圖與情境感知之行動餐廳推薦系統

on

  • 1,139 views

  隨著行動裝置與行動網路日益普及,人們可以隨時隨地存取的資訊激增;如何解決當前資訊超載(Information ...

  隨著行動裝置與行動網路日益普及,人們可以隨時隨地存取的資訊激增;如何解決當前資訊超載(Information Overload)問題,並提供個性化推薦(Personalized Recommendation)服務是一項重要的研究議題。本論文利用Facebook開放圖(Open Graph)的打卡資料(Check-ins)設計一個行動餐廳推薦系統;以協同過濾法(Collaborative Filtering)為基礎,從個別使用者偏好總結團體偏好,實現團體推薦服務;並考慮社交圖(Social Graph)與情境資訊(Contextual Information)提升推薦品質;考慮的情境有位置、距離、年齡、性別指標、時間、星期、月份、同伴人數與同伴類型。本論文還設計一個方法,單獨評估位置與距離情境帶來的影響。
  本論文的實驗資料是從Facebook徵集69名受測者,收集2010/8/15至2012/4/30期間,3928名使用者對2691家餐廳的8264次打卡。實驗結果顯示,本系統在中、長距離(3到5公里)的情境下,準確度相較於基於流行性推薦有顯著成長,成長率約38%。這意味著,如果使用者尋找餐廳所設定的範圍比較大,相較於基於流行性推薦,本系統可以產生更好的推薦結果。

Statistics

Views

Total Views
1,139
Views on SlideShare
1,139
Embed Views
0

Actions

Likes
7
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    TasteLens: 使用社交圖與情境感知之行動餐廳推薦系統 TasteLens: 使用社交圖與情境感知之行動餐廳推薦系統 Presentation Transcript

    • 使用社交圖與情境感知之行動餐廳推薦系統研究生: 郭羿呈指導教授: 黃乾綱 博士王勝德 博士2012年7月24日碩士論文
    • 大綱摘要 動機 目的背景與相關研究 情境感知社交圖與開放圖推薦演算法結合情境之推薦演算法使用社交圖與情境感知之推薦系統資料定義 問題定義 解決方案實驗與評價 資料收集選擇相似度測量法係數調整 評價結論 總結貢獻1
    • 摘要• 動機– 行動餐廳推薦系統(Recommender System)– 情境(Context)– 團體偏好(Preferences)– 團體關係(Relations)• 目的– 設計一個行動餐廳推薦系統– 應用 Facebook 開放圖(Open Graph)發現使用者與其朋友對餐廳的偏好– 實現團體使用者之餐廳推薦服務– 使用社交圖(Social Graph)與情境資訊(ContextualInformation)增進推薦品質2
    • 情境感知(Context-aware)• Schilit 和 Theimer 首次提出– Context-aware computing is the ability of amobile user’s applications to discover and react tochanges in the environment they are situated in.• Dey 提供了一個更通用的定義– A system is context-aware if it uses context toprovide relevant information and/or service to theuser, where relevancy depends on the user’s task.3Source: Schilit, B.N. and M.M. Theimer, Disseminating active map information to mobile hosts. Network, IEEE, 1994. 8(5): p. 22-32.Dey, A.K., Understanding and using context. Personal and ubiquitous computing, 2001. 5(1): p. 4-7.
    • 社交圖(Social Graph)4ABCEDF
    • 開放圖(Open Graph)5ABCEDF麻婆豆腐鳳城燒臘椰林大道哈利波特傅鐘
    • 推薦系統• 資訊過濾系統(Information FilteringSystem)的子集• 試圖預測使用者還沒有考慮的項目評分(Rating)或偏好(Preference)• 方法– 基於內容法(Content-based Approaches)– 協同過濾法(Collaborative Filtering)– 混合法等(Hybrid Approaches)6Source: 刘建国, 周涛, and 汪秉宏, 个性化推荐系统的研究进展. 自然科学进展, 2009. 19(001): p. 1-15.
    • 協同過濾法(Collaborative Filtering)• 利用歷史資料計算使用者之間的相似度(Similarity)• 利用與使用者相似的其他使用者對項目的評分來預測使用者對項目的評分• 根據預測的評分來對使用者進行推薦• 方法– 基於記憶(Memory-based)– 基於模型(Model-based)7Source: 刘建国, 周涛, and 汪秉宏, 个性化推荐系统的研究进展. 自然科学进展, 2009. 19(001): p. 1-15.
    • 基於記憶的預測評分方法• 預測使用者 u 對項目 i 的評分𝑝𝑟𝑒𝑑𝑖𝑐𝑡 𝑢, 𝑖 = 𝑘 𝑠𝑖𝑚 𝑢, 𝑢′ × 𝑟 𝑢′,𝑖𝑢′∈𝑈• 𝑈 = {𝑢1, 𝑢2, … , 𝑢 𝑛} 為使用者集合• 𝑟𝑢,𝑖 是使用者 u 對項目 i 的評分• k 是正規化因子(Normalizing Factor)𝑘 = 1/ 𝑠𝑖𝑚(𝑢, 𝑢′)𝑢′∈𝑈8Source: Adomavicius, G. and A. Tuzhilin, Toward the next generation of recommender systems: A survey of the state-of-the-art andpossible extensions. Knowledge and Data Engineering, IEEE Transactions on, 2005. 17(6): p. 734-749.
    • 相似度測量法(Similarity)• 𝑝𝑟𝑒𝑑𝑖𝑐𝑡 𝑢, 𝑖 = 𝑘 𝒔𝒊𝒎 𝒖, 𝒖′× 𝑟 𝑢′,𝑖𝑢′∈𝑈9Distance-based Correlation-basedCosine-based𝑢1𝑢2𝑖2𝑖1𝑖3𝑖1𝑖3𝑖2𝑢1𝑢2𝑢1𝑢2𝑖3𝑖2𝑖1
    • 測量情境的相關性(Relevance)的方法• Chen 測量不同情境之間的相關性去加權評分• 他使用 Correlation-base 相似度測量法計算項目 i 在兩個情境 x 和 y 下的相似度權重𝑠𝑖𝑚 𝑡 𝑥, 𝑦, 𝑖 =(𝑟𝑢,𝑖,𝑥−𝑟𝑖)(𝑟𝑢,𝑖,𝑦−𝑟𝑖)𝑢∈𝑈(𝑟𝑢,𝑖,𝑥−𝑟𝑖)2 (𝑟𝑢,𝑖,𝑦−𝑟𝑖)2𝑢∈𝑈𝑢∈𝑈• 𝑟𝑢,𝑖,𝑥 是使用者 u 在情境 x 對項目 i 的評分• 𝑟𝑖 是項目 i 的平均評分• 𝑈 是在情境 𝑥 和 𝑦 對項目 𝑖 評分的使用者集合10Source: Chen, A., Context-aware collaborative filtering system: Predicting the user’s preference in the ubiquitous computingenvironment. Location-and Context-Awareness, 2005: p. 75-81.
    • 結合情境到協同過濾法• Chen 還假設每個情境維度都是線性獨立的• 因此被當前情境 c 加權過的評分為𝑅 𝑢,𝑖,𝑐 = 𝑘 𝑟𝑢,𝑖,𝑥 × 𝑠𝑖𝑚 𝑡(𝑐, 𝑥, 𝑖)𝑧𝑡=1𝑥∈𝐶• 𝑟𝑢,𝑖,𝑥 是使用者 u 在情境 x 對項目 i 原始的評分• k 是正規化因子• 內迴圈涵蓋情境中的每個維度• 外迴圈涵蓋該維度中的所有值11Source: Chen, A., Context-aware collaborative filtering system: Predicting the user’s preference in the ubiquitous computingenvironment. Location-and Context-Awareness, 2005: p. 75-81.
    • 描繪本系統使用協同過濾法的圖12ABCEDF馬辣火鍋鳳城燒臘永和豆漿梅江烤肉貳樓餐廳
    • 描繪本系統考慮情境的圖13ABCEDF馬辣火鍋鳳城燒臘永和豆漿梅江烤肉貳樓餐廳
    • 描繪本系統考慮社交圖的圖14ABCEDF馬辣火鍋鳳城燒臘永和豆漿梅江烤肉貳樓餐廳
    • 本系統考慮的情境因子• 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)15
    • 系統定義 1 社交圖與情境資訊• 這個系統的請求情境 r 包含– 元組 𝒕 = 𝑙, 𝑑, 𝑎, 𝑠, 𝑡𝑑, 𝑤, 𝑚, 𝑛𝑐, 𝑡𝑐– 集合 𝑪𝑺 = 𝑐𝑠1, … , 𝑐𝑠 𝑛• 𝒄𝒐𝒏𝒕𝒆𝒙𝒕: 𝒄 → 𝒕 函數的域是所有打卡和情境元組 t 集合16
    • 系統定義 2 資料集• 𝑈 = 𝑢1, … , 𝑢 𝑛 是使用者集合• 𝑃 = 𝑝1, … , 𝑝 𝑚 是餐廳集合• 𝐶 = 𝑐 𝑢1,𝑝1,𝑐1, … , 𝑐 𝑢𝑖,𝑝𝑗,𝑐𝑘 是打卡集合,其中 0 < i ≤ n 和 0 < j ≤ m• 𝒓𝒂𝒕𝒊𝒏𝒈 𝒄 函數的域是所有打卡和偏好評分集合– 1 代表去過一次– 2 代表回訪過一次– 3 代表回訪過一次以上17
    • 系統定義 3 基於情境與社交圖的預測• 給出餐廳集合 P 和使用者 u 的請求情境 r• 這個系統應該能夠預測使用者對每家餐廳𝒑 ∈ 𝑷 的偏好評分• 偏好評分應該反應使用者品味、社交圖與情境資訊的影響18
    • 系統定義 4 推薦處理• 給出餐廳集合 P、使用者 u 的請求情境 r 和使用者對每家餐廳 𝑝 ∈ 𝑃 的預測偏好評分• 這個系統應該可以產生一個依據預測偏好評分排序與尺寸 n 的餐廳清單• 其中 n 是一個小整數使清單適合顯示在行動裝置的小螢幕上19
    • 系統流程 120Call Graph API for user and all companions’dataWeb service returnsdata in JSON formatMore friends’data availableCall Graph API forfriends’dataWeb service returnsdata in JSON formatStopDecode JSON andinsert/update processeddata into DBDecode JSON andinsert/update processeddata into DBDBInput:The user’s request with contextYesNoRecommendationModule Retrieval Module
    • 系統流程 221Predict user and all companions rating for each restaurant in the context info and social graph𝑝𝑟𝑒𝑑𝑖𝑐𝑡 𝐶𝑆, 𝑝, 𝑡 =𝑠𝑖𝑚 𝑢, 𝑢′, 𝑡𝑢′∈𝑈 × 𝑠𝑢𝑚(𝑢′, 𝑝, 𝑡)𝑢∈𝐶𝑆𝑠𝑖𝑚(𝑢, 𝑢′)𝑢′∈𝑈𝑢∈𝐶𝑆𝑠𝑖𝑚 𝑢, 𝑢′, 𝑡 = (𝑠𝑢𝑚 𝑢, 𝑝, 𝑡 − 𝑠𝑢𝑚(𝑢′, 𝑝, 𝑡))2𝑝∈𝑃 𝑢𝑢′𝑠𝑢𝑚 𝑢, 𝑝, 𝑡 =𝑟𝑒𝑙(𝑡, 𝑐𝑜𝑛𝑡𝑒𝑥𝑡 𝑐 ) × 𝑟𝑎𝑡𝑖𝑛𝑔(𝑐)𝑐∈𝐶 𝑢,𝑝𝑟𝑒𝑙(𝑡, 𝑐𝑜𝑛𝑡𝑒𝑥𝑡(𝑐)𝑐∈𝐶 𝑢,𝑝)× 𝑚𝑎𝑥 𝑐∈𝐶 𝑢,𝑝𝑟𝑒𝑙 𝑡, 𝑐𝑜𝑛𝑡𝑒𝑥𝑡(𝑐)Generate a list of restaurantssorted by predicted rating withsize nDBUse location and distanceparameter to filter restaurantfrom DBStopUse the user’s request tosummarize context info andsocial graph from DBPreprocessingRetrieval ModuleRecommendation Module
    • 舉例說明:𝑡 = 7月24日星期三晚上6點約27歲的情侶2人𝐶𝑆 = 𝐴與B↓𝑐𝑠1 = A𝑐𝑜𝑛𝑡𝑒𝑥𝑡 𝑐1 = 1月7日星期六中午12點約50歲的朋友3人𝑟𝑎𝑡𝑖𝑛𝑔 𝑐1 = 3𝑐𝑜𝑛𝑡𝑒𝑥𝑡 𝑐2 = 6月21日星期四晚上7點約30歲的情侶2人𝑟𝑎𝑡𝑖𝑛𝑔 𝑐2 = 2↓𝑟𝑒𝑙(𝑡, 𝑐𝑜𝑛𝑡𝑒𝑥𝑡 𝑐1 ) = 0.1𝑟𝑒𝑙(𝑡, 𝑐𝑜𝑛𝑡𝑒𝑥𝑡 𝑐2 ) = 0.9↓𝑠𝑢𝑚 𝑐𝑠1, 𝑝1, 𝑡 =0.1 × 3 + 0.9 × 20.1 + 0.9× 0.9 = 1.89利用社交圖與情境相關性總結偏好評分• 使用者 u 在情境元組 t 對餐廳 p 的總結偏好評分𝑠𝑢𝑚 𝑢, 𝑝, 𝑡 =𝑟𝑒𝑙(𝑡, 𝑐𝑜𝑛𝑡𝑒𝑥𝑡 𝑐 ) × 𝑟𝑎𝑡𝑖𝑛𝑔(𝑐)𝑐∈𝐶 𝑢,𝑝𝑟𝑒𝑙(𝑡, 𝑐𝑜𝑛𝑡𝑒𝑥𝑡(𝑐)𝑐∈𝐶 𝑢,𝑝)× 𝑚𝑎𝑥 𝑐∈𝐶 𝑢,𝑝𝑟𝑒𝑙 𝑡, 𝑐𝑜𝑛𝑡𝑒𝑥𝑡(𝑐)• 𝐶 𝑢,𝑝是使用者 u 對餐廳 p 的打卡集合22情境不相關時貢獻少 情境相關時貢獻多避免情境不相關時得到高分
    • 測量使用者相似度• Distance-based:𝑠𝑖𝑚 𝑢, 𝑢′, 𝑡 =11 + (𝑠𝑢𝑚 𝑢, 𝑝, 𝑡 − 𝑠𝑢𝑚(𝑢′, 𝑝, 𝑡))2𝑝∈𝑃 𝑢𝑢′• Correlation-based:𝑠𝑖𝑚 𝑢, 𝑢′, 𝑡 =𝑠𝑢𝑚(𝑢, 𝑝, 𝑡) × 𝑠𝑢𝑚(𝑢′, 𝑝, 𝑡)𝑝∈𝑃 𝑢𝑢′𝑠𝑢𝑚(𝑢, 𝑝, 𝑡)2 × 𝑠𝑢𝑚(𝑢′, 𝑝, 𝑡)2𝑝∈𝑃 𝑢𝑢′𝑝∈𝑃 𝑢𝑢′• Cosine-based:𝑠𝑖𝑚 𝑢, 𝑢′, 𝑡 =𝑠𝑢𝑚(𝑢, 𝑝, 𝑡) × 𝑠𝑢𝑚(𝑢′, 𝑝, 𝑡)𝑝∈𝑃 𝑢𝑢′𝑠𝑢𝑚(𝑢, 𝑝, 𝑡)2𝑝∈𝑃 𝑢𝑢′× 𝑠𝑢𝑚(𝑢′, 𝑝, 𝑡)2𝑝∈𝑃 𝑢𝑢′• 𝑃 𝑢,𝑢′ 是被使用者 u 和 𝑢′共同打卡過的餐廳集合23
    • 舉例說明:𝑡 = 7月24日星期三晚上6點約27歲的情侶2人𝐶𝑆 = 𝐴與𝐵𝑝1 = 某家餐廳↓𝑝𝑟𝑒𝑑𝑖𝑐𝑡 𝐶𝑆, 𝑝1, 𝑡 =0.9 × 1 + 0.5 × 2 + 0.1 × 3 + 0.5 × 20.9 + 0.5 + 0.1 + 0.5= 1.6預測偏好評分• 同伴集合 CS 在情境 t 對餐廳 p 的預測偏好評分𝑝𝑟𝑒𝑑𝑖𝑐𝑡 𝐶𝑆, 𝑝, 𝑡 = 𝑘 𝑠𝑖𝑚 𝑢, 𝑢′, 𝑡𝑢′∈𝑈× 𝑠𝑢𝑚(𝑢′, 𝑝, 𝑡)𝑢∈𝐶𝑆• k 是正規化因子(Normalizing Factor)𝑘 = 1/ 𝑠𝑖𝑚(𝑢, 𝑢′)𝑢′∈𝑈𝑢∈𝐶𝑆24打卡多者影響大A B打卡少者影響小使用者相似時貢獻多 使用者不相似時貢獻少
    • 演算法 1 recommendationAlgorithm 1 recommendationInput: P, the set of all restaurantu, the userr, the user’s requestOutput: M, the suggested restaurant listM ⇐ {}for all p ∈ P doif distance(p, r.t.l) < 𝑟. 𝑡. 𝑑 thenM ⇐ M ∪ {p}end ifend forr.CS ⇐ r.CS ∪ ur.t ⇐ summarize_context(r.t,r.CS)for all p ∈ M dorating ⇐ predict(r.CS, p, context(r))assign_rating(p, rating)end forsort_by_rating(M)M ⇐ M[1 : n]return M 25
    • 演算法 2 summarize_contextAlgorithm 2 summarize_contextInput: r, the user’s requestOutput: r, the summary contextr.t.a <= avg_age(r.CS)r.t.s <= sex_index(r.CS)n ⇐ count(r.CS)if (n = 1) thenr.t.tc <= AloneelseR ⇐ {Friend : 0, Classmate : 0, Colleague : 0, Family : 0, Lover : 0}for all cs1 ∈ r.CS dofor all cs2 ∈ r.CS doif (cs1 != cs2) thenrel ⇐ relationship(cs1, cs2)assign_point(R,rel)end ifend forend forr.t.tc ⇐ relationship_of_max(R)end ifreturn r26
    • 測量不同社交圖與情境的相關性• 為了從偏好評分中觀察不同社交圖與情境資訊之間的相似度• 使用啟發式方法(Heuristic Approach)測量不同社交圖與情境資訊的相關性(Relevance)• 相關性是一個介於 0 到 1 的實數• 將用於協同過濾法中加權偏好評分𝑠𝑢𝑚 𝑢, 𝑝, 𝑡 =𝑟𝑒𝑙(𝑡,𝑐𝑜𝑛𝑡𝑒𝑥𝑡 𝑐 )×𝑟𝑎𝑡𝑖𝑛𝑔(𝑐)𝑐∈𝐶 𝑢,𝑝𝑟𝑒𝑙(𝑡,𝑐𝑜𝑛𝑡𝑒𝑥𝑡 𝑐 )𝑐∈𝐶 𝑢,𝑝× 𝑚𝑎𝑥 𝑐∈𝐶 𝑢,𝑝𝑟𝑒𝑙 𝑡, 𝑐𝑜𝑛𝑡𝑒𝑥𝑡(𝑐)27
    • 兩個情境的相關性測量模型• Location (l)• Distance (d)• Age (a)𝑟𝑒𝑙 𝑎 𝑡, 𝑡′=1, 𝑖𝑓 𝑡. 𝑎 = 𝑡′. 𝑎𝐶𝑜𝑒𝑓𝑎𝑎𝑏𝑠(𝑡.𝑎−𝑡′.𝑎), 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒• Sex Index (s)𝑟𝑒𝑙 𝑠 𝑡, 𝑡′=1, 𝑖𝑓 𝑡. 𝑠 = 𝑡′. 𝑠𝐶𝑜𝑒𝑓𝑠𝑎𝑏𝑠(𝑡.𝑠−𝑡′.𝑠), 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒• Time of Day (td)𝑟𝑒𝑙 𝑡 𝑡, 𝑡′ =1, 𝑖𝑓 𝑡. 𝑡𝑑 = 𝑡′. 𝑡𝑑𝐶𝑜𝑒𝑓𝑡𝑑𝑡𝑖𝑚𝑒_𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒(𝑡.𝑡𝑑,𝑡′.𝑡𝑑), 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒28
    • 兩個情境的相關性測量模型• Weekday (w)𝑟𝑒𝑙 𝑡 𝑡, 𝑡′ =1, 𝑖𝑓 𝑖𝑠𝑊𝑒𝑒𝑘𝑒𝑛𝑑 𝑡. 𝑤 = 𝑖𝑠𝑊𝑒𝑒𝑘𝑒𝑛𝑑(𝑡′. 𝑤)𝐶𝑜𝑒𝑓𝑤, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒• Month (m)𝑟𝑒𝑙 𝑚 𝑡, 𝑡′ =1, 𝑖𝑓 𝑡. 𝑚 = 𝑡′. 𝑚𝐶𝑜𝑒𝑓𝑚𝑚𝑜𝑛𝑡ℎ_𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒(𝑡.𝑚,𝑡′.𝑚), 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒• Number of Companion (nc)𝑟𝑒𝑙 𝑛𝑐 𝑡, 𝑡′=1, 𝑖𝑓 𝑡. 𝑛𝑐 = 𝑡′. 𝑛𝑐𝐶𝑜𝑒𝑓𝑛𝑐𝑎𝑏𝑠(𝑡.𝑛𝑐−𝑡′.𝑛𝑐), 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒29
    • 兩個情境的相關性測量模型• Type of Companion (tc)𝑟𝑒𝑙 𝑡𝑐 𝑡, 𝑡′ = 𝑇𝐶_𝑅𝑒𝑙𝑒𝑣𝑎𝑛𝑐𝑒𝑀𝑎𝑡𝑟𝑖𝑥 [𝑡. 𝑡𝑐][𝑡′. 𝑡𝑐]30Alone Friend Classmate Colleague Family LoverAlone 1Friend 1Classmate 1Colleague 1Family 1Lover 1• The Overall Relevance𝑟𝑒𝑙 𝑡, 𝑡′= 𝑟𝑒𝑙 𝑓 𝑡, 𝑡′𝑓∈𝐹𝑤ℎ𝑒𝑟𝑒 𝐹 = {𝑎, 𝑠, 𝑡𝑑, 𝑤, 𝑚, 𝑛𝑐, 𝑡𝑐}
    • 資料收集過程收集到 2010/8/15 至2012/4/30 的打卡資料每位受測者平均帶來365 位朋友從我們的 Facebook 好友名單中徵求受測者69 位受測者25184 位使用者7395 位曾打卡的使用者3928 位曾對餐廳打卡的使用者37305 個地點2691 家餐廳74283 次打卡8264 次餐廳打卡31
    • 此資料集的稀疏程度• 若轉換此資料集為使用者與餐廳的二元矩陣,此矩陣有 3928 行和 2691 列• 若定義稀疏程度為𝒏𝒐𝒏𝒛𝒆𝒓𝒐 𝒆𝒏𝒕𝒓𝒊𝒆𝒔𝒕𝒐𝒕𝒂𝒍 𝒆𝒏𝒕𝒓𝒊𝒆𝒔• 此資料集的稀疏程度為82643928 × 2691= 𝟎. 𝟎𝟎𝟎𝟕𝟖32
    • 選擇相似度測量法• 本系統可以自由選擇能產生最好結果的相似度測量法• 我們應用 LOOCV 評價改寫過的相似度測量法– Distance-based– Correlation-based– Cosine-based• 我們先將距離參數固定為 5 公里,因為人們通常不會考慮太遠的餐廳33
    • 各距離參數所涵蓋的範圍3434
    • 應用 LOOCV 的驗證過程35𝑪 𝟏 𝑹 𝟏 𝑪 𝟐 𝑹 𝟐 𝑪 𝟑 𝑹 𝟑𝑪 𝟏 𝑹 𝟏 𝑪 𝟐 𝑹 𝟐𝑪 𝟏 𝑹 𝟏 𝑪 𝟑 𝑹 𝟑𝑪 𝟐 𝑹 𝟐 𝑪 𝟑 𝑹 𝟑𝑪 𝟏Validation data Training dataRecommenderEvaluation𝑹 𝟏 𝑪 𝟐 𝑹 𝟐 𝑪 𝟑 𝑹 𝟑RecommenderEvaluationRecommenderEvaluationAccuracyUser check-inUser request with contextIt take a user requestwith context as inputand provide a top-Nlist of restaurantssorted by predictedrating.Finally, calculate theratio of hit data size tothe training data size.The goal is to lookinto the validationdata and matchrestaurant with thetop-N list.
    • 相似度測量法對推薦品質的影響36Distance-based Correlation-based Cosine-based10 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(%)※ 距離參數固定為 5 公里
    • 參考位置與距離參數的初步評價• 我們應用 LOOCV 評價這個系統• 選用基本的 Distance-based 相似度測量法• 推薦數量固定為 10、20 和 30 家候選餐廳• 距離參數固定為 0.5、1、2、3、4 和 5 公里• 進行只參考位置與距離參數的初步評價37
    • 距離參數對推薦品質的影響380 km 0.5 km 1 km 2 km 3 km 4 km 5 kmUnlimited10 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(%)距離參數越大,可選擇的餐廳越多,所以準確度會下降
    • 距離參數對推薦品質的影響390.5 km 1 km 2 km 3 km 4 km 5 km10 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(%)※ 只看推薦數量小於該距離參數之餐廳數量的情況距離參數越大,可選擇的餐廳越多,所以準確度會下降
    • 情境相關性測量模型之係數調整• 我們搜尋情境相關性測量模型的各項係數• 使偏好的餐廳更有可能出現在推薦清單的上方• 我們假設每個係數是獨立的• 搜尋精確度設定為 0.1• 如果係數是 0– 對應之情境維度的值需要分別被考慮• 如果係數是 1– 對應之情境維度不影響推薦• 只對受情境影響的項目進行搜尋(約占總數1.76%)𝑝𝑟𝑒𝑑𝑖𝑐𝑡 𝐶𝑆, 𝑝, 𝑡 = 𝑘 𝑠𝑖𝑚 𝑢, 𝑢′, 𝑡𝑢′∈𝑈× 𝑠𝑢𝑚(𝑢′, 𝑝, 𝑡)𝑢∈𝐶𝑆40> 𝟎
    • 係數搜尋結果𝑪𝒐𝒆𝒇 𝒂 𝑪𝒐𝒆𝒇 𝒔 𝑪𝒐𝒆𝒇 𝒕 𝑪𝒐𝒆𝒇 𝑤 𝑪𝒐𝒆𝒇 𝒎 𝑪𝒐𝒆𝒇 𝒏𝒄1 1 0.1 0.4 1 141Alone Friend Classmate Colleague Family LoverAlone 1 1 0.8 1 1 0Friend 1 1 1 0 1 0Classmate 0.8 1 1 0 1 0Colleague 1 0 0 1 1 0Family 1 1 1 1 1 0Lover 0 0 0 0 0 1
    • 社交圖與情境資訊對推薦品質的影響Average Position t-TEST (P Value)Round 1: Non-contextual information25.29 1Round 2: Time 22.02 0.11Round 3: Weekday 24.98 0.89Round 4: Type ofCompanion24.18 0.62Round 5: All 21.22 0.0442※只看受情境影響的項目
    • 評價這個系統• 我們應用 LOOCV 評價這個系統• 選用基本的 Distance-based 相似度測量法• 推薦數量固定為 10、20 和 30 家候選餐廳• 距離參數固定為 0.5、1、2、3、4 和 5 公里• 與基本的推薦方法對比– 基於亂數 (Random)– 基於流行性(Popularity)– 我們為團體推薦改寫的協同過濾法(CF)– 我們提出的社交圖與情境感知之協同過濾法(Context-CF)43
    • 各方法與距離參數之推薦準確度44500 m 1 km 2 km 3 km 4 km 5 km10 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(%)位置與距離參數對準確度影響最大
    • 各方法與距離參數之推薦準確度45500 m 1 km 2 km 3 km 4 km 5 km10 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(%)※只看推薦數量小於該距離之餐廳數量的情況位置與距離參數對準確度影響最大
    • 推薦準確度成長率46500 m 1 km 2 km 3 km 4 km 5 km10 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)與基於流行性(Popularity)相比如果使用者的選擇餐廳範圍比較大,本系統可以給出更好的推薦
    • 結論• 我們設計一個行動餐廳推薦系統– 應用 Facebook 開放圖(Open Graph)發現使用者與其朋友對餐廳的偏好– 實現團體使用者之餐廳推薦服務– 使用社交圖(Social Graph)與情境資訊(Contextual Infomation)增進推薦品質• 實驗結果顯示– 本系統在中、長距離(3 到 5 公里)的情境下,只看推薦數量小於該距離之餐廳數量的情況時,推薦準確度相對於基於流行性有顯著成長,成長率約 38%47
    • 感謝各位教授蒞臨指導48歡迎提問
    • 統計收集到的資料項目 比率受測者男女比(男/女) 1.16 37 / 32使用者男女比(男/女) 1.13 13309 / 11763曾對餐廳打卡的使用者男女比(男/女) 0.87 1825 / 2088曾對餐廳打卡的使用者比率 15.60% 3928 / 25184種類為餐廳的地點比率 7.21% 2691 / 3730549項目 平均值 中位數 標準差 最大值 最小值受測者朋友數 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
    • 各欄位的公開比率項目 比率公開年齡的使用者比率 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 / 2518450
    • 餐廳分布情況項目 比率餐廳打卡在大台北地區的比率 67.81% 5604 / 8264餐廳在大台北地區的比率 48.94% 1317 / 2691曾對大台北地區餐廳打卡的使用者比率 69.27% 2721 / 392851
    • 使用者與餐廳的各項統計項目 平均值 中位數 標準差 最大值 最小值 樣本數使用者對餐廳的打卡次數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曾對餐廳打卡的使用者對餐廳的打卡次數2.21 2 1.48 12 1 n=3928曾對餐廳打卡的使用者打卡過的餐廳個數2.10 2 1.35 10 1 n=392852
    • 餐廳打卡的各項統計53項目 平均值 中位數 標準差 最大值 最小值 樣本數餐廳打卡的餐廳被打卡次數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
    • 餐廳打卡的各項統計540500100015002010/82010/102010/122011/22011/42011/62011/82011/102011/122012/22012/4餐廳打卡數量月份0500100015002000餐廳打卡數量星期02004006008001000120014000 2 4 6 8 10 12 14 16 18 20 22餐廳打卡數量時間0200400600800100016171819202122232425262728293031餐廳打卡數量打卡者年齡大部分發生在近半年 周休二日明顯較多中餐和晚餐時間呈現峰值 打卡者年齡在 21 歲呈現峰值平均值
    • 餐廳打卡的各項統計550200400600800100016171819202122232425262728293031餐廳打卡數量同伴平均年齡0500100015002000250030001 2 3 4 5 6 7 8 9 10餐廳打卡數量同伴人數1101001000100000 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1餐廳打卡數量同伴性別指標110100100010000餐廳打卡數量兩位同伴的類型同伴年齡在 23 歲呈現峰值 常結伴同行同伴性別均勻分布 朋友數量是其他類型的 10 倍以上平均值平均值平均值
    • 餐廳打卡的各項統計561101001000100001 2 3 4 5餐廳打卡數量餐廳被打卡次數110010,0001,000,000100,000,0000 1 2 3 4總數每對使用者共同打卡過的餐廳數量110100100010000Friend Classmate Colleague Family餐廳打卡數量三位以上同伴的類型 (演算法總結)朋友數量是其他類型的 10 倍以上 只有 1 次打卡的餐廳打卡居多只有 1 次打卡的餐廳居多 共同打卡過的餐廳以 1 次居多02004006008001000120014001 2 3 4 5 ≧6餐廳數量餐廳被打卡次數平均值平均值
    • 系統架構與資料模型57FacebookGraph API DataRequestDatatransformation DBRecommendationModuleRetrieval ModuleA Context-aware and Social Graph based Restaurant Recommender SystemDataRequestMobileDevicescheckincheckin_idauthor_uidpage_idapp_idpost_idlatitudelongitudetimestamptagged_uidsmessagepagepage_idnamecategoriestypelatitudelongitudeuseruidnamebirthday_datesexsignificant_other_idfamily_idsemailemployer_idsschool_idsuser_relationshipsuidfriend_idsclassmate_idscolleague_idsfamily_idslover_ids
    • 系統通訊過程58MobileDevicesFacebookGraph APIRecommenderSystem8. GET/object?acess_token=…2. Redirect3. GET OAuth Dialog4. 302 Redirect including code parameter6.GET/oauth/authorize11. The suggested restaurant list5. GET recommender system callback URL7. Access token9. Data (API response)1. Login10. Request a recommendation
    • 推薦系統的評價指標• 如果系統推薦流行項目給使用者,使得準確度非常高,但這些資訊使用者很可能早已知道,因此不會認為這樣的系統是有價值的• 一般而言,系統推薦非流行項目會使得準確度降低,但使用者反而容易發現一些新奇的,自己找不到的偏好項目• 因此本系統以協同過濾法為基礎,期望產生令人滿意的推薦結果;而協同過濾的動機來自於人們通常會從品味相似的人得到最好的建議59Source: 刘建国, et al., 个性化推荐系统评价方法综述. 复杂系统与复杂性科学, 2009. 6(003): p. 1-10.
    • 係數搜尋過程60051015202530350 0.2 0.4 0.6 0.8 1PositionCoefficient Age051015202530350 0.2 0.4 0.6 0.8 1PositionCoefficient Sex Index2122232425260 0.2 0.4 0.6 0.8 1PositionCoefficient Time of Day24.82525.225.425.625.82626.226.40 0.2 0.4 0.6 0.8 1PositionCoefficient Weekday
    • 解釋急遽改變之現象61Item RatingA 2B 1C 1D 1E 1F 1G 1Item RatingA 1.5G 1C 0.99E 0.99D 0.98F 0.97B 0.96𝑪𝒐𝒆𝒇 𝒂=1 𝑪𝒐𝒆𝒇 𝒂=0.99Age (a):𝑟𝑒𝑙 𝑎 𝑡, 𝑡′ =1, 𝑖𝑓 𝑡. 𝑎 = 𝑡′. 𝑎𝐶𝑜𝑒𝑓𝑎𝑎𝑏𝑠(𝑡.𝑎−𝑡′.𝑎), 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒Validation dataValidation data
    • 係數搜尋過程62051015202530350 0.2 0.4 0.6 0.8 1PositionCoefficient Month051015202530350 0.2 0.4 0.6 0.8 1PositionCoefficient Number of Companion051015202530350 0.2 0.4 0.6 0.8 1PositionCoefficient Alone-Friend24.824.92525.125.225.325.40 0.2 0.4 0.6 0.8 1PositionCoefficient Alone-Classmate
    • 係數搜尋過程6325.2525.325.3525.425.4525.525.5525.60 0.2 0.4 0.6 0.8 1PositionCoefficient Alone-Colleague25.225.325.425.525.625.725.825.90 0.2 0.4 0.6 0.8 1PositionCoefficient Alone-Family25.225.2225.2425.2625.2825.30 0.2 0.4 0.6 0.8 1PositionCoefficient Alone-Lover2525.52626.52727.50 0.2 0.4 0.6 0.8 1PositionCoefficient Friend-Classmate
    • 係數搜尋過程6424.724.824.92525.125.225.325.40 0.2 0.4 0.6 0.8 1PositionCoefficient Friend-Colleague25.225.425.625.82626.226.40 0.2 0.4 0.6 0.8 1PositionCoefficient Friend-Family25.0525.125.1525.225.2525.325.350 0.2 0.4 0.6 0.8 1PositionCoefficient Friend-Lover25.0525.125.1525.225.2525.325.350 0.2 0.4 0.6 0.8 1PositionCoefficient Classmate-Colleague
    • 係數搜尋過程652525.52626.5270 0.2 0.4 0.6 0.8 1PositionCoefficient Classmate-Family25.2225.2425.2625.2825.30 0.2 0.4 0.6 0.8 1PositionCoefficient Classmate-Lover25.2525.325.3525.425.450 0.2 0.4 0.6 0.8 1PositionCoefficient Colleague-Family25.28825.2925.29225.29425.2960 0.2 0.4 0.6 0.8 1PositionCoefficient Colleague-Lover25.27525.2825.28525.2925.2950 0.2 0.4 0.6 0.8 1PositionCoefficient Family-Lover
    • 使用 Web 介面瀏覽餐廳的截圖66
    • 使用 Web 介面請求建議的截圖67
    • 使用 Mobile 介面的截圖68