喬秀珍
(榆林學院 圖書館, 榆林 719000)
在推薦系統中,協同過濾技術的應用最為普遍。該技術的原理是:基于一組興趣相同的用戶對物品或者信息的偏好評價,發掘用戶、物品或者信息之間的關聯程度,并過濾篩選出其中的有用信息,以此向目標用戶進行推薦。因此,協同過濾技術適用于向特定用戶推薦可能感興趣的內容,并且具有快速及健壯性等優點。對于圖書館管理系統而言,若引入協同過濾技術,就能夠通過用戶借閱圖書的歷史信息向讀者用戶更準確地推薦其可能感興趣的圖書,從而實現個性化服務。基于上述觀點,本文提出一種基于協同過濾技術的圖書館管理系統的設計方案。
圖書館管理系統由查詢借閱、書籍管理等主要業務模塊構成,因此本文分別對其業務流程進行具體分析:
現有的圖書館管理系統中,查詢借閱的具體流程為:讀者根據自身實際需要,首先通過在百度等互聯網搜索引擎中輸入關鍵詞來查找出相關書籍的名稱,然后在圖書館管理系統中輸入書籍的名稱來進行查詢,在查找到目標書籍后完成實體書籍借閱及記錄等流程。
分析上述流程,發現其中存在的主要問題有3點:
第一,圖書館內的藏書資源并非完美無缺,因此可能出現圖書館藏書中缺少用戶所需書籍的情況;
第二,用戶通過百度等互聯網搜索引擎所查找到的結果,通常包含了搜索條件范圍內的若干本書籍,而現有的流程中缺少書籍推薦環節,無法幫助用戶明確具體的目標;
第三,性別、年齡、受教育程度、興趣等諸多方面相近的用戶,對書籍的需求具有較高的相似度,但現有的流程中沒有對用戶進行分類,無法實現協同推薦功能。
現有的圖書館管理系統中,書籍管理的具體流程為:圖書館根據與出版社之間商定的協議,結合近期熱點及用戶申請情況來進行書籍采購;然后由管理人員通知提交申請的用戶,并根據圖書索書號完成書籍的上架擺放;對于破損、過期的書籍,選擇性地將其歸檔或者銷毀。
分析上述流程可以發現:在實際情況中,許多用戶并不會主動提交書籍采購申請,因此書籍的采購存在盲目性的問題;根據圖書索書號進行擺放的方式,會導致有關聯的書籍擺放過遠的問題。
綜上所述,現有的圖書館管理系統在各功能方面都已形成了一套較為成熟的流程,但其中也存在著一些問題。此外,事物都在不斷的發展變化當中,用戶對系統功能的要求在提升,而管理人員對管理效率的要求也同樣在提升。因此,現有的流程必然需要作出相應的改進,才能夠滿足用戶不斷發展變化的需求。
本文從系統參與者的角度,對圖書館管理系統應當具備的功能進行分析,具體包括讀者用戶、圖書館管理人員以及系統管理員。
讀者用戶是圖書館管理系統的核心參與者,對圖書館管理系統的主要功能需求是:通過該系統,能夠查找并獲取自身所需求的藏書資源信息,然后完成書籍實體的借閱及歸還,同時還能夠在整個過程中獲得良好的個性化服務體驗。讀者用戶的用例圖,如圖1所示。

圖1 讀者用戶用例圖
圖書館管理人員的核心業務工作包括書籍管理以及讀者用戶管理,對圖書館管理系統的主要功能需求是:通過該系統,能夠對書籍進行全生命周期的管理,包括采購、登記、上架、下架等,并且能夠對讀者用戶進行分類管理。圖書館管理人員的用例圖,如圖2所示。

圖2 圖書館管理人員用例圖
系統管理員的核心工作是對圖書館管理系統進行維護管理,對圖書館管理系統的主要功能需求是:能夠通過該系統,實現用戶管理、數據庫管理、系統參數設置等。系統管理員的用例圖,如圖3所示。

圖3 系統管理員用例圖
基于系統業務流程以及系統功能需求的分析結果,本文對圖書館管理系統的總體架構進行設計,具體包括功能架構、邏輯架構、數據架構三個方面。
根據系統功能需求分析結果,本文針對讀者用戶、圖書館管理人員以及系統管理員等不同用戶的實際需求,對圖書館管理系統的主要功能模塊進行設計,如圖4所示。

圖4 系統功能架構
B/S模式具有開發簡單、易實現、維護方便、擴展性良好、管理成本低等優點,并且其分布性特征能夠有效保障系統的穩定運行。因此,本文所設計的圖書管理系統采用B/S模式進行架構,由用戶界面層、業務邏輯層、數據訪問層組成,如圖5所示。

圖5 系統邏輯架構
本文所提出的圖書館管理系統設計方案的主要目標是實現智能推薦功能,因此必須高效合理地對歷史數據進行處理。根據上述要求,本文對圖書館管理系統進行數據架構設計,基于關系數據庫建立讀者信息表、圖書信息表、預約圖書信息表等數據表格,以此來存儲歷史數據,為進一步的數據處理及挖掘工作提供支持。以書籍信息數據表為例,具體如表1所示。

表1 書籍信息數據表
在本文所設計的圖書館管理系統中,協同過濾算法的主要作用是基于讀者用戶的書籍借閱、書籍評分以及資源檢索等歷史信息,通過對這些單維數據進行分析處理,最終預測讀者用戶的偏好,以此實現書籍推薦功能。具體來說,書籍推薦功能的實現過程可分為兩個階段:首先,歸納統計讀者用戶借閱書籍后的歷史評分信息,以此建立用戶-圖書評價矩陣,作為協同過濾算法的輸入數據;然后,利用協同過濾算法進行計算,并根據所得到的預測結果進行推薦。
在利用協同過濾算法進行推薦預測這一階段,主要是通過計算相似度、相似近鄰選擇及預測值,然后對計算結果進行排序來實現的,具體計算方法如下:
本文選擇了能夠較好地描述變量間線性相關程度的皮爾森相關系數,以此對用戶與用戶、書籍與書籍間的相似性進行計算。變量正則表示相關,為0則表示不相關,若為-1則表示完全負相關。設兩個讀者用戶a與u都評價過的書籍集合為Ia,u,則這兩個讀者用戶間的相似性的計算式為式(1)。
sim(a,u)=corra,u=
(1)
設讀者用戶u對書籍i的評分數據為Ru,i,對書籍j的評分數據為Ru,j,借閱過書籍i和書籍j的讀者用戶集合為Uij,則書籍i和書籍j的相似性的計算公式為:
sim(i,j)=corri,j=
(2)
為了保證相似近鄰具有較高的可信度,本文在選擇過程中僅篩選出相似度大于0的鄰居作為近鄰。設S(u)為讀者用戶u的相似近鄰集合,則其計算式為式(2)。
S(u)={ua|ua∈T(u),sim(ua,u)>0,ua≠u}
(3)
設S(i)為書籍i的相似近鄰集合,則其計算式為式(4)。
S(i)={ik|ik∈T(i),sim(ik,i)>0,ik≠i}
(4)
根據上述計算結果,進一步計算出讀者用戶u對書籍i的評分預測為式(5)。
(5)
為了驗證本文所設計的圖書管理系統的可行性及性能情況,分別對該系統的主要功能模塊及運行性能進行測試。
圖書管理系統主要功能模塊的測試過程為:讀者用戶訪問并登錄本系統后,輸入關鍵字進行書籍查找操作,然后在查找結果中選擇目標書籍并完成借閱手續,之后對該書籍進行評分反饋。圖書管理系統會自動記錄讀者用戶的評分信息,并根據協同過濾算法來進行預測,最終向讀者用戶提供圖書推薦功能。圖書管理系統主要功能模塊的測試結果如下。
(1) 用戶登錄
讀者用戶輸入賬號后完成登錄圖書管理系統的操作,系統登錄界面如圖6所示。

圖6 用戶登錄界面
(2) 書籍檢索
讀者用戶輸入關鍵詞進行書籍查找操作,書籍檢索結果如圖7所示。

圖7 圖書檢索界面
(3) 書籍推薦
圖書管理系統通過協同過濾算法對讀者用戶的歷史評分信息進行計算,向讀者用戶提供書籍推薦結果,如圖8所示。

圖8 書籍推薦界面
本文所構建的系統性能測試環境為:服務器采用Intel Core 3.40GHz處理器,安裝Windows Server 操作系統;客戶機采用Intel Pentium 1.86GHz處理器,安裝Windows 7操作系統;網絡環境為100M局域網。
圖書管理系統性能測試的具體過程為:由客戶機所安裝的瀏覽器對圖書管理系統進行訪問,模擬若干個用戶進行系統登錄、書籍借閱、書籍評分以及書籍推薦等操作,對系統運行情況進行測試。
圖書管理系統性能測試的結果如表2所示。

表2 圖書管理系統性能測試結果
從表2所示的測試結果可以看到,本文所設計的圖書管理系統在不同的負載情況下,均表現出較好的穩定性,并且對模擬用戶的各項操作能夠及時響應,CPU占用率、內存占用率、平均響應時間等各方面的數據都達到了較高水平。
本文所設計的圖書館管理系統,通過引入協同過濾技術,能夠根據讀者用戶的書籍借閱、評分等歷史信息,較為準確地預測讀者用戶的偏好,從而智能化地向其推薦書籍。該功能的實現,能夠提高圖書館管理系統的服務水平,滿足讀者用戶的個性化需求,具有重要的意義。