趙宇鳳
(寶雞職業(yè)技術學院,教務處,陜西,寶雞 721013)
作為業(yè)務創(chuàng)新的重要技術手段,推薦系統(tǒng)被廣泛用于向用戶推薦最合適的產品、服務或內容[1-2]。在圖書館中也可借助圖書推薦系統(tǒng)預測讀者潛在的閱讀偏好,從而提升讀者滿意度,提高圖書館的服務水平。推薦系統(tǒng)的核心是使用借閱記錄和相應的歸還記錄來創(chuàng)建與讀者、圖書相關聯的評分矩陣,通過評分的高低向圖書館讀者推薦圖書。由于圖書借閱次數是有限的,評分數據較為匱乏,因此通常該評分矩陣是稀疏的。為了解決稀疏問題,本研究使用矩陣分解方法來處理具有稀疏特征的評分矩陣,提升圖書推薦系統(tǒng)的準確性。使用真實借閱記錄組成的數據集進行實驗,結果表明該圖書推薦系統(tǒng)的準確率是可接受的。
協同過濾算法的主要思想是通過使用具有相似偏好和興趣的其他讀者的行為來預測一個指定讀者對某種圖書是否感興趣[3-5]。假設有一個m個用戶組成的列表U={u1,u2,…,um}和一個n個圖書組成的列表I={i1,i2,…,in}。在本研究中,基于協同過濾的預測問題是依據每個讀者Ui為圖書列表Iui給出的評分,預測出尚未對圖書列表評分的讀者Ua對指定圖書Iua的偏好評分。協同過濾過程如圖1所示。

圖1 協同過濾的流程
協同推薦技術包括最近鄰讀者計算和產生推薦列表2個步驟。
(1)最近鄰讀者計算
最近鄰讀者是讀者之間的相似度計算得出。領域越大,最終的推薦結果也越準確。讀者之間相似度的計算方法較多,本研究使用以下3種方法:皮爾遜相關系數法、余弦相似度法和歐式距離法[6]。實驗將確定哪種方法最優(yōu)。
令包括讀者u和v的評分矩陣用I表示,則這兩個讀者之間的皮爾遜相關系數的計算式[7]為式(1)。
(1)

讀者u和v之間的余弦相似度sim(u,v)的計算式[8]為式(2),
(2)
兩個讀者u和v的歐氏距離的計算式[9]為式(3),
(3)
為了便于對比,使用式(4)對計算得出的歐式距離進行歸一化轉換,
(4)
(2)產生推薦列表
產生推薦列表的依據是圖書的偏好得分。圖書的偏好得分越高,在推薦列表中排序就越靠前。選擇一組與活動用戶u(即待預測讀者)最近鄰的k個讀者,并將這k個讀者的評分用于預測活動用戶u對指定圖書i的偏好評分Pu,i。圖書偏好得分的計算式為式(5),
(5)
盡管基于相似讀者的協同過濾比較容易實現對偏好評分的預測,但是這種方法對數據稀疏性很敏感,而圖書評分數據往往比較匱乏,這意味著沒有足夠的數據可供預測使用。本研究提出矩陣分解模型以解決這個問題。
矩陣分解是解決推薦系統(tǒng)中稀疏數據問題的一種技術。矩陣分解模型將讀者和圖書都映射到維度為f的聯合因子空間,以便將讀者和圖書之間的關聯關系建模為該空間上的內部映射關系[10]。每個圖書項i與向量qi∈Rf相關聯,每個讀者u與向量pu∈Rf相關聯。其中Rf是f維的實空間。對于給定的第i個圖書項,向量qi元素衡量了圖書所對應隱特征的被關注程度。對于給定的讀者u,向量pu衡量了讀者對所對應隱特征的偏好程度。換句話說,矩陣分解的結果是給出與讀者和圖書的隱特征向量,這2個隱特征向量的點積就是圖書對應讀者的推薦分數[11]。矩陣分解的計算示例如圖2所示。

圖2 矩陣分解示例
使用2018—2019年某大學圖書館的41 767名不同專業(yè)、年級學生的圖書借閱記錄作為本研究的數據集。數據集被分為兩部分,80%用作訓練數據集,剩余20%用作測試數據集。這些圖書借閱記錄在本研究中被用來生成針對學生的推薦圖書。
本研究所提出的基于協同推薦的圖書推薦方法包括以下5個步驟。
步驟一:圖書館借閱記錄中有較完整的學生借閱記錄,由于缺乏足夠的能夠說明學生對所借閱圖書是否滿意的原始評分數據,因此本研究根據借閱記錄和相應的歸還記錄計算學生借閱時間長度,通過借閱時間的不同長度來生成學生對圖書的推薦評分。在本研究中,假設借閱時間越長意味著學生對該圖書的滿意度越高。因此,采用離散化方法將每位學生的借閱時間分割成等時間寬度的1至5的數值,數值越大,滿意度越高。時間寬度的計算方法為式(6),

(6)
在本研究的數據集中,最長的累計借閱時間為408天,而最短的累計借閱時間為1天。采用式(6)的方法計算不同借閱時間所對應的離散化時間寬度值,即偏好評分。計算結果如表1所示。

表1 轉換后的偏好評分表
采用均方根誤差(RMSE)作為評價評分準確度的離線指標[12]。對原始評分矩陣和轉換后的評分矩陣進行RMSE計算,結果如表2所示。由表2可知,轉換后的評分矩陣要優(yōu)于原始評分矩陣。

表2 不同數量圖書的RMSE比較
步驟二:采用矩陣分解法來探討影響每本圖書與學生興趣之間相關性的潛在因素。由于協同過濾數據會表現出較大的系統(tǒng)性傾向,即有些學生給出的評分整體比其他學生高,有些類型圖書(例如小說)比其他類型圖書更受學生歡迎,因而評分整體更高。直接使用評分數據進行預測會導致較大的偏差。因此本研究在評分計算式中引入的偏差值來解決這個問題。包含偏差的評分ru,i計算用式(7)[13]。
bu,i=μ+bi+bu
(7)
式中,μ表示整體平均評分,bu和bi分別表示學生u和圖書i的評分偏差。然后,學生i對圖書i的近似評分為式(8)。
(8)
式中,qi表示圖書與其隱特征的關聯程度,pu表示學生對圖書隱特征的偏好程度。
步驟三:使用皮爾遜相關性系數、余弦相似度和歐式距離,計算每個待預測學生與每個其他學生之間的相似度。
步驟四:根據相似度得分,然后選擇與待預測學生最相似的k名學生,并通過使用k位相似學生的圖書偏好評分來預測指定學生對指定圖書的評分。
步驟五:將3本具有最高偏好評分的圖書推薦給待預測學生。
根據步驟一的圖書偏好評分數據,可以計算每個學生的相似度評分。但是,由于評分矩陣非常稀疏,因此僅獲得了很少的相似度評分,如表3所示。

表3 沒有經過矩陣分解的學生的相似度評分
為了處理表3所示的稀疏數據問題,本研究首先用零填充缺失的值,然后應用偏差矩陣分解法對評分矩陣分解,最后計算活躍學生與其他學生之間的相似度評分。計算結果如表4所示。

表4 經過矩陣分解的學生相似度評分
表4顯示了通過各種相似度計算方法獲得的學生的相似度評分的示例。對皮爾遜相關系數和余弦相似度兩種計算方法所得出的結果略有不同。對于皮爾遜相關系數方法,前3名相似度得分的學生分別是S371、S426和S318,相似度分別為0.993 3、0.991 0和0.990 7。余弦相似度方法的結果表明,前3名相似度得分的學生分別是S3686、S371和S426,相似度分別為0.950 2、0.942 1和0.942 0。另一方面,基于歐式距離的前3名相似度評分學生分別是S371、S301和S426,相似度分別為0.235 4、0.216 7和0.211 9。
完成學生的相似度計算后,就可以依據偏好評分為學生推薦圖書。評分如表5、表6所示。具有最高偏好評分的3本圖書會被推薦給待預測學生。

表5 使用N=35的領域的指定圖書偏好評分

表6 使用N=40的領域的指定圖書偏好評分
使用式(9)的計算結果作為推薦系統(tǒng)準確度的離線評價指標,

(9)
式中,U是學生集合,u是待預測學生,R(u)是根據訓練數據集的偏好評分數據給學生u做出的圖書推薦列表,T(u)是在測試集上的推薦列表。
實驗將推薦圖書的評分分數與學生實際借閱的書進行了比較,以驗證每種方法的性能。比較結果如表7所示。實驗結果表明,基于皮爾遜相關系數所得出推薦結果精確度最佳。余弦相似度方法稍遜于皮爾遜相關系數方法,歐式距離方法的精確度最低。

表7 3種相似度計算方法的準確性比較 (單位:%)
采用用戶滿意度作為評價圖書推薦系統(tǒng)準確度的在線指標。因此,本實驗統(tǒng)計了學生對所推薦圖書的喜愛程度。從訓練數據集的借書記錄中隨機抽取了20名來自不同年級和專業(yè)的學生。根據預測的偏好評分值,向這些學生推薦3個具有最高偏好得分的圖書。然后要求學生從以下5個量化數值中選擇一個數值來描述他們對推薦圖書的喜愛程度:5.很感興趣;4.有點興趣;3.中立;2.不太感興趣;1.完全不感興趣。
在鄰域大小(N)為35的情況下計算推薦圖書,然后對20名學生的滿意程度進行統(tǒng)計,結果如表8所示。使用皮爾森相關系數方法、余弦相似度方法和歐式距離方法所推薦圖書的獲得學生很感興趣的人數(比例)分別為:9人(15.0%)、8人(13.3%)和7人(11.1%)。

表8 3種相似度方法所推薦圖書對學生吸引程度的對比
本研究使用協同過濾技術構建了面向圖書館的圖書推薦系統(tǒng)。讀者偏好評分矩陣是根據帶有時間戳的借閱記錄和相應的歸還記錄構建的。此外,本研究還通過矩陣分解技術來解決數據稀疏性問題,通過引入偏差值來對評分的系統(tǒng)性誤差進行糾正。實驗結果表明,該圖書推薦系統(tǒng)的準確度是可以接受的。未來,本研究計劃通過利用圖書屬性(如類別、出版商、作者)和學生的個人資料(如學院、學年和專業(yè))進一步提升圖書推薦系統(tǒng)的準確度。