本文的前提:
(1)基於用戶的的行爲進行推薦
(2)本文只關注註冊用戶,只對註冊用戶進行推薦
(3)數據量級:Youtube每天 百萬級別的視頻 ,百萬級別的用戶,總的播放數量超過10億
挑戰:
(1)用戶上載的視頻經常沒有元數據或元數據很少(視頻的量級和用戶的量級差不多)
(2)很多youtube視頻時間很多(小於10分鐘)User interactionsare thus relatively short and noisy.用戶的交互相對就短有時會成爲干擾數據。和netflix這樣的網站不同,電影租借能很明確表達用戶的興趣
(3)In addition, many ofthe interesting videos on YouTube have a short life cycle going from upload toviral in the order of days requiring constant freshness of recommendation.很多視頻在火之前,因爲推薦需要新鮮性,這些推薦視頻生命週期短
目標:
(1)匹配用戶興趣和目標視頻的內容
(2)推薦的結果必須經常更新,以反應用戶最近在網址上的活動(反映用戶的興趣的變化)
(3)推薦的可解釋性
系統設計:
(1)總的思想是:推薦用戶瀏覽過的videos相似的videos,以瀏覽過的videos作爲產生推薦的種子(seed)
(2)用到的數據:因爲video的元數據不完整或不正確或缺失給推薦帶來了不準性和難度,所以本算法就不用這些數據。而是使用用戶的瀏覽行爲數據
(3)相似/相關的video(related video):
- In this context, we define similar videos as those that a user is likely to watch after having watched the given seed video v.相似性定義爲一起被觀看的概率,概率越高,相似性或這相關度越高。
- video vi 的相似性 video集和:Ri
- In order to compute the mapping we make use of a well-known technique known as association rule mining [1] or co-visitation counts.用關聯規則挖掘計算
- Denoting this co-visitation count by cij , we define therelatedness score of video vj to base video vi as:
- global popularity,或者可以定義爲其他的全局正則化項
- We then pick the set of related videos Ri for a given seedvideo vi as the top N candidate videos ranked by their scores
r(vi, vj ). 挑選得分最高的n部vedio作爲candidate - For each pair of videos (vi, vj ),
there is an edge eij from vi to vj iff vj 2 Ri, with the weight
of this edge given by ,可以看成是圖或者是矩陣的形式
(4)推薦產生
- S:用戶顯示錶達感興趣的視頻集合,Ri:video相關聯/相似的視頻集和,candidate vedio 定義爲:
- 用C1作爲推薦 但是有一個問題:推薦的視頻比較窄,推薦的視頻和S會非常相似,推薦的相似性必須保證推薦的多樣性,可能對用戶來說是全新的(不同主題、不同題材的)視頻比較少。因此爲了解決該問題,可以把C1作爲seed產生種子,產生C2,一次類推產生Cn。這樣可以保證推薦的多樣性。其中
- 最終的推薦candidate爲(差集,看過的不推薦):
- 推薦的candidate的排序:三個影響因素:video quality,user specificity,diversification.
- 推薦指標:CTR點擊率
- 用其他兩種方法和推薦算法做對比:把具有最多瀏覽次數的視頻作爲推薦,把用最多戶顯示標爲感興趣的視頻作爲推薦,用戶評分最高的視頻作爲推薦最終的最簡結果比較如圖所示
- 從上圖可以顯著的看出推薦算法的點擊率最高,因此推薦算法是有效的