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