柯秀文
(商丘職業(yè)技術(shù)學(xué)院 軟件學(xué)院,商丘 476001)
隨著現(xiàn)代信息技術(shù)的高速發(fā)展,給社會各行各業(yè)帶來了革命性的變革,提供高效、優(yōu)質(zhì)的服務(wù)是很多行業(yè)追求的目標(biāo)。信息技術(shù)的廣泛應(yīng)用為各級各類圖書館提供了新的服務(wù)方向和選擇。根據(jù)讀者的需求,提供差異化、高質(zhì)量的個體服務(wù),是各級各類圖書館在新時期深化圖書館服務(wù)職能的積極嘗試和有益探索,也是信息服務(wù)的必然需求。傳統(tǒng)的圖書搜索引擎只能為所有讀者展現(xiàn)相同的圖書排序結(jié)果,無法結(jié)合讀者的個人愛好提供差異化的檢索結(jié)果,而基于協(xié)同過濾算法的圖書推薦系統(tǒng)卻能夠根據(jù)讀者的個人偏好為其提供差異化的圖書推薦[1]。
然而,隨著各級各類圖書館開放程度和服務(wù)質(zhì)量的提升,推薦系統(tǒng)中讀者與圖書數(shù)量的增加和積累,評分矩陣數(shù)據(jù)稀疏性問題越來越顯著,此外,傳統(tǒng)的基于內(nèi)存的協(xié)同過濾算法沒有考慮時間因素等上下文信息對相似度造成的影響,這些都導(dǎo)致圖書推薦質(zhì)量的下降。因此,本文提出一種改進(jìn)的協(xié)同過濾算法,以提高圖書推薦質(zhì)量,實(shí)驗證明,改進(jìn)的協(xié)同過濾算法能夠有效提高圖書推薦精度。
協(xié)同過濾( Collaborative Filtering,CF)是當(dāng)前使用最為廣泛的推薦算法之一,這個概念由 Goldberg等在1992年正式提出[2],它依據(jù)用戶-項目評分?jǐn)?shù)據(jù),算法基于用戶對一些項目的評分進(jìn)行比較,假設(shè)用戶對一些項目評分相似,那么用戶對其他項目評分也相似[3]。
隨著讀者與圖書數(shù)量的增加和積累,評分矩陣數(shù)據(jù)稀疏性問題越來越顯著,為了解決數(shù)據(jù)稀疏環(huán)境下讀者對圖書預(yù)測評分的準(zhǔn)確度問題,提出一種改進(jìn)的協(xié)同過濾方法 ICF(Improved Collaborative Filtering),從2個方面改進(jìn)推薦算法:首先,將LDA模型應(yīng)用在圖書館圖書推薦上,將讀者和圖書通過潛在主題關(guān)聯(lián),將得到的讀者對圖書的選擇概率作為預(yù)處理數(shù)據(jù),進(jìn)而將相似度計算轉(zhuǎn)至低維潛在因素空間,減少數(shù)據(jù)稀疏所帶來的影響。其次,在相似度計算時,考慮時間因素對讀者圖書偏好的影響,引入Sigmoid函數(shù),改進(jìn)讀者相似度計算公式,預(yù)測讀者對未選擇圖書的評分。
協(xié)同過濾算法的改進(jìn)主要分為3個步驟:首先基于LDA(Latent Dirichlet Allocation)模型[4]建立讀者-圖書概率矩陣,并對圖書進(jìn)行聚類,裁剪概率矩陣。其次考慮時間因素對讀者偏好動態(tài)變化的影響,引入時間因子sigmoid函數(shù),作為評分時間影響權(quán)重,改進(jìn)相似度計算方法,計算鄰居讀者。最后利用協(xié)同過濾算法預(yù)測讀者對未選擇圖書的評分。
LDA模型通過主題將文檔和單詞聯(lián)系起來,以實(shí)現(xiàn)對文本信息的挖掘,在新浪微博等相關(guān)網(wǎng)站上廣泛應(yīng)用。其核心思想是:
Ptopicdocument
本文根據(jù)讀者評分信息建立讀者圖書偽文檔,將讀者對應(yīng)文檔,圖書對應(yīng)單詞,每個讀者喜歡的圖書種類有很多,每個圖書種類由若干圖書構(gòu)成,讀者的評分?jǐn)?shù)值對應(yīng)該圖書在該讀者圖書文檔中出現(xiàn)的次數(shù)?;诖私⒌淖x者-圖書LDA模型,如圖1所示。
圖1 讀者-圖書的LDA模型
在圖1各種關(guān)系中,θ是讀者的圖書主題分布,φ是圖書主題的圖書分布,且都滿足Dirichlet分布,α、β分別是θ和φ的超參數(shù),K、N、M分別是圖書主題數(shù)、圖書數(shù)和讀者數(shù),Zmn表示讀者m選擇的圖書n對應(yīng)的主題,Umn表示讀者m選擇的圖書n。
假設(shè)系統(tǒng)中有n個讀者以及m個圖書,并且讀者i對圖書j的評價通過整數(shù)1-5的評分表示,記做Rij。某讀者j對圖書的評分信息,如表1所示。
在預(yù)處理階段,將表1的相關(guān)信息處理為:讀者Uj=﹛i1,i2,i2,i2,i3,i3,i3,i3,i3,i5,i5﹜。以此類推,可以得到每個讀者的偽文檔。
以此為基礎(chǔ),本文采用Gibbs Sampling采樣算法訓(xùn)練讀者圖書LDA主題模型。根據(jù)對相關(guān)文獻(xiàn)的研究,LDA模型參數(shù)通常取值為α=50/K,β=0.01,K為主題的個數(shù)。對讀者圖書LDA主題模型訓(xùn)練的結(jié)果反映到讀者偏好的讀者-圖書選擇概率矩陣W,Wij表示在讀者圖書概率分布θ上讀者u選擇圖書i的概率。據(jù)此建立起來的矩陣記錄了任意讀者對選擇所有圖書的選擇概率。
為了提高預(yù)測結(jié)果的精準(zhǔn)度,進(jìn)一步采用聚類算法,根據(jù)圖書的相關(guān)屬性信息,對圖書進(jìn)行聚類。根據(jù)K-Means聚類算法在聚類效果中的良好表現(xiàn),本文采用此方法實(shí)現(xiàn)圖書的聚類。根據(jù)圖書聚類的結(jié)果,對讀者-圖書選擇概率矩陣進(jìn)行裁剪,以此得到若干讀者-圖書選擇概率子矩陣,縮小計算工作,僅在具有相似屬性信息的讀者-圖書選擇概率子矩陣中進(jìn)行計算。
協(xié)同過濾算法的目的是找到和目標(biāo)讀者讀書偏好相似的讀者集合,根據(jù)讀者-圖書選擇概率矩陣計算讀者相似度,這是協(xié)同過濾算法關(guān)鍵步驟,影響著最終推薦結(jié)果的精準(zhǔn)度。基于傳統(tǒng)協(xié)同過濾算法讀者相似度計算依賴于讀者對圖書的共同評分,但忽略了已評分圖書的權(quán)重問題以及隨時間變化讀者圖書偏好改變的可能性。例如:3個讀者對同一圖書有著相同的評分行為,讀者1和讀者2共同評分的圖書發(fā)生在同一時間段內(nèi),而讀者2和讀者3共同評分的圖書發(fā)生并不在一個時間段內(nèi),顯然,讀者1和讀者2應(yīng)比讀者2和讀者3有更高的相似度,然而,忽略了時間因素,利用傳統(tǒng)協(xié)同過濾算法得到了相等的結(jié)果。
考慮時間因素對讀者圖書偏好的影響,為了提高讀者相似度計算的精準(zhǔn)度,引入時間因子sigmoid函數(shù),函數(shù)值作為評分時間影響權(quán)重,評分時間越接近的讀者,其相似度也就越高,計算式如公式(1):
(1)
考慮時間因素對讀者偏好相似度的影響,本文在皮爾遜相關(guān)系數(shù)基礎(chǔ)上引入時間因子Sigmoid函數(shù),得到改進(jìn)后的讀者相似度,如式(2)。
Simuv=Suv×Wuv=
(2)
根據(jù)改進(jìn)后的讀者相似度計算公式完成相似度計算后,對結(jié)果進(jìn)行排序,選擇相似度最高的k個讀者作為目標(biāo)讀者的鄰居讀者。
在目標(biāo)讀者i的讀者-圖書選擇概率子矩陣中,計算目標(biāo)讀者u對目標(biāo)圖書i的預(yù)測評分,如式(3)。
(3)
得到目標(biāo)讀者對未選擇圖書的預(yù)測評分后,根據(jù)評分由高到底排序,將評分最高的前k個圖書推薦給該讀者。
本文采用商丘職業(yè)技術(shù)學(xué)院圖書館信息化管理中心提供的數(shù)據(jù)集進(jìn)行實(shí)驗,在此數(shù)據(jù)集中,讀者對自己看過的圖書進(jìn)行了評分,每位讀者評分?jǐn)?shù)不少于20條,評分結(jié)果為很好、好、一般、差、很差,分別記做整數(shù)5、4、3、2、1。分值高低反映了讀者對圖書滿意度的高低。此數(shù)據(jù)集記錄了2016年8月30日~2017年1月5日其間,1 351位讀者對2 405本圖書的143 000個評分,此數(shù)據(jù)集原始讀者-圖書評分矩陣稀疏度為92.8%。
/N
(4)
得出的結(jié)果平均絕對偏差越小,推薦精準(zhǔn)度越高,效果越好。
將本文提出的ICF推薦算法與傳統(tǒng)的基于內(nèi)存的協(xié)同過濾算法進(jìn)行對比,通過余弦夾角相似度、修正余弦夾角相似度和皮爾遜相關(guān)系數(shù)等3 種相似度度量方法作為比較,目標(biāo)讀者最近鄰個數(shù)分別為(10,20,30,40,50),得出的MAE值,如圖2所示。
圖2 ICF與傳統(tǒng)的協(xié)同過濾算法比較
實(shí)驗表明,3 種傳統(tǒng)的協(xié)同過濾算法相比較,余弦相似度的MAE值均最大,皮爾遜相關(guān)系數(shù)MAE值均居中,修正余弦相似度MAE值均最小,表明修正算法的有效性,而本文提出的ICF推薦算法,MAE值均最小,明顯優(yōu)于其它3種傳統(tǒng)的協(xié)同過濾算法,說明引入時間影響因子權(quán)重反映讀者圖書興趣變化的ICF推薦算法能夠得到更好的推薦效果。
為提高數(shù)據(jù)稀疏環(huán)境下圖書推薦的質(zhì)量,提出了一種基于LDA的改進(jìn)協(xié)同過濾推薦算法,基于LDA主題模型得到讀者-圖書選擇概率矩陣作為計算讀者相似度的原始數(shù)據(jù)。為了更加準(zhǔn)確地尋找讀者鄰居,本文根據(jù)圖書屬性對圖書進(jìn)行聚類,在聚類內(nèi)部計算相似讀者,并根據(jù)讀者評分時間設(shè)計一種基于時間因子權(quán)重的讀者相似度計算公式,更加準(zhǔn)確地評估目標(biāo)讀者的鄰居讀者集,從而更準(zhǔn)確地預(yù)測讀者對圖書的評分。最后,利用商丘職業(yè)技術(shù)學(xué)院圖書館信息化管理中心提供的數(shù)據(jù)集開展實(shí)驗,實(shí)驗結(jié)果表明,本文提出的方法,比基于余弦相似度、皮爾遜相似度的協(xié)同過濾算法更加精準(zhǔn),能有效提升圖書推薦效果。