推薦系統讀書筆記 五 利用上下文資訊

2022-05-07 16:03:17 字數 3346 閱讀 7211

上下文包括使用者訪問推薦系統的時間、地點、心情等。

5.1 時間上下文資訊

5.1.1 時間效應簡介

時間資訊對使用者興趣的影響表現在以下幾個方面:

1.使用者興趣是變化:關注最近行為

2.物品也是有生命週期的:

3.季節效應

5.1.2 時間效應舉例

5.1.3 系統時間特性的分析

包含時間資訊的使用者行為資料集由一系列三元組構成,其中每個三元組(u,i,t)代表了使用者u在時刻t對物品i產生過行為。在給定資料集後,可以通過統計如下資訊研究系統的時間特性。

(1).資料集每天獨立使用者數的增長情況:快遞增長期、平穩期、衰落期。

(2).系統的物品變化情況:

(3).使用者訪問情況:統計使用者的平均活躍天數,也可以統計相隔t天來系統的使用者的重合度。

1.資料集的選擇:delicious

2.物品的生存週期和系統的時效性

5.1.4 推薦系統的實時性

乙個實時的推薦系統需要能夠實時響應使用者新的行為,讓推薦列表不斷變化,從而滿足使用者不斷變化的興趣。

2.推薦演算法需要平衡考慮使用者的近期行為和長期行為,既要讓推薦列表反應出使用者近期行為所體現的興趣變化,又不能讓推薦列表完全受使用者近期行為的影響,要保證推薦列表對使用者興趣**的延續性。

5.1.5 推薦演算法的時間多樣性

時間多樣性高的推薦系統中使用者會經常看到不同的推薦結果。

提高推薦結果的時間多樣性需要分兩步解決:首先,需要保證推薦系統能夠在使用者有了新的行為後及時調整推薦結果,使推薦結果滿足使用者最近的興趣;其次,需要保證推薦系統在使用者沒有新的行為時也能夠經常變化一下結果,具有一定的時間多樣性。

1.在生成推薦結果時加入一定的隨機性。比如從推薦列表前20個結果中隨機挑選10個結果展示給使用者,或者按照推薦物品的權重取樣10個結果展示給使用者。

2.記錄使用者每天看到的推薦結果,然後在每天給使用者進行推薦時,對他前幾天看到過很多次的推薦結果進行適當地降權

3.每天給使用者使用不同的推薦演算法。可以設計很多種推薦演算法,在每天使用者訪問推薦系統時隨機挑選一種演算法給他進行推薦。

注意:要先保證精度,在此基礎上適當地考慮時間多樣性。

5.1.6 時間上下文推薦演算法

1.最近最熱門:沒有資訊的情況下先推薦歷史上最熱門的物品。在獲得使用者行為的時間資訊後,最簡單的非個性化推薦演算法就是給使用者推薦最近最熱門的物品了。給定時間t,物品i最近的流行度ni(t)可以定義為:

alpha是時間衰減引數

2.時間上下文相關的itemcf演算法

itemcf由兩個核心部分構成:

(1)利用使用者行為離線計算物品之間的相似度

時間資訊在以上兩個核心部分中都有重要的應用,這體現在兩種時間效應上:

(1)物品相似度:使用者在相隔很短的時間內喜歡的物品具有更高相似度。

回顧一下前面提到的基於物品的協同過濾演算法,它通過如下公式計算物品的相似度:

在得到時間資訊後,可以通過如下公式改進相似度計算:

式中引入了和時間有關的衰減項f,其中tui是使用者u對物品i產生行為的時間。f函式含義是,使用者對物品i和物品j產生行為的時間越遠,則f函式越小。數學衰減函式很多,本節使用如下衰減函式:

alpha是時間衰減引數,它的取值在不同系統中不同。如果乙個系統使用者興趣變化很快,就應該取比較大的alpha,反之需要取比較小的alpha。

t0是當前時間,tuj越靠近t0,和物品j相似的物品就會在使用者u的推薦列表中獲得越高的排名。beta是時間衰減引數,需要根據不同的資料集選擇合適的值。

3.時間上下文相關的usercf演算法

可以從以下兩方面利用時間資訊改進usercf演算法

(1)使用者興趣相似度:如果兩個使用者同時喜歡相同的物品,那麼這兩個使用者應該有更大的興趣相似度。

usercf通過如下公式計算使用者u和使用者v的興趣相似度:

可以用如下方式考慮時間資訊:

上面公式的分子對於使用者u和使用者v共同喜歡的物品i增加了乙個時間衰減因子。使用者u和使用者v對物品i產生行為的時間越遠,那麼這兩個使用者的興趣相似度就會越小。

在得到使用者相似度後,usercf通過如下公式**使用者對物品的興趣:

其中,s(u,k)包含了和使用者u興趣最接近的k個使用者。如果使用者v對物品i產生過行為,那麼rvi=1,否則rvi=0。

如果考慮和使用者u興趣相似使用者的最近興趣,可以設計如下公式:

5.1.7 時間段圖模型

時間段圖模型g(u,su,i,si,e,w,σ)也是乙個二分圖。u是使用者節點集合,su是使用者時間段節點集合。乙個使用者時間段節點vut會和使用者u在時刻t喜歡的物品通過邊相連。i是物品節點集合,si是物品時間段節點集合。乙個物品時間段節點vit會和所有在時刻t喜歡物品i的使用者通過邊相連。e是邊集合,它包含了3種邊:(1)如果使用者u對物品i有過行為,存在邊(2)如果使用者u在t時刻對物品i有行為,存在兩條邊。w(e)定義了邊的權重,σ(e)定義了頂點的權重。

定義完圖的結果後,最簡單的想法是可以利用前面提到的personalrank演算法給使用者進行個性化推薦。但時間複雜度越高,因此提出一種路徑融合演算法的方法,通過該演算法來度量圖上兩個頂點的相關性。

1.兩個頂點之間有很多路徑相連

2.兩個頂點之間的路徑比較短

3.兩個頂點之間的路徑不經過出度比較大的頂點

因此,路徑融合演算法首先提取出兩個頂點之間長度小於1個閾值的所有路徑,然後根據每條路徑經過的頂點給每條路徑賦予一定的權重,最後將兩個頂點之間所有路徑的權重之和作為兩個頂點的相關度。

假設p=是連線頂點v1和vn的一條路徑,這條路徑的權重γ(p)取決於這路徑經過的所有頂點和邊:

這裡的out(v)是頂點v指向的頂點集合,|out(v)|就是出度,σ(vi)取值範圍(0,1]定義了頂點的權重,w(vi,vi+1)取值範圍(0,1]定義了邊的權重。上面的定義符合上面3條原則的後兩條。

對於時間段圖模型,所有邊的權重都定義為1,而頂點的權重σ(v)定義如下:

alpha和beta是兩個引數,控制了不同頂點的權重。

5.1.8 離線實驗

1.實驗設定:得到三元組後,可以通過如下方式生成訓練集和測試集。對每乙個使用者,將物品按照該使用者對物品的行為時間從早到晚排序,然後將使用者最後乙個產生行為的物品作為測試集,並將這之前的使用者對物品的行為記錄作為訓練集。推薦演算法將根據訓練集學習使用者興趣模型,給每個使用者推薦n個物品,並且利用準確率和召回率評測推薦演算法的精度。本節將選擇不同的n進行10次實驗,並畫出最終的準確率和召回率曲線,通過該曲線來比較不同演算法的效能。

5.2 地點上下文資訊(未完成)

利用上下文資訊推薦

上下文包括使用者訪問推薦系統的時間 地點 心情等。一 時間上下文資訊 1.時間效應簡介 使用者興趣是變化的。因為使用者自身原因發生的變化。如小時候 長大了 工作時間增加等。若要準確使用者現在的興趣,應更關注使用者最近的行為。這樣只針對漸變的使用者興趣,對突變的使用者興趣很難起作用 物品有生命週期。如...

推薦系統8 利用時間上下文資訊

本節首先介紹各種不同的時間效應,然後研究如何將這些時間效應建模到推薦系統的模型中,最後通過實際資料集對比不同模型的效果。1.時間效應 時間資訊對使用者興趣的影響表現在以下幾個方面 使用者興趣是變化的 物品也是有生命週期的 季節效應。在給定時間資訊後,推薦系統從乙個靜態系統變成了乙個時變的系統,而使用...

推薦系統讀書筆記 利用使用者標籤資料

推薦系統的目的是聯絡使用者的興趣和物品,這種聯絡需要以來不同的媒介。grouplens在一篇文章中表示目前流行的推薦系統基本上通過3種方式聯絡童虎興趣和物品。delicious允許使用者給網際網路上的每個網頁打標籤,從而通過標籤重新組織整個網際網路。打標籤作為一種重要的使用者行為,蘊含了很多使用者興...