使用者不用明確說出他們的需求,就可以提供使用者所需的資訊
The Personalization Process
數學符號代表:
Assume
n Items, each can be described as a s dimensional vector, i(j) : { b(j,1), b(j,2), ..., b(j,s) }
m Users,each can be described as a t dimensional vector, u(k): {a(k,1), a(k,2),..., a(k,t) }
I(u,k) : 沒有被User u(k) rated過的item集合
I(r,k) : 已經被User u(k) rate 過的item集合
The goal is to suggest Item i(j) belongs to I(u,k) and would interest User u(k).
Step:
- Collect Data:
‧data 必須是attributable
‧web上收集的資料往往包含許多需要被去除的noise
‧在IBM的分析中,發現user往往會願意多填一些資料,來提高系統的準確性。 - Build user-centric data model : 有很多方法可以表示data model,ex. vector, ontology, aggregate usage profile, ...
- Evaluation: 常用converage, mean absolute error及ROC sensitvity。
- Deployment: 常見有scalability的issue,希望可以real-time產生recommendation。
- all steps need to be monitored
通常推荐的方式可以分成兩大類:
Prediction Task:預測其他未被user rate過的item的rate值
Selection Task: 選擇N個最相關且未被rate過的item給user
Individual Vs Collaborative
- Individual : 使用content-based filtering systems,用item的內容及user自己的rate來推荐。
優點:可以建構在client side,因此比較不會有privacy issue
缺點:完全based on使用者自己之前的推荐,不會有"意外"發現其他interest的可能,而且必須確保推荐過的item本身可以access到。 - Collaborative: collaborative(Social) filtering,不使用item的內容,而使用user及其neighborhood的rate來決定是否推荐一篇article
缺點:new item and new user rating problem
優點:參考individual的缺點XD
- Reactive:需要user提供feedback,例如:rate所推荐的東西是不是符合需求。
- Proactive: user的feedback並不是影響推荐item的主因,它用其他"學"到的information來做推荐,如amazon。
- Item Related Information: 包含item descriptions 及 product/ domain ontology,通常用來處理unstructured data與item 的關聯。ex. 用keyword來描述document.
- User Related Information: 包含rating record, past user behaviour,少部份會採用demographic data(不易收集,且較item-based及user behavior不精確。)
- Hybrid: 因為兩個各有優缺點,所以有些system兩種方式都同時採用。
Memory Based Vs. Model Based
- Memory Based(lazy learning): 在query 進來當下才generalize(online)
ex. 傳統CF及content based filtering
缺點:scalability
優點:可以反映user interest的變化 - Model Based(eager learning):在query進來之前已經建好model(offline)
ex. item-based CF
Client Side Vs Server Side
- Client side: 資料儲存在client端
缺點:只適用Individual model
優點:可以在不同web site access data(但也要先知道怎麼拿client side的資料才行啊!) - Server side: 資料儲存在server端
優點:適用 Individual model及Collaborative Model,而且拿自己存的資料比較容易
Data
- Explicit data: 因為是user自己提供的,有時user會考量到privacy issue而提供較不精確的資料。
- Implicit data: 比較容易觀察到positive的Info,但negative observation往往很有用
(ex. last.fm上次討論到的一首歌才聽了一下就換下一首歌,不過last.fm沒有紀錄下來)
Personalization Techniques
- Content-Based Filtering:依據content本身的關聯性及user過去rate的資料來決定rate
缺點:推荐的東西會非常類似過去的資料 - Traditional Collaborative Filtering :依據相似user(與user 推荐過的history 找出有相似rate的其他user)的rate來決定
- Model Based Techniques: 根據data先train出一個model,之後的query就會根據train出來的mdoel來決定rate。train的方式大概分成以下3種:
‧Item-based: 建出item的similarity table(根據user rating的結果決定item的相似度)
缺點:O(n^2) ,改善方法是用K組similar items取代n個items。K表示model size,K越大,coverage會越小。(→這邊有點不大直覺,推測可能的想法是:在K越大,表示各個item視為相似的狀況越小,因此越難利用similarity去predict,而導致coverage會變小)
優點:可以比user-based有更好的predict
‧Clustering Based:將user或item分群,根據所屬群組的data來predict rate
‧Association and Sequence Rule: 利用一系列的Associate rule來predict rate。
Sequence及Association的差異在於Sequence是有序的,而Association不考慮條件本身的order
‧Markov Train Model: 3-tuple
A: set of items, S: k-tuple item visited , T: Transition Probability Matrix
‧Graph Theoretic Approach:將rating data轉成directed Graph,node:Actor, edge: 對user的predictability。所以predict User U(k) 對item i 的rate,就是計算有predict Item i的user 們到U(k)的shortest path。 - Hybrid Techniques :combind some of the techniques.
Issues
(一些比較trivial的我就直接略過了)
The Cold Start and Latency Problem
- New user problem: 新進使用者沒有history資料
- Cold Start problem:在collaborative system initial時,所有的user都沒有history
- New item (Latency) problem: 新的item缺乏rating資料
解決方法是利用Hybrid來取得一些額外的information
Data Sparseness
Item的數量會稀釋了user history data 佔總量的百分比 造成難以尋找similar user
解決方法:Item partitioning (domain specific)、Item clustering、Gauge set of items(指定某些必須要rate的item) ,簡單的說就是使用替代資料(domain, cluster)取代item。
Scalability:
user及item的數量太大,而使得memory based system無法負荷
Privacy
Recommendation List Diversity:
研究顯示diversification有positive effect(accuracy不高也沒關係),所以該如何在diversity與accuracy之間取得平衡?
Adapting to User Context:
無法將user與系統的previous interactions視為context也無法explicitly measure context,
Using Domain Knowledge
Managing the Dynamics in User Interests
Robustness
Trust
User Satisfaction: ex.
- RFM: Recency- When was the last order? , Frequency - How many orders have they placed with us? Monetary Value - What is the value of their orders?
- life-time value
- recommendation uptake
- MAE: Mean Absolute Error
- ROC curve: Receiver operating characteristic →參看wiki的圖
- Precision: 被推荐出來的item對的機率
- Recall: 對的item被推荐出來的機率
Utility: ex. novelty
Explainability:
Robustness: prediction stability, power of an attack
Performance and Scalability: response time