林曉霞 劉敏 楊曉東 徐堯
(1. 山東科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,青島 266590;2. 山東科技大學(xué)信息工程系,泰安 271019)
隨著圖書館館藏?cái)?shù)量的快速增長,用戶越來越難以快速、準(zhǔn)確地獲取其需求的全部文獻(xiàn)資源。為更好地滿足用戶需求,館藏資源瀏覽及檢索過程中的個性化推薦服務(wù)應(yīng)運(yùn)而生,即個人圖書館服務(wù),如美國康奈爾大學(xué)的MyLibrary個性化服務(wù)。目前,推薦算法主要包括基于內(nèi)容的推薦[1]、基于協(xié)同過濾的推薦[2]、基于關(guān)聯(lián)規(guī)則的推薦[3]、基于網(wǎng)絡(luò)結(jié)構(gòu)的推薦[4]及混合推薦[5]等,而在圖書館個性化推薦中基于協(xié)同過濾的推薦算法應(yīng)用最廣泛,且對于提升和改進(jìn)圖書館服務(wù)起到一定作用。但是,基于協(xié)同過濾的推薦算法較依賴用戶對圖書的評價或閱讀反饋,通常用戶對所借閱圖書的評價不多,實(shí)際閱讀發(fā)生的圖書數(shù)量也有限(即數(shù)據(jù)稀疏問題),并且不斷加入新生和新書(即冷啟動問題),對協(xié)同過濾推薦算法的準(zhǔn)確性與可用性都帶來了很大挑戰(zhàn)。
為應(yīng)對數(shù)據(jù)稀疏問題,劉健[6]結(jié)合關(guān)聯(lián)語義鏈與傳統(tǒng)協(xié)同過濾算法,充分挖掘用戶信息,緩解數(shù)據(jù)稀疏的問題;Gong[7]通過聚類平滑的方法填充評分矩陣,以降低評分?jǐn)?shù)據(jù)的稀疏;Xu等[8]通過融合用戶和項(xiàng)目的預(yù)測評分,填充評分矩陣。以上方法雖然在一定程度上解決了數(shù)據(jù)稀疏的問題,但是推薦精度有待提高。為解決冷啟動問題,王成等[9]通過引入項(xiàng)目熱度對用戶相似度進(jìn)行改進(jìn),來提高推薦精度;鄭孝遙等[10]在傳統(tǒng)協(xié)同過濾算法中引入信任度,算法在推薦精度上有較大提高;Guo等[11]將顯式或隱式的評分和信任用戶相結(jié)合,對算法進(jìn)行改進(jìn);郭艷紅[12]運(yùn)用平均值法,作為新項(xiàng)目的預(yù)測值,改善了冷啟動問題;Ahn[13]提出一種新的啟發(fā)式相似度,改善了冷啟動下的推薦性能。
這些方法一定程度上解決了已有算法存在的一些問題,但是算法比較單一,實(shí)際應(yīng)用效果并不理想。
本文在上述研究的基礎(chǔ)上,提出一種融合信任相似度的個性化推薦方法,即利用借閱記錄中的借閱時長、借閱方式等構(gòu)建用戶-圖書評分矩陣,引入信任相似度對傳統(tǒng)的相似度進(jìn)行改進(jìn),根據(jù)鄰居用戶計(jì)算得到圖書推薦度,結(jié)合新書的推薦度,實(shí)現(xiàn)圖書推薦。實(shí)驗(yàn)結(jié)果表明,該改進(jìn)方法降低了評分稀疏,提高了圖書推薦的精度。
協(xié)同過濾推薦最早被運(yùn)用在電子商務(wù)領(lǐng)域[14],包括基于用戶的協(xié)同過濾推薦[15]和基于項(xiàng)目的協(xié)同過濾推薦[16]。
數(shù)據(jù)稀疏問題是協(xié)同過濾存在的最大問題,評分少將會導(dǎo)致評分?jǐn)?shù)據(jù)稀疏,進(jìn)而使用戶相似度計(jì)算不準(zhǔn)確,無法為用戶找到最近鄰居,影響推薦精度。在圖書館中,用戶和圖書的數(shù)量十分龐大,但是用戶借閱記錄中的評分極少,評價矩陣存在嚴(yán)重稀疏問題,無法準(zhǔn)確為用戶推薦圖書。
冷啟動問題是協(xié)同過濾存在的另一個問題,在高校中,每年都會有新用戶,新用戶沒有借閱記錄,在計(jì)算新用戶相似度時,沒有可依據(jù)的數(shù)據(jù),因此新用戶得不到良好的推薦;圖書館新購入的圖書,沒有被用戶借閱過,也無法被推薦。
本文對傳統(tǒng)協(xié)同過濾算法進(jìn)行改進(jìn),通過借閱信息構(gòu)建用戶-圖書評分矩陣來緩解數(shù)據(jù)稀疏和冷啟動問題,融入信任相似度來提高用戶的相似度,以解決存在的問題,提高個性化推薦精度。
本文的圖書館借閱數(shù)據(jù)包括用戶信息表(姓名、性別、單位)、圖書信息表(書名、出版社、作者、索書號)、借閱信息表(借閱時長點(diǎn)、借閱次數(shù))三個維度,利用圖書館借閱數(shù)據(jù)中這三個維度的信息,經(jīng)過分析處理,建立個性化推薦模型,將符合用戶需求的圖書推薦給用戶,為用戶提供個性化閱讀服務(wù)。融合信任相似度的個性化推薦模型如圖1所示。
圖1 融合信任相似度的個性化推薦模型
改進(jìn)后的融合信任相似度的個性化推薦模型主要包括數(shù)據(jù)資源層、個性化推薦層和應(yīng)用層。其中,數(shù)據(jù)資源層是將借閱記錄、用戶信息、圖書信息進(jìn)行預(yù)處理;個性化推薦層用于構(gòu)建評分和計(jì)算相似度,尋找最近鄰居;應(yīng)用層是根據(jù)推薦度的高低將圖書推薦給用戶。
傳統(tǒng)的協(xié)同過濾個性化推薦算法由于評分?jǐn)?shù)據(jù)稀疏,計(jì)算得出的用戶相似度不準(zhǔn)確,因而推薦精度很低。根據(jù)上面的分析,本文將對傳統(tǒng)的推薦算法改進(jìn),提出一種融合信任相似度的個性化推薦算法,可以將融合信任相似度的個性化推薦算法概括為以下步驟:①根據(jù)借閱記錄中的借閱信息,構(gòu)建用戶-圖書評分矩陣;②根據(jù)構(gòu)建的評分矩陣,使用余弦相似度計(jì)算出用戶相似度;③分別計(jì)算顯性信任度、隱性信任度、新用戶信任度,得出綜合信任度;④將用戶相似度與綜合信任度相融合,計(jì)算出改進(jìn)后的用戶相似度;⑤根據(jù)改進(jìn)后的用戶相似度,找到用戶的最近鄰居;⑥根據(jù)最近鄰居借閱的圖書,得出圖書的推薦度,與新書推薦度融合,得到最終的圖書推薦度。其中,輸入內(nèi)容為用戶借閱記錄、用戶信息、圖書信息、信任系數(shù)(α1、α2、α3),用戶相似度因子(β)、鄰居用戶數(shù),輸出內(nèi)容為圖書的推薦度。
在實(shí)際應(yīng)用中,高校圖書館雖然提供了評分功能,但是用戶對圖書的評分很少,甚至沒有,評分矩陣比較稀疏,因此可以通過借閱信息來構(gòu)建用戶-圖書評分矩陣。在圖書館的借閱系統(tǒng)中可以獲取用戶對圖書的借閱時長及借閱方式等相關(guān)數(shù)據(jù),本文以此為基礎(chǔ),構(gòu)建用戶-圖書評分矩陣。
用Rij表示用戶i對圖書j的借閱時長所得的評分,Tij表示用戶i對圖書j的借閱時長,Tmin表示該圖書被借閱的最短時長,Tmax表示該圖書被借閱的最長時長。
(2)借閱方式。用戶的借閱方式可以分為初借和續(xù)借。初次借閱時用戶沒有目的,只有所借閱的圖書對其有意義,用戶才會續(xù)借。因此,初借和續(xù)借兩種借閱方式的比重不同,用Bij表示用戶i對書j的借閱方式所得的評分,Bij可以根據(jù)歷史數(shù)據(jù)統(tǒng)計(jì)分析設(shè)置。
本文通過借閱時長、借閱方式兩者之和構(gòu)建評分矩陣,用R’ij表示構(gòu)建的評分矩陣,即R’ij=Rij+Bij,所構(gòu)建的用戶-圖書評分矩陣如表1所示。
表1 用戶-圖書評分矩陣
個性化推薦算法中,相似度是核心。傳統(tǒng)的協(xié)同過濾算法根據(jù)用戶相似度對未評分圖書進(jìn)行預(yù)測。實(shí)際上,除用戶間的相似關(guān)系外,用戶間隱含的信任關(guān)系也會影響圖書的推薦。在用戶之間,也會存在一種信任與被信任的關(guān)系,因此本文引入信任相似度,將信任相似度融入用戶相似度中。
(1)顯性信任度。顯性信任指用戶之間存在很明顯的信任關(guān)系,本文即共同借閱過相同書籍的用戶間存在顯性信任關(guān)系。兩個用戶共同借閱的圖書數(shù)量越多,顯性信任度越大。
用Bu表示用戶u的借閱書目集,Bv表示用戶v的借閱書目集,Bm表示與用戶v具有最多共同借閱書目的用戶借閱書目集,Bu∩Bv表示用戶u和用戶v的共同借閱書籍?dāng)?shù)量。
令表示用戶u和用戶v之間的直接信任關(guān)系,即用戶u信任用戶v的程度,直接信任度表示為公式(2)。
其中,Bu∩Bm表示用戶u與用戶v具有最多共同借閱書目的用戶的借閱書目集的交集。
信任度的范圍[0,1],當(dāng)Bu=Bm時,與用戶具有最多共同借閱書目的用戶信任度等于1;Bu=Bv時,信任度等于0;其他情況下直接信任關(guān)系的信任度小于1。
(2)隱性信任度。很多用戶之間沒有共同借閱過相同書籍,不存在顯性信任關(guān)系,無法直接計(jì)算信任度。本文利用信任的傳遞性來計(jì)算兩個用戶之間的隱性信任度,可以根據(jù)用戶之間的顯性信任關(guān)系推導(dǎo)出用戶之間隱含的信任關(guān)系,通過共同朋友的借閱信息,來實(shí)現(xiàn)個性化推薦。
用表示用戶u與用戶v的隱性信任,i表示用戶之間的共同朋友,m表示兩個用戶之間共同的朋友數(shù)量。
(3)新用戶信任度。新生剛?cè)胄?,借閱圖書時沒有目標(biāo),通常情況下更愿意信任同專業(yè)的同學(xué),且新生在填寫注冊信息時會有具體的學(xué)院專業(yè)信息。因此,本文提出新用戶信任,可以在一定程度上對新生進(jìn)行個性化推薦。新用戶信任用表示,通過歷史統(tǒng)計(jì)數(shù)據(jù)分析,相同專業(yè)的新用戶信任為0.6,不同專業(yè)的新用戶信任為0.4。
(4)綜合信任度。將上述3種信任進(jìn)行加權(quán)融合,得到用戶的綜合信任度。用來表示綜合信任度。
其中,α1、α2、α3分別表示顯性信任、隱性信任、新用戶信任的權(quán)值,并且α1+α2+α3=1。
(5)相似度計(jì)算。將信任相似度與用戶相似度進(jìn)行融合,得到最終的用戶相似度。simnew(u,v)表示改進(jìn)后的用戶相似度,sim(u,v)表示用戶相似度,表示信任相似度。
其中,0≤β≤1。
圖書推薦度指圖書的可推薦程度,計(jì)算出每本圖書推薦度后,將推薦度高的圖書推薦給用戶。本文將圖書分為已借閱圖書和新書兩類。
(1)已借閱圖書的推薦度。已借閱圖書的推薦度指已經(jīng)被借閱過的圖書的可推薦度。用Pu,i表示被借閱圖書的推薦度,若用戶已借閱多本圖書,表示用戶u對圖書的平均評分,表示用戶v對圖書的平均評分。
(2)新書推薦度。圖書館每年都會引進(jìn)一批新書,這些新書沒有用戶的評分及借閱記錄,無法推薦給用戶。同一院系中,雖然專業(yè)不同,但基礎(chǔ)課程差別不大,用戶的借閱需求基本相同。本文利用中圖分類號,進(jìn)行新書推薦。中圖分類法將相同學(xué)科、相同主題的圖書歸為一類。在圖書信息表中,通過索書號中的中圖分類號可以了解用戶借閱圖書類目,根據(jù)用戶以往的借閱記錄分析各類圖書所占的比重。以山東科技大學(xué)泰安校區(qū)的3個院系為例,根據(jù)用戶的以往借閱記錄,分析得出不同類型的圖書在各個院系所占的比重,如表2所示。
表2 不同類型的圖書在各個院系所占比重示例
(3)圖書推薦度。融合新書的推薦度和被借閱圖書的推薦度,得到最終的圖書推薦度。設(shè)Pz表示圖書推薦度。
其中,Pa表示新書的推薦度。
為驗(yàn)證本文所提出推薦算法的可用性,選取山東科技大學(xué)圖書館的后臺借閱記錄數(shù)據(jù)進(jìn)行試驗(yàn),將數(shù)據(jù)范圍定位為7197名學(xué)生的借閱記錄,時間跨度為2012年9月—2017年7月,共100986條借閱記錄,涉及283568本圖書。將這些數(shù)據(jù)劃分為訓(xùn)練集和測試集,訓(xùn)練集為2012年9月—2016年7月的借閱數(shù)據(jù),測試集為2016年9月—2017年7月的借閱數(shù)據(jù)。以隨機(jī)方式從信息系、經(jīng)管系、文法系中各抽取30名學(xué)生的借閱記錄進(jìn)行試驗(yàn)。
推薦準(zhǔn)確率是衡量算法推薦能力的標(biāo)準(zhǔn)之一,本文使用推薦準(zhǔn)確率(MAE)來驗(yàn)證算法的推薦質(zhì)量。MAE越小,則表示推薦越準(zhǔn)確。
其中,N為進(jìn)行預(yù)測圖書的數(shù)量,Rui為用戶的實(shí)際評分,Pui為預(yù)測的評分。
本文主要分析設(shè)計(jì)參數(shù)α1、α2、α3、β、不同鄰居數(shù)對推薦準(zhǔn)確率的影響,以及所構(gòu)建評分矩陣的有效性驗(yàn)證,設(shè)計(jì)5組不同的實(shí)驗(yàn),選擇最優(yōu)參數(shù),最后與其他模型進(jìn)行對比分析。
(1)評分矩陣的有效性驗(yàn)證。用評分?jǐn)?shù)據(jù)的稀疏來衡量用戶-圖書評分矩陣的有效性,計(jì)算得到改進(jìn)前的評分?jǐn)?shù)據(jù)稀疏為96.19%,通過構(gòu)建用戶-圖書評分矩陣,得出評分?jǐn)?shù)據(jù)稀疏僅為0.90%。
可以看出,本文提出的構(gòu)建方法,極大地改善了評分?jǐn)?shù)據(jù)的稀疏,解決了高校圖書館評分嚴(yán)重稀疏的問題。
(2)信任參數(shù)α1、α2對實(shí)驗(yàn)結(jié)果的影響。由于對于所有老用戶,α3=0;因此將信任參數(shù)分成10組分別進(jìn)行驗(yàn)證,對應(yīng)的MAE值如表3所示。
表3 參數(shù)組合對應(yīng)的MAE值
實(shí)驗(yàn)表明,在其他參數(shù)默認(rèn)的情況下,信任參數(shù)組合8時MAE值最小,即α1=0.2,α2=0.8時,MAE值最小,推薦效果最好。
(3)相似度權(quán)重因子β的取值。此實(shí)驗(yàn)驗(yàn)證β取值的大小對推薦效果的影響,推薦效果用也MAE來衡量,MAE值越小,推薦質(zhì)量也就越高。為找到MAE的最小值,實(shí)驗(yàn)將在訓(xùn)練集上以不同值進(jìn)行訓(xùn)練,在測試集中進(jìn)行測試,測試結(jié)果如圖2所示。
圖2 不同權(quán)重下MAE的值
由圖2可以看出,在β=0.4,根據(jù)公式(5),即信任相似度為0.6時,MAE值最小,此時推薦最準(zhǔn)確,因此本文將用戶相似度權(quán)重β設(shè)為0.4。
(4)設(shè)置鄰居個數(shù)。選擇不同的用戶規(guī)模進(jìn)行推薦,從用戶信息表中隨機(jī)抽取用戶,最近鄰居數(shù)分別取5、10、15、20、25、30,間隔為5。實(shí)驗(yàn)結(jié)果如圖3所示。
圖3 不同鄰居數(shù)下的MAE值
由圖3可以看出,在鄰居數(shù)15之前,MAE值逐漸減小,當(dāng)鄰居用戶為15時,MAE值最小,此時對用戶的推薦精度最高。
(5)本文提出的改進(jìn)算法與傳統(tǒng)協(xié)同過濾算法的對比。為驗(yàn)證本文算法的準(zhǔn)確性,基于相同的鄰居數(shù)下,對比傳統(tǒng)的協(xié)同過濾算法與改進(jìn)后的協(xié)同過濾算法下MAE的大小,實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 兩種不同算法的比較
從圖4可以清楚地看出,本文提出的改進(jìn)算法推薦精度明顯高于傳統(tǒng)協(xié)同過濾算法。
本文針對傳統(tǒng)協(xié)同過濾算法存在的問題,結(jié)合高校圖書館的實(shí)際特點(diǎn),提出了一種融合信任相似度的高校圖書館個性化推薦方法。以用戶的借閱信息構(gòu)建用戶-圖書矩陣,有效地解決了評分?jǐn)?shù)據(jù)嚴(yán)重稀疏的問題,將信任相似度融入傳統(tǒng)的用戶相似度,極大地提高了推薦精度,同時,提出的新生信任度及新書推薦度改善了冷啟動現(xiàn)象。實(shí)驗(yàn)結(jié)果表明,融合信任相似度的高校圖書館個性化推薦方法具有很好的推薦效果,但本文仍存在一定欠缺,后續(xù)將針對冷門圖書進(jìn)行推薦,提高資源利用率,并進(jìn)一步完善算法,以求達(dá)到更精確的推薦效果,為高校用戶提供更好的服務(wù)。