王 偉,徐德智,廖暉寰
(中南大學 信息科學與工程學院,湖南 長沙 410083)
隨著網(wǎng)絡的迅速發(fā)展,資源數(shù)量也成倍地增長。所面臨的問題已經(jīng)不是如何找到資源,而是怎樣從資源海洋中找到自己所需要的資源。用戶獲取所需資源最常用的手段就是搜索關鍵詞和瀏覽推薦資源。以往簡單的搜索和推薦資源并沒有考慮用戶的個性化需求(即沒有針對性),找到的資源可能與用戶需要的資源差距很大。此外,有時候用戶也無法準確地把自己的需求形象地表示出來。
所謂推薦引擎,就是不需要用戶額外的勞動,就可以根據(jù)用戶的個性化特征推測用戶可能感興趣的資源,然后再將其推薦給用戶。個性化推薦在某些領域已經(jīng)取得了成功,最有名的有亞馬遜推薦系統(tǒng)、Pandora音樂推薦系統(tǒng)等。目前,個性化服務的研究已經(jīng)越來越受重視,尤其是在電子商務領域和搜索引擎領域。
目前,針對推薦引擎的理論已經(jīng)有很多研究,推薦主要可以分為基于內(nèi)容的推薦、協(xié)同過濾推薦和混合推薦。協(xié)同過濾推薦又可分為基于用戶的推薦、基于項目的推薦和基于模型的推薦。參考文獻[1]中論述了推薦引擎的工作原理和其中涉及的各種推薦機制。參考文獻[2]和[3]中論述了在協(xié)同推薦算法中加入了用戶背景信息,將用戶或者資源進行分類以提高推薦的準確度。參考文獻[4]在協(xié)同推薦算法中加入時間因素以跟蹤用戶的短期興趣和長期興趣。以往的協(xié)同推薦算法都是根據(jù)用戶以往對于資源的興趣評分來推測該用戶對其他未評分的物品的興趣評分,它只考慮用戶對物品的態(tài)度,而忽略了物品本身的屬性和特征,因此對于新物品的推薦有“冷啟動”問題。此外,它還具有數(shù)據(jù)稀疏性問題。
針對以往協(xié)同過濾推薦算法的不足,本文提出了基于資源特征的協(xié)同過濾推薦算法。通過記錄和分析用戶在網(wǎng)站上的動態(tài)行為,將用戶對于資源的喜好轉(zhuǎn)化為用戶對于關鍵詞的興趣權重,將用戶興趣的變化轉(zhuǎn)化為用戶興趣關鍵詞權重的變化,以此建立用戶興趣模型。最后,通過建立用戶興趣模型與資源模型間的關聯(lián)達到資源推薦的目的。它不僅沒有“冷啟動”問題和數(shù)據(jù)稀疏性問題,而且能夠跟蹤用戶的長期興趣和短期興趣。
常用的相似度計算方法主要有歐氏距離、余弦相似性、相關相似性和修正的余弦相似性。本文采用余弦相似性[5]方法計算兩個空間向量的相似度。
設用戶 U1的關鍵詞集合為 A,U2的關鍵詞集合為B。如果U2為用戶,則取集合A和B的并集作為標準關鍵詞集合S,即S=A∪B;如果 U2為資源,則取集合 B作為標準關鍵詞集合S,即S=B。
設U1對應于 S的權重向量為 x,U2對應于 S的權重向量為 y,則x、y為 n維項空間上的向量。x與 y之間的相似性可以通過向量間的余弦夾角度量。因此U1和U2的相似性 Sim(U1,U2)為:
式中,分子為兩個向量的內(nèi)積,分母為兩個向量模的乘積。
本文提出的基于資源特征的協(xié)同推薦算法以用戶對于所有興趣關鍵詞的權重向量來描述用戶,以最喜歡目標資源的多個用戶的興趣權重向量來描述目標資源,通過計算目標資源向量與其他資源向量之間的相似度來查找與該資源最相似的資源,從而達到推薦的目的。整個推薦流程如圖1所示。
圖1 基于資源特征的協(xié)同推薦模型
本文的信息收集不同于以往的協(xié)同推薦算法,它通過收集用戶在網(wǎng)站上的動態(tài)行為來作為用戶的興趣源。以基礎教育資源網(wǎng)為例,能夠表達用戶愛好的操作行為主要有瀏覽、播放、下載、預覽、推薦、收藏、刪除收藏、分享、搜索、評分、評論、購買等。不同的行為所表達的用戶對于資源的愛好程度不一定相同(例如瀏覽和收藏表達的用戶愛好程度不一致)。因此,當用戶執(zhí)行該類操作時,需要記錄用戶操作的類型和訪問時間作為用戶興趣的依據(jù)。
考慮到網(wǎng)站的性能需求,用戶興趣模型的更新是周期性的,即離線進行。用戶興趣模型的建立和更新分為以下幾個步驟:
(1)將用戶行為記錄轉(zhuǎn)化為用戶關鍵詞興趣權重,并把對應關鍵詞的最后訪問時間設定為該行為的發(fā)生時間,然后刪除該行為記錄。在將用戶的行為轉(zhuǎn)化為用戶興趣關鍵詞權重時,根據(jù)行為的不同對應關鍵詞的權重增量也不同,例如瀏覽時與資源相關的關鍵詞的興趣權重分別增加a,而收藏時與資源相關的關鍵詞的興趣權重分別增加2a,刪除收藏則對應關鍵詞權重增量為-2a。關鍵詞興趣權重值最大不應超過Wmax(最大權重值Wmax為常數(shù)),且不能小于0(小于0則刪除該記錄)。
(2)根據(jù)時間窗(為一常數(shù))更新所有興趣關鍵詞權重。用戶的興趣可能會隨著時間的變化而變化,對于那些用戶不再感興趣的關鍵詞,其興趣權重應下降。因此,如果當前時間與某關鍵詞的訪問時間之差大于時間窗t時,則對應關鍵詞的權重 W會減少 b(b為常量),如果W≤0,則刪除該關鍵詞記錄。
(3)以用戶為單位采用極差變換法標準化用戶興趣關鍵詞權重。因為通過以上步驟獲得的用戶興趣模型是不標準的,需要進行標準化處理之后才能正確分析出用戶的興趣。
推薦結(jié)果的產(chǎn)生可以分為以下幾個步驟(相似度計算采用本文第2節(jié)介紹的余弦相似度計算方法):
(1)建立矩陣 A=(aij)m×n, 其中 m 為資源數(shù)量,n 為最喜歡目標資源的前n個用戶。矩陣的第i行記為Ai。
(2)計算目標資源R與所有用戶興趣模型的相似度,相似度最高的前n個用戶(也可以取相似度大于某個臨界值的所有用戶)即為最喜歡該資源的前n個用戶。設最喜歡目標資源 R的用戶集合 V={v1,v2,…,vn},目標資源 R與用戶 V[i]的相似度為 Sim(V[i],R),其中V[i]∈V。 設 A0=Sim(V[i],R),其中 i=0,1,…,N-1。
(3)分別計算用戶 V[i]的興趣模型與其他所有資源模型的相似度。設用戶V[i]對資源j的相似度為Sim(V[i],j),則 aij=Sim(V[i],j),其中 V[i]∈V;i=0,1,…,n-1;j=1,…,m-1。
(4)計算目標資源與其他資源之間的相似度。矩陣的每一個行向量都表示一個資源,其中A0為目標資源的向量。通過計算矩陣 A0與(Ai)T(i=1,2,…,m-1)的余弦相似度,選取相似度最高的前k個資源即為與目標資源最相似的資源,也就是推薦的資源列表。
本文基于北京國之源公司提供的基礎教育資源測試數(shù)據(jù)集對上述算法的有效性進行了測試,并與傳統(tǒng)的協(xié)同過濾推薦算法進行了比較。此數(shù)據(jù)集包含各類數(shù)據(jù)共9萬多條,數(shù)據(jù)集采用高中一年級的語文資源數(shù)據(jù)約3 000條,測試用戶數(shù)量為100,每個用戶至少訪問過30個資源。
推薦質(zhì)量的評價標準采用平均絕對誤差MAE(即通過計算預測的用戶評分與實際的用戶評分之間的誤差)來度量,MAE值越小,推薦質(zhì)量越高。
用戶u對于目標資源R的真實評分Pu,R可表示為:
式中,Sim(u,R)為用戶 u與目標資源 R的余弦相似度。
設目標資源 R 的最近鄰集合為 Np={r1,r2,…,rn},資源 R與資源 ri的相似度為 sim (R,ri)(其相似度計算按第3.3節(jié)的步驟進行),其中 ri∈Np。則用戶 u對于資源R的預測評分 Qu,R可表示為[6]:
式中,Sim(u,ri)為用戶 u與資源 ri的余弦相似度。
設預測的用戶評分集合為{p1,p2,…,pn},對應的用戶實際評分集合為{q1,q2,…,qn},則平均絕對誤差 MAE可表示為:
通過對本文所提出的基于資源特征的協(xié)同過濾算法進行測試和與傳統(tǒng)的協(xié)同過濾推薦算法進行比較可知,本文算法MAE值比傳統(tǒng)算法低。實驗結(jié)果如圖2所示。
圖2 基于項目特征的協(xié)同過濾推薦算法
從圖中可以看出,本文的基于資源特征的協(xié)同過濾推薦的準確性要比傳統(tǒng)的基于項目的協(xié)同過濾推薦算法高;鄰居數(shù)太少,會使推薦的準確率降低,而鄰居數(shù)太多,則對推薦的準確性影響不大。
本文所提出的基于資源特征的協(xié)同過濾推薦算法與傳統(tǒng)的基于項目的協(xié)同過濾推薦算法的主要不同點在于用戶興趣的表現(xiàn)方式不同。傳統(tǒng)的基于項目的協(xié)同過濾推薦算法是以資源整體為單位來表示用戶的興趣,而基于項目關鍵詞的協(xié)同過濾推薦算法是以資源特征為單位來表示用戶的興趣。
與傳統(tǒng)的基于項目的協(xié)同過濾推薦算法相比,本文所提出的基于資源特征的協(xié)同過濾推薦算法可以跟蹤用戶的短期興趣和長期興趣,不存在數(shù)據(jù)稀疏性問題和新資源的“冷啟動”問題,所需的顯示用戶反饋比較少,但是計算的復雜度比傳統(tǒng)算法高。
本文根據(jù)以往協(xié)同推薦算法的不足,提出了一種基于資源特征的協(xié)同過濾推薦算法。通過在基礎教育資源網(wǎng)上的實驗結(jié)果表明,該算法解決了數(shù)據(jù)稀疏性問題和新資源的“冷啟動”問題。同時,它還能夠跟蹤用戶的興趣變遷,而推薦質(zhì)量也有所提高。下一步的工作是研究根據(jù)用戶的背景和用戶的關鍵詞興趣模型對用戶進行聚類,以減少相似資源的計算開銷并提高推薦的準確性。
1]趙晨琳,馬春娥.探索推薦引擎內(nèi)部的秘密,第1部分:推薦引 擎初探 [EB/OL].(2011-03-16)[2012-03-02].http://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy1/.
[2]吳一帆,王浩然.結(jié)合用戶背景信息的協(xié)同過濾推薦算法[J].計算機應用,2008,28(11):2972-2974.
[3]劉旭東,葛俊杰,陳德人.一種基于聚類和協(xié)同過濾的組合推薦算法[J].計算機工程與科學,2010,32(12): 125-127.
[4]戰(zhàn)守義,井新.加入時間因素的個性化信息過濾技術[J].北京理工大學學報,2005,25(9):782-785.
[5]曾子明,于小鵬.電子商務推薦系統(tǒng)與智能談判技術[M].武漢:武漢大學出版社,2008:30-118.
[6]SARWAR B, KARYPIS G, KONSTON J, et al.Itembased collaborative filtering recommendation algorithms[C].In:Proceedings of the 10th international conference on World Wide Web, 2001:285-295.