本篇的思維導(dǎo)讀如下所示:
1住练、什么是上下文
本章之前提到的推薦系統(tǒng)算法主要集中研究了如何聯(lián)系用戶興趣和物品,將最符合用戶興趣的物品推薦給用戶愁拭,但這些算法都忽略了一點讲逛,就是用戶所處的上下文(context)。這些上下文包括用戶訪問推薦系統(tǒng)的時間岭埠、地點盏混、心情等,對于提高推薦系統(tǒng)的推薦系統(tǒng)是非常重要的惜论。比如许赃,一個賣衣服的推薦系統(tǒng)在冬天和夏天應(yīng)該給用戶推薦不同種類的服裝。推薦系統(tǒng)不能因為用戶在夏天喜歡過某件T恤馆类,就在冬天也給該用戶推薦類似的T恤混聊。
我們這里主要討論時間上下文,并簡單介紹一下地點上下文乾巧,討論如何將時間信息和地點信息建模到推薦算法中句喜,從而讓推薦系統(tǒng)能夠準確預(yù)測用戶在某個特定時刻及特定地點的興趣。
2卧抗、時間上下文
2.1 時間效應(yīng)
時間是一種重要的上下文信息藤滥,對用戶興趣有著深入而廣泛的影響。一般認為社裆,時間信息對用戶興趣的影響表現(xiàn)在以下幾個方面拙绊。
1)用戶興趣是變化的
2)物品也是有生命周期的
3)季節(jié)效應(yīng)
2.2 系統(tǒng)時間特性分析
在給定時間信息后,推薦系統(tǒng)從一個靜態(tài)系統(tǒng)變成了一個時變的系統(tǒng),而用戶行為數(shù)據(jù)也變成了時間序列标沪。研究一個時變系統(tǒng)榄攀,需要首先研究這個系統(tǒng)的時間特性。包含時間信息的用戶行為數(shù)據(jù)集由一系列三元組構(gòu)成金句,其中每個三元組(u,i,t)代表了用戶u在時刻t對物品i產(chǎn)生過行為檩赢。我們可以研究的時間特性如下:
數(shù)據(jù)集每天獨立用戶數(shù)的增長情況
系統(tǒng)的物品變化情況:比如物品的平均在線天數(shù),如果一個物品在某天被至少一個用戶產(chǎn)生過行為违寞,就定義該物品在 這一天在線贞瞒。因此,我們可以通過物品的平均在線天數(shù)度量一類物品的生存周期趁曼。
用戶訪問情況:我們可以統(tǒng)計用戶的平均活躍天數(shù)军浆,同時也可以統(tǒng)計相隔T天來系統(tǒng)的用戶的重合度。
相隔T天系統(tǒng)物品流行度向量的平均相似度:取系統(tǒng)中相鄰T天的兩天挡闰,分別計算這兩天 的物品流行度乒融,從而得到兩個流行度向量。然后摄悯,計算這兩個向量的余弦相似度赞季,如果相似度大,說明系統(tǒng)的物品在相隔T天的時間內(nèi)沒有發(fā)生大的變化奢驯,從而說明系統(tǒng)的時效 性不強申钩,物品的平均在線時間較長。
2.3 推薦系統(tǒng)的實時性
實現(xiàn)推薦系統(tǒng)的實時性除了對用戶行為的存取有實時性要求叨橱,還要求推薦算法本身具有實時性典蜕,而推薦算法本身的實時性意味著:
1)實時推薦系統(tǒng)不能每天都給所有用戶離線計算推薦結(jié)果,然后在線展示昨天計算出來的 結(jié)果罗洗。所以愉舔,要求在每個用戶訪問推薦系統(tǒng)時,都根據(jù)用戶這個時間點前的行為實時計 算推薦列表伙菜。
2)推薦算法需要平衡考慮用戶的近期行為和長期行為轩缤,即要讓推薦列表反應(yīng)出用戶近期行為所體現(xiàn)的興趣變化,又不能讓推薦列表完全受用戶近期行為的影響贩绕,要保證推薦列表對用戶興趣預(yù)測的延續(xù)性火的。
2.4 推薦結(jié)果的時間多樣性
那么,如何在不損失精度的情況 下提高推薦結(jié)果的時間多樣性呢淑倾?提高推薦結(jié)果的時間多樣性需要分兩步解決:首先馏鹤,需要保證推薦系統(tǒng)能夠在用戶有了新的 行為后及時調(diào)整推薦結(jié)果,使推薦結(jié)果滿足用戶最近的興趣;其次娇哆,需要保證推薦系統(tǒng)在用戶沒 有新的行為時也能夠經(jīng)常變化一下結(jié)果湃累,具有一定的時間多樣性勃救。
對于第一步,又可以分成兩種情況進行分析治力。第一是從推薦系統(tǒng)的實時性角度分析蒙秒。有些推薦系統(tǒng)會每天離線生成針對所有用戶的推薦結(jié)果,然后在線直接將這些結(jié)果展示給用戶宵统。這種類型的系統(tǒng)顯然無法做到在用戶有了新行為后及時調(diào)整推薦結(jié)果晕讲。第二,即使是實時推薦系統(tǒng)马澈,由于使用的算法不同瓢省,也具有不同的時間多樣性。
那么箭券,如果用戶沒有行為净捅,如何保證給用戶的推薦結(jié)果具有一定的時間多樣性呢?一般的思路有以下幾種疑枯。
在生成推薦結(jié)果時加入一定的隨機性辩块,
記錄用戶每天看到的推薦結(jié)果,然后在每天給用戶進行推薦時荆永,對他前幾天看到過很多次的推薦結(jié)果進行適當(dāng)?shù)亟禉?quán)废亭。
每天給用戶使用不同的推薦算法。
3具钥、時間上下文推薦算法
3.1 最近最熱門
在沒有時間信息的數(shù)據(jù)集中豆村,我們可以給用戶推薦歷史上最熱門的物品。那么在獲得用戶行為的時間信息后骂删,最簡單的非個性化推薦算法就是給用戶推薦最近最熱門的物品了掌动。給定時間T, 物品i最近的流行度 ni (T ) 可以定義為:
3.2 時間上下文相關(guān)的ItemCF算法
那么基于時間上下文宁玫,我們可以從以下兩個方面改進ItemCF算法粗恢。
1)物品相似度 : 用戶在相隔很短的時間內(nèi)喜歡的物品具有更高相似度。
2) 在線推薦:用戶近期行為相比用戶很久之前的行為欧瘪,更能體現(xiàn)用戶現(xiàn)在的興趣眷射。
首先回顧一下前面提到的基于物品的協(xié)同過濾算法,它通過如下公式計算物品的相似度:
而在給用戶u做推薦時佛掖,用戶u對物品i的興趣p(u,i)通過如下公式計算:
在得到時間信息之后妖碉,我們可以通過如下的公式來改進相似度計算:
上面使用的衰減函數(shù)可能的形式如下:
除了考慮時間信息對相關(guān)表的影響之外,我們也應(yīng)該考慮時間信息對預(yù)測公式的影響芥被,一般來說欧宜,用戶現(xiàn)在的行為應(yīng)該和用戶最近的行為關(guān)系更大,因此可以做如下的修正:
其中拴魄, t0 是當(dāng)前時間冗茸。上面的公式表明猛拴, tuj 越靠近t0 ,和物品j相似的物品就會在用戶u的推薦列表中獲得越高的排名蚀狰。
3.3 時間上下文相關(guān)的UserCF算法
與ItemCF一樣愉昆,我們也可以在以下兩個方面利用時間信息改進UserCF算法。
1)用戶興趣相似度:兩個用戶興趣相似是因為他們喜歡相同的物品麻蹋,或者對相同的物品產(chǎn)生過行為跛溉。但是,如果兩個用戶同時喜歡相同的物品扮授,那么這兩個用戶應(yīng)該有更大的興趣相似度芳室。
2)相似興趣用戶的最近行為 :在找到和當(dāng)前用戶u興趣相似的一組用戶后,這組用戶最近的興趣顯然相比這組用戶很久之前的興趣更加接近用戶u今天的興趣刹勃。也就是說堪侯,我們應(yīng)該給用戶推薦和他興趣相似的用戶最近喜歡的物品。
首先回顧一下UserCF的公式荔仁,UserCF通過如下公式計算用戶u和用戶v的興趣相似度:
其中N(u)是用戶u喜歡的物品集合伍宦,N(v)是用戶v喜歡的物品集合。
在得到用戶相似度后乏梁,UserCF通過如下公式預(yù)測用戶對物品的興趣:
考慮時間因素次洼,我們可以如下修改用戶相似度計算,增加一個時間衰減因子遇骑,用戶u和用戶 v對物品i產(chǎn)生行為的時間越遠卖毁,那么這兩個用戶的興趣相似度就會越小。:
同樣落萎,如果考慮和用戶u興趣相似用戶的最近興趣亥啦,我們可以設(shè)計如下公式:
3.4 時間段圖模型
在基于時間的圖模型中,時間段圖模型G(U,SU ,I,SI ,E,w,?)也是一個二分圖练链。U是用戶節(jié)點集合翔脱,SU 是用戶時間段節(jié)點集合。一個用戶時間段節(jié)點vut∈?SU 會和用戶u在時刻t喜歡的物品通過邊相連兑宇。I是物品節(jié)點 集合碍侦,SI 是物品時間段節(jié)點集合。一個物品時間段節(jié)點vit∈?SI 會和所有在時刻t喜歡物品i的用戶 通過邊相連隶糕。E是邊集合瓷产,它包含了3種邊:(1)如果用戶u對物品i有行為,那么存在邊 e(vu , vi ) ∈? E ; (2)如果用戶u在t時刻對物品i有行為枚驻,那么就存在兩條邊 e(vut , vi ), e(vu , vit ) ∈? E濒旦。
下圖是一個簡單的時間段圖模型示例。在這個例子中再登,用戶A在時刻2對物品b產(chǎn)生了行為尔邓。 因此晾剖,時間段圖模型會首先創(chuàng)建4個頂點,即用戶頂點A梯嗽、用戶時間段頂點A:2齿尽、物品頂點b、物 品時間段頂點b:2灯节。然后循头,圖中會增加3條邊,即(A, b)炎疆、(A:2, b)卡骂、(A, b:2)。這里不再增加(A:2, b:2) 這條邊形入,一方面是因為增加這條邊后不會對結(jié)果有所改進全跨,另一方面則是因為增加一條邊會增加 圖的空間復(fù)雜度和圖上算法的時間復(fù)雜度。
這里亿遂,我們不再使用PersonalRank算法給用戶進行個性化推薦浓若。相應(yīng)的,我們使用一種稱為路徑融合算法的方法崩掘,通過該算法度量圖中兩個頂點的相關(guān)性七嫌。
一般來說,圖上兩個相關(guān)性比較高的頂點一般具有如下特征:
1)? 兩個頂點之間有很多路徑相連;
2)? 兩個頂點之間的路徑比較短;
3)兩個頂點之間的路徑不經(jīng)過出度比較大的頂點苞慢。
這里實在是不好弄公式,直接截圖了:
4英妓、地點上下文信息
除了時間挽放,地點作為一種重要的空間特征,也是一種重要的上下文信息蔓纠。這里我們不詳細介紹了辑畦。