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