袁瑰霞
(安陽師范學院 圖書館,河南 安陽 455000)
近年來,我國科學技術發展迅猛,高校圖書館開始引入信息化技術,發揮館藏豐富的書籍資源作用,使教師用戶和學生用戶的整體知識素養得到有效的提升[1]。用戶通常通過信息檢索尋找符合自己需要以及喜好的書籍資源,但信息檢索的步驟較為煩瑣,許多用戶需要經過多次的關鍵詞檢索才能尋找到適合的資源,因此,許多高校圖書館在高校圖書館系統中引入信息推送模塊[2]。高校圖書館通過對各用戶的檢索記錄和借閱記錄進行整理,分析用戶行為數據,根據各用戶的資源點擊情況對圖書館資源進行分類與排序,制定推薦榜單[3]。許多熱門書籍資源不斷引進,高校圖書館還會將新進資源進行推薦,但許多高校圖書館還不能實現對最新的資源自動推薦,使用戶不能及時了解高校圖書館新進資源的更新情況,同時,高校圖書館的書籍資源推薦方法還不夠完善,本文研究基于協同濾波算法為提高高校圖書館的服務水平提供參考依據,對提高高校圖書館的個性化推薦效果具有重要的現實意義。
本文用戶信息數據來源于某高校圖書館的真實數據,主要包括學生注冊基本信息,后臺借閱記錄以及學習行為數據。獲取學生基礎數據是進行高校圖書館個性化推薦的信息基礎,本文首先通過不同用戶對圖書資源的打分和點贊,分析不同用戶的資源需求和圖書偏好,再通過數據支持模塊建立與知識庫和顯示終端的聯系,實現個性化推薦。本文數據共有6 820名學生,涉及395 876本圖書,134 571條借閱記錄。在學生的后臺借閱記錄中,包括借還書信息,借閱方式以及圖書信息。將高校圖書館中的各類信息進行整合,這些信息中存在著大量對個性化推薦結果不會產生影響的數據。因此,對該類信息的冗余數據進行相應的剔除,只保留幾條基礎信息數據。若數據中存在關鍵信息的缺失,則需要對該數據進行補充,如索書號、借還時間以及用戶證號等。對獲取的數據進行整理,若存在不完整的數據則需要進行補全修正,在數據檢查中發現近3年來存在此類情況的數據較少,為了避免后文進行數據處理時所產生的較大誤差,因此本文選取近3年的數據來研究用戶行為。
本文對于高校圖書館的數據集處理主要包括數據變化以及隱式數據的轉化。隱式數據表現著用戶與圖書館的瀏覽、借閱等互動行為,由于隱式數據不能直接反映出學生對于不同類型圖書資源的偏好,以及對書籍資源的喜好程度,只能從某類別的書籍借閱記錄中獲取用戶的偏好,并根據該類型圖書資源的;瀏覽與借閱次數好數量,判斷用戶對該類別書籍的喜好程度。本文基于協同過濾算法,將用戶借閱記錄的隱式反饋轉化對圖書資源類別的顯式評分,通過數據變化解決高校圖書館數據稀疏問題。本文將書籍類別進行進一步細分,將書目分為若干大類,根據用戶借閱圖書的隱私反饋轉化為對書目類別的興趣評分,以用戶的書目類別興趣的變換數據衡量用戶對某類圖書資源的興趣,進行興趣預測評分,具體公式為:

式中:xi為該類書籍的借閱數量,λ和γ分別為用戶和書籍的相關系數,興趣度與書籍借閱的數量成正相關關系,但增加幅度會逐漸減小。在興趣度中,認為借閱數量為5本的用戶興趣度明顯高于借閱數量為2本的用戶,但借閱數量為12本和15本的興趣度差異不大。在隱式評分轉化后,構建用戶與書籍類別的評分矩陣為:

矩陣中Rnj為第n個用戶對第j個書籍類別的興趣預測評分,在興趣評分計算完成后,便實現了顯性評分矩陣的構建,完成了數據轉換。
用戶與圖書的相似度定義及描述需要對用戶和圖書的相似度進行分別計算,本文采用內積法進行圖書相似度的計算,分別表示不同圖書的關鍵詞和對應的權重,將各類圖書的不同關鍵詞信息構成向量空間。選取相似的兩本圖書進行相似度的計算,查詢這兩本圖書的相同關鍵詞,并根據相同關鍵詞形成新的向量信息,計算圖書向量的相似度。設兩本書共有m個共同關鍵詞,根據兩本書的對應的不同向量進行計算,具體公式為:

其中兩本書分別表示為Wa和Wb,Bak和Bbk分別代表兩本書對應的向量,k為圖書的關鍵詞,B為關鍵詞對應的權重。其用戶相似度線性加權公式為:

式中:SIMnum和SIMt分別為用戶的數值型屬性相似度和文本型屬性相似度,SIMact為用戶活躍相似度。用戶與圖書的相似度定義及描述通過比對用戶動態信息表和圖書關鍵詞信息,列出相同關鍵詞,記錄關鍵詞出現的頻率,使用上文相同算法,計算得到用戶和圖書向量的相似度,具體計算公式為:

式中:Cn為用戶,通過上式建立用戶和圖書之間的關聯,SIMcn值越大,用戶和圖書的關聯度越高,個性化推薦的質量越高。
本文在協同過濾算法的基礎上,建立高校圖書館的個性化推薦模型,該模型由3個模塊構成,首先是利用知識庫技術,為高校圖書館個性化推薦提供核心數據的數據支持模塊,該模塊具有多個數據庫,其用戶信息庫中包括用戶的基本信息和個人書籍偏好類型等內容,個人書籍偏好信息中詳細記錄了用戶檢索頻率較高的關鍵詞和瀏覽的書籍類別。學習行為數據庫中存儲了用戶的學習行為過程中產生的軌跡信息,該數據庫也是評分模塊的主要數據來源。書籍資源庫是整個圖書館的圖書資源倉庫,具有學術資源和不同學科資源等,用戶評分數據反映著不同書籍資源的熱門程度,能夠為個性化推薦提供依據。個性化服務推薦模塊為個性化推薦提供技術支持,是個性化推薦服務的核心。最后一個模塊是新進資源推薦模塊,由于用戶獲取新進資源常常存在一定的滯后性,使新進資源不能充分發揮時效性作用,出現許多資源閑置的現象。因此該模塊根據用戶評分數據進行相似度判斷,進行新進資源的分類推薦。不同的相似度得分體現著書籍推薦質量,相似度較高的鄰集為預測的準確性提供保障。因此,需要將相關相似度和余弦相似度進行結合,調用存有相似數據的數據集中的數據,形成鄰集,根據設定比對規則實現個性化推薦。
為驗證本文方法的有效性,本文利用Matlab仿真軟件設置實驗環境,本文使用的實驗數據在A高校圖書館真實數據的基礎上,抽取部分具有代表性的作為實驗的測試集和訓練集,本次實驗共抽取用戶數據、圖書數據、圖書借閱記錄共18 000條。本文以查準率作為個性化推薦的效果,從縱向推薦和橫向推薦兩個角度進行驗證,其查準率公式為:

式中:sumv和sumh分別為成功推薦的圖書數量和全部推薦的圖書數量。縱向角度以學生的不同年級作為變量因素,用戶隨著年級的增長,對于書籍的喜好會產生一定的變化,因此會產生不同的推薦結果。
為了驗證本文算法在高校圖書館個性化推薦中的性能,本文將10 000條借閱數據隨機劃分為N個部分,為了便于后續的性能測試,取N值為10,以訓練集為基礎構建用戶的借閱模式,通過修正后的測試集數據進行圖書個性化推薦,為了保證試驗指標的穩定性和可靠性,將10組數據輪流做測試集,進行10組實驗,根據本文算法為用戶推薦和他興趣最相似的K個鄰居用戶喜歡的圖書,驗證不同K值下本文算法的性能指標,得到最終性能測試結果如表1所示。

表1 本文算法在不同參數下的性能
由表1可知,隨著K值的不斷增加,準確率和召回率不斷增高,K值越大,推薦列表中的圖書就越熱門,本文算法的性能較為理想,由此可見,K值對推薦的準確性具有重要作用。預測評分能夠展現本文算法進行個性化推薦預測的效果,通過平均絕對誤差對比不同算法的預測評分的準確性,具體計算公式為:

式中:Rc,n和Pc,n是用戶c對圖書n的預測評分和實際評分,N為測試集中的所有書籍數量,平均絕對誤差越小,推薦算法的準確性越大。以不同鄰居用戶K的取值為變量,驗證平均絕對誤差值的大小,具體對比結果如圖1所示。

圖1 不同算法平均誤差值對比
由圖1可知,傳統算法的平均絕對誤差均高于本文算法,在鄰居用戶為150時,平均絕對誤差最小,證明此條件下的推薦結果更為準確,與傳統算法對比發現,本文算法的性能更高,經計算得到的用戶相似度更準確,本文算法具有有效性。
本文通過獲取用戶信息數據,利用協同過濾法進行數據處理,定義及描述用戶與圖書相似度,建立高校
圖書館個性化推薦模型,完成個性化推薦,取得了一定的研究成果。同時,由于時間和條件的限制,本文研究還存在著諸多不足,有待于在今后的研究中深入探討,如未對圖書館中的教師用戶數據進行實驗,在今后的研究中還將對教師用戶的書籍喜好進行研究,完善對教師用戶的個性化推薦。另外,本文研究沒有充分考慮借閱超期等問題,未來還將不斷提高高校圖書館的服務水平。