推薦系統(tǒng)實踐-利用上下文信息

時間上下文
時間信息對用戶興趣的影響表現(xiàn)在以下幾個方面:
①用戶興趣是變化的;
②物品也是有生命周期的;
③季節(jié)效應
給定數(shù)據(jù)集后,可以通過統(tǒng)計以下信息研究系統(tǒng)的時間特性:
①數(shù)據(jù)集每天獨立用戶數(shù)的增長情況;
②系統(tǒng)的物品變化情況;
③用戶訪問情況(統(tǒng)計用戶的平均活躍天數(shù),或者相隔T天來系統(tǒng)的用戶的重合度)
物品的生存周期
①物品平均在線天數(shù):
如圖所示,紐約時報等新聞類網(wǎng)站時效性很強,每條新聞熱起來快,冷下去也快,維基百科則不同:


②相隔T天系統(tǒng)物品流行度向量的平均相似度:

紐約時報的數(shù)據(jù)集中,相似度下降很快,說明系統(tǒng)的物品流行度分布變化很快,系統(tǒng)時效性很強。
推薦系統(tǒng)的實時性
實現(xiàn)推薦系統(tǒng)的實時性除了對用戶行為的存取有實時性要求,還要求推薦系統(tǒng)算法本身具有實時性,而推薦算法本身的實時性意味著:
①要求在每個用戶訪問推薦系統(tǒng)時,都根據(jù)用戶這個時間點前的行為實時計算推薦列表;
②推薦算法需要平衡用戶的近期行為和長期行為,既要讓推薦列表反應出用戶近期行為體現(xiàn)的興趣變化,又不能讓推薦列表完全受用戶近期行為的影響,要保證推薦列表對用戶興趣預測的延續(xù)性
推薦系統(tǒng)的時間多樣性
提高推薦系統(tǒng)的時間多樣性需要分兩步解決:首先,需要保證推薦系統(tǒng)能夠在用戶有了解的行為后及時調(diào)整推薦結果,使推薦結果滿足用戶最近的興趣;其次,需要保證推薦系統(tǒng)在用戶沒有新的行為時也能夠經(jīng)常變化一下結果,具有一定的時間多樣性
對于第一步,又可以分成兩種情況進行分析:
第一是從推薦系統(tǒng)實時性角度分析;第二即使是實時推薦系統(tǒng),由于使用的算法不同,也具有不同的時間多樣性。
給用戶推薦結果增加多樣性的思路:
①增加隨機性;
②將用戶每天經(jīng)??吹膬?nèi)容降權;
③每天給用戶使用不同的推薦算法

時間上下文推薦算法
1.最近最熱門
給定時間T,物品i最近流行度ni(T)可以定義為:


α是時間衰減參數(shù)
代碼如下:

def RecnetPopularity(records, alpha, T):
    ret = dict()
    for user, item, tm in records:
        if tm >= T:
            continue
        addToDict(ret, item, 1/(1.0+alpha*(T - tm)))
    return ret

我們還可以考慮時間信息對結果的影響,一般來說,用戶現(xiàn)在的行為應該和用戶最近的行為關系很大,因此,我們可以通過以下修正公式:


其中,t0是當前時間,tuj越靠近t0,在用戶u的推薦列表中獲得越高的排名。β是時間衰減參數(shù),需要根據(jù)不同的數(shù)據(jù)集選擇合適的值

時間上下文相關的UserCF算法
可以利用時間信息改進:


用戶u和v對物品i
產(chǎn)生行為的時間越遠,那么相似度越小
得到用戶相似度以后,可以通過如下公式預測用戶對物品的興趣:


其中,S(u,K)包含了和用戶興趣最接近的K個用戶。如果用戶v對物品i產(chǎn)生過行為,那么rvi=1,否則rvi=0
如果考慮和用戶u興趣相似用戶的最近興趣,我們可以設計如下公式:

時間段圖模型
時間段圖模型G(U,Su,I,Si,E,w,σ)為二分圖,U是用戶節(jié)點集合,Su是用戶時間段節(jié)點集合。E是邊集合,它包含了3種邊:(1)如果用戶u對物品i有行為,那么存在邊e(vu,vi)∈E;(2)如果用戶u在t時刻對物品i有行為,那么就存在兩條邊e(vut,vi),e(vu,vut)∈E。w(e)定義了邊的權重,σ(e)定義了頂點的權重

路徑融合算法首先提取出兩個頂點之間長度小于一個閾值的所有路徑,融合根據(jù)每條路徑經(jīng)過的頂點給每條路徑賦予一定的權重,最后將兩個頂點之間所有路徑的權重之和作為兩個頂點的相關度

假設P={v1,v2,...,vn}是一條路徑,這條路徑的權重取決于經(jīng)過的所有的頂點和邊:

這里的out(v)是頂點v指向頂點集合,|out(v)|是頂點v的出度,σ(vi)∈(0,1]定義了頂點的權重,w(vi,vi+1)∈(0,1]定義了邊e(vi,vi+1)的權重。
在定義了一條路徑的權重后,就可以定義頂點之間的相關度。對于頂點v和v',令p(v,v',K)為這兩個頂點間距離小于K的所有路徑,那么這兩個頂點之間的相關度可以定義為:


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

這里α和β是兩個參數(shù),控制了不同頂點的權重
根據(jù)書中離線試驗顯示,時效性強的數(shù)據(jù)集算法又明顯提升,諸如Wikipedia則沒有明顯區(qū)分
地點上下文信息
LARS通過研究數(shù)據(jù)集發(fā)現(xiàn),不同地理位置的人用戶興趣差距較大。45%的用戶活動范圍而不超過10英里,75%的用戶活動范圍不超過50英里。因此不能給用戶推薦太遠的地方。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容