黃 喬,尹四清
(中北大學(xué) 電子與計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,山西 太原030051)
隨著互聯(lián)網(wǎng)迅猛發(fā)展,網(wǎng)絡(luò)電視媒體也逐漸走入了千家萬(wàn)戶,面對(duì)其日趨成熟的發(fā)展,媒體內(nèi)容不斷豐富,資源量也在不斷的增大,給用戶在查找感興趣內(nèi)容時(shí)帶來(lái)了不便。為解決了這個(gè)問(wèn)題,引入了個(gè)性化推薦系統(tǒng),其中的協(xié)同過(guò)濾推薦技術(shù)[1]應(yīng)用比較廣泛,它是假設(shè)用戶A和用戶B具有相似的興趣度,即用戶A感興趣的內(nèi)容,用戶B同樣感興趣。在網(wǎng)絡(luò)電視推薦系統(tǒng)中的協(xié)同過(guò)濾算法,是根據(jù)所有用戶對(duì)已評(píng)分視頻的評(píng)分記錄來(lái)預(yù)測(cè)某一未評(píng)分視頻的評(píng)分,把用戶和視頻之間的評(píng)分記錄整理成一個(gè)用戶—項(xiàng)目評(píng)分矩陣,再通過(guò)評(píng)分矩陣獲取有價(jià)值的信息,進(jìn)行一系列的計(jì)算之后產(chǎn)生一個(gè)推薦列表。但這種傳統(tǒng)的推薦技術(shù)存在一些固有缺陷,例如,“稀疏性”問(wèn)題、“冷啟動(dòng)”問(wèn)題、“實(shí)時(shí)性”問(wèn)題等[2-3],針對(duì)這些問(wèn)題,很多人都進(jìn)行了研究,并提出了一系列的改進(jìn)算法。本文提出了一種將聚類、用戶相似—信任關(guān)系和項(xiàng)目屬性關(guān)系相組合的協(xié)同過(guò)濾推薦算法,該推薦算法能夠有效改善或克服傳統(tǒng)協(xié)同過(guò)濾技術(shù)中出現(xiàn)的問(wèn)題,為目標(biāo)用戶提供更好的推薦結(jié)果。實(shí)驗(yàn)結(jié)果表明,該算法能夠降低預(yù)測(cè)與實(shí)際用戶評(píng)分之間的平均絕對(duì)偏差,提高網(wǎng)絡(luò)電視推薦系統(tǒng)的推薦質(zhì)量。
網(wǎng)絡(luò)電視推薦系統(tǒng)[4]框架如圖1所示。
圖1 網(wǎng)絡(luò)電視推薦系統(tǒng)
1)Web服務(wù)器用來(lái)收集個(gè)人用戶信息并儲(chǔ)存到數(shù)據(jù)庫(kù)服務(wù)器中,也可將產(chǎn)生的推薦頁(yè)面呈現(xiàn)給用戶。
2)數(shù)據(jù)庫(kù)服務(wù)器主要用來(lái)存儲(chǔ)各類數(shù)據(jù)信息數(shù)據(jù)庫(kù)、用戶信息數(shù)據(jù)庫(kù)和用戶資料數(shù)據(jù)庫(kù)。
3)協(xié)同過(guò)濾推薦技術(shù)是該推薦系統(tǒng)的關(guān)鍵組成部分,主要通過(guò)對(duì)數(shù)據(jù)的處理,為用戶產(chǎn)生滿意的推薦結(jié)果。
本文提出的改進(jìn)算法是將聚類、用戶相似—信任關(guān)系和項(xiàng)目屬性關(guān)系相組合的協(xié)同過(guò)濾推薦算法。首先,聚類用于縮小原始數(shù)據(jù)集,獲得更有效的搜索空間,緩解推薦算法的實(shí)時(shí)性問(wèn)題。其次,用戶信任關(guān)系與用戶相似度相結(jié)合,用于搜尋最近鄰居用戶,解決算法稀疏性、冷啟動(dòng)等問(wèn)題。最后,基于項(xiàng)目屬性的算法用于預(yù)測(cè)評(píng)分計(jì)算,得到影片推薦結(jié)果。
相對(duì)于推薦技術(shù),人們更愿意通過(guò)朋友的介紹或向熟人打聽(tīng)有用的推薦信息,如果把信任的用戶加到推薦技術(shù)的用戶群里,那么利用該推薦技術(shù)推薦的信息就會(huì)更有價(jià)值?;谶@個(gè)思想,把信任關(guān)系引入到推薦系統(tǒng)中。本文中的信任主要是表示當(dāng)前用戶對(duì)其他用戶提供服務(wù)的評(píng)論。在本文中,信任度計(jì)算的數(shù)據(jù)來(lái)自于用戶之間主觀的信任評(píng)分,用戶信任被評(píng)用戶,值為1,否則為0,所構(gòu)成的評(píng)分矩陣即為用戶信任度矩陣Trust(i,j)。
根據(jù)某種相似度計(jì)算方法來(lái)計(jì)算用戶之間的相關(guān)性sim(i,j),得到用戶之間的相似度矩陣Sim(i,j)。其實(shí)對(duì)于評(píng)分矩陣來(lái)說(shuō),就是計(jì)算兩個(gè)行向量的相關(guān)性。計(jì)算相似度的方法[7]很多,通常用修正的余弦相似度公式,即
式中:Ric為用戶i對(duì)項(xiàng)目c的評(píng)分,為用戶i對(duì)項(xiàng)目的平均評(píng)分,為用戶j對(duì)項(xiàng)目的平均評(píng)分。
經(jīng)過(guò)各種研究表明,在同一應(yīng)用領(lǐng)域下,用戶的相似度和信任度存在相關(guān)性[8]。故將相似度和信任度線性結(jié)合,得到相似—信任度矩陣Q(i,j)=α×Sim(i,j)+(1-α)×Trust(i,j),α>0,其中α表示相似度的權(quán)重。再利用Q(i,j)來(lái)搜索當(dāng)前用戶的k個(gè)最近鄰居用戶。
網(wǎng)絡(luò)電視推薦系統(tǒng)中,影片的屬性有類型、導(dǎo)演、主演、關(guān)鍵字等。本文將影片類型按照愛(ài)情片、喜劇片、驚悚片、科幻片、戰(zhàn)爭(zhēng)片等進(jìn)行分類,每個(gè)分類作為項(xiàng)目屬性矩陣的一維,如果影片屬于該分類,則相應(yīng)的值為1,否則為0,所構(gòu)成的項(xiàng)目屬性關(guān)系矩陣為Item(i,j)。
用戶的注冊(cè)信息、對(duì)視頻的瀏覽記錄和評(píng)分記錄均被保存在數(shù)據(jù)庫(kù)服務(wù)器中,根據(jù)數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息進(jìn)行建模,產(chǎn)生用戶—項(xiàng)目評(píng)分矩陣U×I[9]。
根據(jù)用戶—項(xiàng)目評(píng)分矩陣進(jìn)行聚類。聚類算法描述如下:
大石油公司圍繞核心業(yè)務(wù)、重點(diǎn)資源類型構(gòu)建勘探資產(chǎn)。埃克森美孚主要圍繞深水、LNG和非常規(guī)在全球開(kāi)展勘探業(yè)務(wù)。殼牌注重LNG和深水,巨資并購(gòu)BG也是看中BG在深水和天然氣領(lǐng)域的優(yōu)質(zhì)資產(chǎn)。埃尼、道達(dá)爾等規(guī)模相對(duì)較小的大石油公司重點(diǎn)發(fā)展深水。國(guó)際大石油公司在非常規(guī)領(lǐng)域并不占有先機(jī),但通過(guò)并購(gòu)有技術(shù)專長(zhǎng)的美國(guó)本土小石油公司及自身研發(fā)來(lái)增強(qiáng)在非常規(guī)領(lǐng)域的技術(shù)實(shí)力。??松梨凇⒀┓瘕埖让绹?guó)本土公司都將頁(yè)巖油氣作為未來(lái)重回增長(zhǎng)的重要領(lǐng)域,BP最近以105億美元的價(jià)格擊敗殼牌獲得了必和必拓在北美的頁(yè)巖油氣資產(chǎn)[9]。這都體現(xiàn)了國(guó)際大石油公司力圖引領(lǐng)非常規(guī)的決心。
1)從數(shù)據(jù)源中隨機(jī)選取h個(gè)用戶作為聚類中心,記作{W1,W2,…,Wh}。并將h個(gè)聚類C1,C2,…,Ch初始化為空。
2)計(jì)算其余用戶與聚類中心用戶的相似性(距離),選擇相似性最高(即距離最短)的用戶,劃分到相應(yīng)的聚類中。
3)根據(jù)聚類用戶中所有對(duì)象的均值來(lái)確定一個(gè)新的聚類中心,轉(zhuǎn)入步驟2)。
4)當(dāng)每個(gè)聚類達(dá)到穩(wěn)定后,即可得到所求的用戶聚類C1,C2,…,Ch。
1)在h個(gè)聚類用戶C1,C2,…,Ch中檢索目標(biāo)用戶u所在的聚類Cβ;
2)通過(guò)用戶—用戶信任矩陣T檢索聚類Cβ的用戶—用戶信任矩陣T0=Trust(u,v),即為信任度矩陣T0;
3)通過(guò)用戶—項(xiàng)目評(píng)分矩陣S檢索聚類Cβ的用戶—項(xiàng)目評(píng)分矩陣D0,并進(jìn)行相似度計(jì)算,得到相似度矩陣S=Sim(u,v);
4)由Q(i,j)=α×Sim(i,j)+(1-α)×Trust(i,j),α>0,得到信任—相似矩陣Q(i,j),由Q(i,j)進(jìn)行k最近鄰用戶搜索[9],得到k個(gè)最近鄰用戶。
1)由k最近鄰用戶整理出相關(guān)的項(xiàng)目屬性關(guān)系矩陣Item(i,j),利用基于項(xiàng)目屬性的協(xié)同過(guò)濾推薦算法[9]對(duì)還未評(píng)分的項(xiàng)目進(jìn)行預(yù)測(cè)評(píng)分計(jì)算。用戶u對(duì)未評(píng)分項(xiàng)c的預(yù)測(cè)評(píng)分為[10]
式中:D為項(xiàng)目c的k個(gè)最近鄰居集合;Rud表示用戶u對(duì)項(xiàng)目d的評(píng)分;和分別表示用戶c和用戶d對(duì)項(xiàng)目的平均評(píng)分。
2)計(jì)算出項(xiàng)目的預(yù)測(cè)評(píng)分后,通過(guò)比較,選擇評(píng)分最低的前N個(gè)項(xiàng)目作為最終的推薦結(jié)果,傳送給Web服務(wù)器,反饋給用戶。
實(shí)驗(yàn)平臺(tái)使用CPU(Intel T2080 D-0 1.73G),1 Gbyte內(nèi)存,操作系統(tǒng)為Windows XP,語(yǔ)言為C++標(biāo)準(zhǔn)庫(kù)和MATLAB。
此次實(shí)驗(yàn)的數(shù)據(jù)集是一個(gè)著名的站點(diǎn)MovieLens提供的(http://movielens.umn.edu),MovieLens是一個(gè)基于Web的研究型推薦系統(tǒng),主要是用來(lái)記錄用戶對(duì)電影的評(píng)分等。數(shù)據(jù)集中包括用戶關(guān)于視頻的評(píng)分?jǐn)?shù)據(jù)(評(píng)分值從1~5的整數(shù)),用戶之間信任關(guān)系評(píng)分?jǐn)?shù)據(jù)(用戶之間存在信任關(guān)系評(píng)分為1,否則為0),整理出視頻的屬性關(guān)系(視頻屬于某一分類則值為1,否則為0)。
本文采用的評(píng)價(jià)推薦系統(tǒng)推薦質(zhì)量的標(biāo)準(zhǔn)是平均絕對(duì)偏差(Mean Absolute Error,MAE)[11]。通過(guò)計(jì)算用戶的預(yù)測(cè)評(píng)分和實(shí)際評(píng)分之間的偏差,來(lái)評(píng)價(jià)預(yù)測(cè)的精確性,偏差值MAE越小,推薦質(zhì)量就越高。設(shè)用戶的預(yù)測(cè)評(píng)分集合為{p1,p2,…,pn},用戶實(shí)際評(píng)分為{s1,s2,…,sn},平均絕對(duì)偏差MAE可通過(guò)下式計(jì)算得到
4.3.1 實(shí)驗(yàn)1
實(shí)驗(yàn)選取不同的權(quán)重值α來(lái)獲得不同的推薦效果。取定推薦視頻數(shù)n的值10。取最近鄰居數(shù)k的值為15,20,25,30。設(shè)置控制相似度和信任度比例的變量α的取值為0,0.2,0.4,0.6,0.8,1.0,MAE值隨著α值的變化而變化。結(jié)果如圖2所示。
圖2 實(shí)驗(yàn)1結(jié)果
從圖2的實(shí)驗(yàn)結(jié)果,可以看出最近鄰用戶數(shù)目越多,預(yù)測(cè)評(píng)分和實(shí)際評(píng)分的平均絕對(duì)偏差MAE值最小,即推薦效果越好。在不同的鄰居用戶數(shù)下,當(dāng)α取值接近0.7時(shí)都取得最好的推薦效果。
4.3.2 實(shí)驗(yàn)2
根據(jù)實(shí)驗(yàn)1中的結(jié)果,取推薦結(jié)果最好時(shí),α的值為0.7。對(duì)改進(jìn)的協(xié)同過(guò)濾推薦算法和傳統(tǒng)的協(xié)同過(guò)濾推薦算法的性能進(jìn)行比較。取最近鄰居數(shù)k的值為10,15,20,25,30,觀察MAE值。實(shí)驗(yàn)結(jié)果如圖3所示。
圖3 兩種算法實(shí)驗(yàn)結(jié)果對(duì)比
MAE值越小,推薦效果越好,從實(shí)驗(yàn)結(jié)果可以看出,改進(jìn)的協(xié)同過(guò)濾組合推薦算法的MAE值最小,可見(jiàn)本文提出的改進(jìn)算法推薦性能優(yōu)于傳統(tǒng)算法。
網(wǎng)絡(luò)電視正在快速發(fā)展,如何為用戶提供更加準(zhǔn)確和有效的信息是很重要的任務(wù),個(gè)性化推薦系統(tǒng)是完成這一任務(wù)的關(guān)鍵。本文提出的改進(jìn)算法,把聚類分析用于協(xié)同過(guò)濾推薦中,相對(duì)于原始用戶空間而言,由聚類產(chǎn)生的用戶搜索空間變小,從而使得最近鄰用戶搜索的效率變高,有效提高推薦算法的實(shí)時(shí)響應(yīng)速度。首先,使用信任度與相似度結(jié)合作為搜索最近鄰用戶的標(biāo)準(zhǔn)將更加精確。其次,信任度的計(jì)算并不依賴于用戶對(duì)視頻的評(píng)分?jǐn)?shù)量,即使評(píng)分?jǐn)?shù)量不多,只要有用戶之間的信任評(píng)分,就可以搜索到一定數(shù)量的鄰居用戶,并做出推薦,解決了“冷啟動(dòng)”問(wèn)題。實(shí)驗(yàn)研究結(jié)果也表明,組合推薦算法更加精確,達(dá)到了更好的推薦效果。
[1]ADOMAVICIUS Q TUZHILIN A.Toward the next generation of recommender systems:a survey of the state-of-the-art and possible extensions[J].IEEE Trans.on Knowledge and Data Engineering,2005,17(6):734-749.
[2]SARWAR B M.Sparsity,scalability,and distribution in recommender systems[D].Minneapolis,MN:University of Minnesota,2001.
[3]YU Li,LIU Lu,LI Xuefeng.A hybrid collaborative filtering method for multiple-interests and multiple-content recommendation in e-commerce[J].Expert Systems with Applications,2005,17(4):67-77.
[4]陳萌,楊成,王歡,等.交互式電視中個(gè)性化推薦系統(tǒng)的研究[J].電視技術(shù),2012,36(14):37-40.
[5]BRIN S,MOTWANI R,ULLMAN J D,et al.Dynamic itemset counting and implicate on rules for market basket data[C]//Proc.SIGMOD Record.California:[s.n.],2007:33-43.
[6]譚勇,榮秋生.一個(gè)基于K-means的聚類算法的實(shí)現(xiàn)[J].湖北民族學(xué)院學(xué)報(bào),2004,22(1):69-71.
[7]ZHOU Qiang.Researches into recommendatory algorithm of coordinated filtration in view of consummers[J].Journal of Nanchang Junior College,2006,15(3):88-89.
[8]GOLBECK J.Computing and applying trust in web-based social networks[D].Maryland:University of Maryland,2005.
[9]曾子明,余小鵬.電子商務(wù)推薦系統(tǒng)與智能談判技術(shù)[M].武漢:武漢大學(xué)出版社,2008.
[10]徐翔,王煦法.協(xié)同過(guò)濾算法中的相似度優(yōu)化方法[J].計(jì)算機(jī)工程,2010,36(6 ):52-54.
[11]MCLAUGHLIN M R,HERLOCKER J L.A collaborative filtering algorithm and evaluation metric that accurately model the user experience[C]//Proc.27th annual international ACM SIGIR conference on Research and development in information retrieval.Sheffield,United Kingdom:ACM,2004:329-336.