李艷萍 于麗梅 劉國麗 魯鵬
摘要:隨著互聯(lián)網(wǎng)的高速發(fā)展,網(wǎng)絡(luò)信息的規(guī)模越來越大,為了更高效的為用戶提供信息服務(wù),運用協(xié)同過濾算法的個性化推薦技術(shù)正廣泛的應(yīng)用于各類網(wǎng)絡(luò)信息服務(wù)系統(tǒng)。然而協(xié)同過濾算法存在著冷啟動、數(shù)據(jù)稀疏等問題,影響了系統(tǒng)的推薦精度。為了改善這一問題,本文在對傳統(tǒng)的協(xié)同過濾算法分析研究的基礎(chǔ)上,提出了一種改進方案,將基于項目的協(xié)同過濾與基于用戶的協(xié)同過濾技術(shù)聯(lián)合運用,通過相關(guān)反饋和查詢擴展的信息擴展方法,在一定程度上緩解了用戶-項目評分矩陣數(shù)據(jù)稀疏性問題,與傳統(tǒng)算法相比提高了推薦準確度。
關(guān)鍵詞:協(xié)同過濾;相似性;數(shù)據(jù)稀疏;個性化推薦
中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2015)07-0261-03
Abstract: With the rapid development of the Internet, there are more and more network information. In order to provide a more efficient information services, collaborative filtering based on personalized recommendation technology is widely used in various types of network service system. However, there are some problems with collaborative filtering algorithms, such as cold start, data sparse, these affect the accuracy of the information which systems is recommended. In this paper we studied the principles of collaborative filtering algorithm, proposed an method to improve the accuracy. It uses item-based collaborative filtering with user-based collaborative filtering, expands the information by relevance feedback and query methods, and it raise the recommendation accuracy than traditional algorithms.
Key words: collaborative filtering; similarity; data sparsity ; personalized recommendation
1引言
在信息技術(shù)高速發(fā)展的今天,互聯(lián)網(wǎng)的應(yīng)用已無孔不入,上網(wǎng)已成為人們獲取資訊的最首選方式。然而近十幾年來,隨著網(wǎng)絡(luò)上信息量的爆炸式增長,信息過載問題十分嚴重。在時間、精力等因素都有限的現(xiàn)實情況下,面對如此豐富的海量信息,人們反而很難從中便捷的獲得對自己有用的內(nèi)容。能夠更智能地為用戶提供個性化服務(wù)的推薦系統(tǒng)是解決這一問題的成功方法[1]。個性化推薦的本質(zhì)是信息過濾,是對web訪問信息進行數(shù)據(jù)挖掘,己經(jīng)被應(yīng)用于多個領(lǐng)域。Amazon、淘寶等購物網(wǎng)站上的商品推薦,F(xiàn)acebook、人人網(wǎng)等社交網(wǎng)絡(luò)上的人物推薦,YouTube、土豆等視頻點播網(wǎng)站的視頻推薦,這些都是個性化推薦的應(yīng)用所在。在各類個性化推薦技術(shù)中,協(xié)同過濾算法以其較高的推薦精度和推薦效率而被廣泛應(yīng)用。
2協(xié)同過濾推薦算法
協(xié)同過濾算法的一個基本假設(shè)就是具有相似喜好的用戶對于同一個項目會給出相似的評分。協(xié)同過濾技術(shù)綜合考慮網(wǎng)絡(luò)信息服務(wù)系統(tǒng)中所有用戶對于項目的評價信息,利用相似性度量尋找與當前用戶興趣偏好相似的近鄰用戶集合,選取最近鄰居在加權(quán)的基礎(chǔ)上利用近鄰用戶的興趣偏好值來預(yù)測當前用戶可能感興趣的項目。
采用協(xié)同過濾算法進行推薦時,主要分為三個步驟[2]:評分表示,近鄰選擇,產(chǎn)生推薦。算法流程如圖1所示。
1)評分表示
協(xié)同過濾算法的數(shù)據(jù)基礎(chǔ)就是不同用戶對各資源項目的評分,通常構(gòu)建一個m×n的矩陣來表示這些評分數(shù)據(jù),如表1所示。其中User代表用戶,Item代表項目,橫行矩陣I1、I2、…、In代表n個項目,縱向矩陣U1、U2、…、Um代表m個用戶,Rij代表用戶Ui對項目Ij的評分,用戶-項目矩陣就是m個用戶對n個項目的評分矩陣值。
2)近鄰選擇
協(xié)同過濾算法的推薦原理就是查找與目標用戶相似的近鄰用戶,通過近鄰用戶的評價對目標用戶產(chǎn)生項目推薦。近鄰用戶的選擇方法如下:計算目標用戶與推薦系統(tǒng)中其他所有用戶的相似性,根據(jù)相似性排序從大到小依次選擇前面的K個最相似的用戶作為目標用戶的最近鄰居集合。在這之一過程中,相似性度量方法的選擇對于推薦精度有著至關(guān)重要的影響,常用的相似性度量方法有皮爾遜相關(guān)、余弦相似性、修正的余弦相似性等。
3)產(chǎn)生推薦
目標用戶的“最近鄰居”集合產(chǎn)生后,根據(jù)鄰居用戶對項目的評分集合計算目標用戶對未評分項目的預(yù)測評分,最后利用TOP-N算法,選取預(yù)測評分中的前N項進行推薦。
由于協(xié)同過濾算法不需要分析資源項目的內(nèi)容信息,進行推薦時不僅可以適用于文本文字類項目,也可以推薦音頻、視頻、圖片等其他類型的資源項目,進而其應(yīng)用領(lǐng)域更為廣泛。
但在實際應(yīng)用中,協(xié)同過濾推薦技術(shù)也存在一些難以克服的問題,這些問題是當前研究的重點,概括起來主要問題有:(1)冷啟動問題,即系統(tǒng)中新添加的項目因其沒有被評分過導(dǎo)致其不能被推薦,或者是新注冊用戶因其沒有對項目進行過任何評分,導(dǎo)致推薦系統(tǒng)無法獲得其需求信息,也就難以為其提供推薦。(2)數(shù)據(jù)稀疏性問題[3],推薦系統(tǒng)中的資源項目數(shù)量規(guī)模非常巨大,但在使用中由于用戶自身偏好的不同,其參與評分的項目只涉及非常少的一部分,這就導(dǎo)致了用戶-項目評分矩陣的稀疏度非常高,通常商用推薦系統(tǒng)的稀疏度可以達到99%以上,評分矩陣的極度稀疏會嚴重影響協(xié)同過濾推薦的精確性。(3)可擴展性問題,也就是如何優(yōu)化算法,減少時間復(fù)雜度。
3算法改進
3.1 總體思想
為了緩解協(xié)同過濾算法的數(shù)據(jù)稀疏問題,利用相關(guān)反饋和查詢擴展的信息擴展方法,在所有項目中找到一組與目標用戶已評分項目最相似的未評分項目集合;通過目標用戶的最近鄰居對這些項目進行預(yù)測評分,將這些評分作為擴展信息添加的評分矩陣[4];重新生成目標用戶的最近鄰居,利用最近鄰居為目標用戶對所有原始未評分項目進行預(yù)測評分,最后選擇預(yù)測評分的最高N項向目標用戶推薦。
3.2 算法描述
輸入:用戶-項目評分矩陣R,擴展信息長度h,最近鄰居數(shù)knear
輸出:目標用戶Tx預(yù)測評分最高的N個項目(Top-N推薦)
3.3 實驗分析
為了驗證算法的有效性,我們采用MovieLens站點(http://movielens.umn.edu/)提供的數(shù)據(jù)集。選取MovieLens 100k數(shù)據(jù)集,其規(guī)格為10萬條評分記錄,實際包含943個用戶、1682部電影,其中每個用戶至少對20部電影進行了評分。評分數(shù)據(jù)取值為1~5,數(shù)值越高,表明用戶對該電影的偏愛程度越高。
評測過程中,隨機選取了數(shù)據(jù)集中80%的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集,另外20%的數(shù)據(jù)作為測試數(shù)據(jù)集,進行了5次隨機對比試驗。算法的推薦精度采用MAE指標衡量,MAE值越小,說明預(yù)測評分和用戶的實際評分相差就越小,推薦質(zhì)量越高。
利用前期試驗測得模型數(shù)據(jù),改進算法的參數(shù)設(shè)置為最近鄰數(shù)量knear=20,h=5,結(jié)果如圖2所示。5次試驗中改進算法的MAE值不同程度上均比傳統(tǒng)的基于項目的協(xié)同過濾算法的MAE值小,即準確度高。初步分析判斷,這可能是因為用戶評分信息稀缺造成傳統(tǒng)算法的推薦精度下降,說明信息擴展方法在一定程度上改進了推薦效果。
4 結(jié)論
本文對協(xié)同過濾算法進行了分析,針對其數(shù)據(jù)稀疏性問題,提出了一種有效的解決方案。通過將基于項目的協(xié)同過濾與基于用戶的協(xié)同過濾技術(shù)聯(lián)合使用,利用相關(guān)反饋和查詢擴展的信息擴展方法對評分矩陣進行數(shù)據(jù)填充,在一定程度上解決了數(shù)據(jù)稀疏性問題,與傳統(tǒng)算法相比提高了推薦準確度。試驗采用的是10萬條記錄的數(shù)據(jù)集,證明了該解決方案的有效性,但此方案是否能用于更大規(guī)模的數(shù)據(jù)集還有待進一步論證。
參考文獻:
[1] 馬宏偉,張光衛(wèi),李鵬. 協(xié)同過濾推薦算法綜述[J].小型微型計算機系統(tǒng),2009(7):1282-1288.
[2] 夏培勇.個性化推薦技術(shù)中的協(xié)同過濾算法研究[D].中國海洋大學(xué),2011:21-25.
[3] 姜維,龐秀麗.面向數(shù)據(jù)稀疏問題的個性化組合推薦研究[J].計算機工程與應(yīng)用,2012(21):21-25.
[4] 魯鵬. 個性化推薦系統(tǒng)中協(xié)同過濾技術(shù)的研究[D].河北工業(yè)大學(xué),2014:35-44.