郭晨睿
(洛陽師范學(xué)院 信息技術(shù)學(xué)院,河南 洛陽 471934)
高校圖書館具有琳瑯滿目、資源豐富的藏書,為高校師生提供了自由完善的圖書借閱服務(wù)。但是,用戶從海量的圖書中準(zhǔn)確地找到自己想要借閱的圖書資源往往花費(fèi)大量的時間與精力,且隨著圖書數(shù)量的增多,搜尋自己感興趣圖書的難度越來越高。
因此,圖書個性化推薦系統(tǒng)應(yīng)運(yùn)而生,圖書個性化推薦系統(tǒng)是通過對大量的借閱歷史等信息進(jìn)行挖掘的基礎(chǔ)上,根據(jù)用戶的興趣、偏好等特征及圖書資源的特征,向用戶推薦其可能感興趣的圖書資源,節(jié)省用戶挑選查找圖書的時間與精力,提高了圖書資源的利用率。目前圖書館主要采用新書與熱門圖書的推薦方式為用戶推薦圖書,上述方式在一定程度上滿足了用戶對圖書的需要,但缺少對圖書的個性化推薦,且推薦效率較低,不能滿足大部分用戶的需求[1-5]。
根據(jù)用戶對圖書的需要設(shè)計(jì)了高校圖書個性化推薦系統(tǒng),該圖書個性化推薦系統(tǒng)主要由顯示層、推薦層和數(shù)據(jù)層三個部分組成,如圖1(P105)所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
位于系統(tǒng)最底層的是數(shù)據(jù)層,由數(shù)據(jù)模塊組成,數(shù)據(jù)層負(fù)責(zé)用戶屬性信息、圖書屬性信息以及用戶借閱信息的收集,收集到的相關(guān)數(shù)據(jù)通過圖書推薦模塊通過相似度計(jì)算獲取個性化推薦結(jié)果[6]。數(shù)據(jù)層包含了大量的用戶信息、圖書信息以及用戶對圖書的借閱信息,為圖書個性化推薦提供了數(shù)據(jù)支持。
推薦層是圖書推薦系統(tǒng)的核心,由圖書推薦模塊組成,在接收到顯示層用戶的查詢后,將由數(shù)據(jù)層提供的數(shù)據(jù)利用個性化推薦算法對圖書進(jìn)行快速處理,處理結(jié)束后將推薦結(jié)果反饋到顯示層推薦給用戶。管理員與用戶的各項(xiàng)操作均需要通過推薦層進(jìn)行處理。
系統(tǒng)的顯示層由用戶顯示模塊組成,通過系統(tǒng)的顯示界面與用戶實(shí)現(xiàn)人機(jī)交互。高校師生通過用戶顯示模塊登錄系統(tǒng)后,利用圖書名稱等相關(guān)信息對圖書進(jìn)行檢索與查看,并將圖書推薦模塊生成的推薦圖書展示給用戶。
根據(jù)用戶個人需求的高校圖書個性化推薦系統(tǒng)功能主要包括用戶信息管理、圖書信息管理以及個性化推薦三部分,如圖2(P105)所示。
圖2 系統(tǒng)功能結(jié)構(gòu)圖
(1)用戶信息管理。該功能主要包括用戶登錄、個人信息管理、圖書檢索、圖書查看、個人借閱信息、興趣相似的用戶以及圖書借閱排行榜。用戶登錄推薦系統(tǒng)后通過個人信息管理部分進(jìn)行個人密碼、郵箱與手機(jī)號等相關(guān)信息的修改;可以進(jìn)行圖書的檢索與查看;可以查看自己借閱圖書的歷史信息;可以通過興趣相似的用戶功能關(guān)注、查看與自己具有相似興趣的用戶的相關(guān)信息(用戶可以設(shè)置自己的信息是否讓別人查看);可以通過圖書借閱排行榜查看借閱熱門的圖書。
(2)圖書信息管理。該功能主要包括增加圖書項(xiàng)目、修改圖書信息與刪除圖書項(xiàng)目三部分。管理員登錄系統(tǒng)后,選擇利用該功能添加新進(jìn)的圖書,并刪除已經(jīng)報(bào)廢的圖書,還可以對圖書的數(shù)量等信息進(jìn)行更改。
(3)個性化推薦。該功能主要包括推薦結(jié)果展示與用戶評價(jià)反饋兩部分,用戶通過推薦結(jié)果展示獲取系統(tǒng)個性化推薦的結(jié)果,并通過反饋區(qū)域?qū)υ撓到y(tǒng)推薦結(jié)果提出意見與建議,為進(jìn)一步優(yōu)化系統(tǒng)做提供理論支持。
圖書個性化推薦系統(tǒng)的工作流程如圖3所示。從圖3中可以看出圖書個性化推薦共分為9個步驟,系統(tǒng)數(shù)據(jù)初始化,主要是對用戶的學(xué)科、性別與年齡等相關(guān)信息的權(quán)重系數(shù)的初始化;數(shù)據(jù)采集過程主要采集用戶的基本信息(包括:姓名、學(xué)號、專業(yè)與性別等信息)、圖書屬性信息(包括:圖書名稱、作者、類別、ISBN等信息)以及用戶的借閱信息;數(shù)據(jù)預(yù)處理階段主要是對收集到的數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗,并將清洗后的數(shù)據(jù)進(jìn)行分類匯總后存儲到圖書個性化推薦系統(tǒng)的數(shù)據(jù)庫中;分別使用協(xié)同過濾與用戶專業(yè)計(jì)算用戶之間的相似度,并將二者進(jìn)行線性加權(quán)求和獲得最終的相似度,生成具有相似興趣的用戶并展示在“興趣相似的用戶”功能處,然后將生成的圖書推薦目錄顯示在“推薦結(jié)果展示”功能處。
圖3 圖書推薦系統(tǒng)工作流程圖
1.4.1 基于協(xié)同過濾的用戶相似度計(jì)算
使用協(xié)同過濾計(jì)算用戶之間的相似度,需要用戶對圖書的評分,當(dāng)前高校圖書管理系統(tǒng)中沒有用戶對圖書的評分或評分較少,本文根據(jù)用戶借閱圖書的時長來計(jì)算用戶對圖書的評分,將讀者的借閱信息轉(zhuǎn)化為相應(yīng)的評分信息,量化用戶對圖書的喜愛程度[5]。默認(rèn)用戶借閱圖書的時間越長表明用戶對圖書的評分越高,同時考慮每位用戶的閱讀速度等因素,采用公式1計(jì)算用戶對圖書的評分。
1.4.2 基于用戶專業(yè)的相似度計(jì)算
由文獻(xiàn)[2]可知:屬于相同或相近專業(yè)的用戶,相同或相近專業(yè)的用戶在圖書借閱行為上具有極大的相似性。根據(jù)這一原理,認(rèn)為同一學(xué)院或不同學(xué)院相近專業(yè)的用戶具有很高的相似性,根據(jù)用戶的學(xué)院、專業(yè)等信息計(jì)算用戶之間的相似度。依據(jù)國家標(biāo)準(zhǔn)學(xué)科分類與代碼表,按照三個級別對學(xué)科進(jìn)行分類[3],用戶 和用戶 的學(xué)科距離使用表示,如果用戶u和用戶v的三級學(xué)科一致則;如果用戶u和用戶v的二級學(xué)科一致則,如果用戶u和用戶v的一級學(xué)科一致則,如果用戶u和用戶v的不級學(xué)科一致但是一級學(xué)科相似則,如果用戶u和用戶v的一級學(xué)科不一致且一級學(xué)科也不相似則。用戶u和用戶v的學(xué)科相似度由公式3計(jì)算獲得。
1.4.3 用戶相似度
通過公式4計(jì)算目標(biāo)用戶與其他用戶之間的興趣相似度,找到目標(biāo)用戶興趣最相近的位用戶,并根據(jù)這位用戶對圖書的評分,預(yù)測目標(biāo)用戶對未看過的圖書的評分,并依據(jù)預(yù)測評分值將的評分圖書作為推薦圖書推薦給目標(biāo)用戶,并顯示在“推薦結(jié)果展示”功能處。
均值中心化的基本思路是用戶對圖書的標(biāo)準(zhǔn)化評分的正負(fù)情況可以直觀地表現(xiàn)用戶對該圖書的喜好或厭惡程度。把用戶對圖書的評分減去該用戶對所有圖書評分的均值。因此,首先需要計(jì)算目標(biāo)用戶u對所有圖書評分的均值,然后將目標(biāo)用戶u對所有圖書的評分都減去均值。然后通過公式5計(jì)算用戶u對圖書i的評分作為目標(biāo)u用戶借閱圖書的概率。
為了檢測本文研究圖書個性化推薦系統(tǒng)的推薦性能,選取某高校圖書館作為實(shí)驗(yàn)對象,根據(jù)該校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)某學(xué)生登錄本文的推薦系統(tǒng),系統(tǒng)推薦結(jié)果如圖4所示。從圖4系統(tǒng)的推薦結(jié)果展示中可以看出,本文的圖書推薦系統(tǒng)可針對該用戶個人的興趣偏好為其推薦符合用戶個性化需求的《大話數(shù)據(jù)結(jié)構(gòu)》《機(jī)器學(xué)習(xí)》等圖書,有效驗(yàn)證了本文圖書個性化推薦系統(tǒng)的推薦有效性。
圖4 圖書個性化推薦系統(tǒng)推薦頁面
高校圖書個性化推薦系統(tǒng)的好壞對學(xué)生閱讀習(xí)慣的養(yǎng)成具有重要作用,高效的圖書推薦系統(tǒng)不僅可以有效節(jié)約學(xué)生找書的時間,優(yōu)化借閱體驗(yàn),提高學(xué)生的閱讀興趣,擴(kuò)展學(xué)生的閱讀視野;同時可以把圖書館中的圖書有針對性的推薦給可能會借閱的學(xué)生,提升了圖書館圖書的利用率。本文首先利用用戶的借閱時長計(jì)算用戶對其借閱圖書的評分,并結(jié)合基于用戶的協(xié)同過濾算法計(jì)算用戶與用戶之間的相似度;然后使用用戶的專業(yè)計(jì)算用戶與用戶之間的相似度;將協(xié)同過濾與用戶專業(yè)計(jì)算獲得的相似度進(jìn)行線性加權(quán)求和,獲得用戶與用戶之間最終的相似度;最后,使用均值中心化計(jì)算用戶借閱圖書的概率,推薦圖書并生成推薦圖書目錄,興趣相似的用戶功能幫助許多用戶找到了志同道合的朋友。