梁思怡,彭星亮,秦 斌,林偉明,胡振寧
個(gè)性化圖書(shū)推薦是高校圖書(shū)館開(kāi)展精準(zhǔn)服務(wù)、提升圖書(shū)使用效益的重要舉措。近十年來(lái),越來(lái)越多的高校在重視經(jīng)典推薦、新書(shū)推薦和熱書(shū)推薦的同時(shí),也開(kāi)始重視挖掘圖書(shū)館自動(dòng)化系統(tǒng)里蘊(yùn)藏的讀者借閱行為數(shù)據(jù),通過(guò)分析歷史借閱數(shù)據(jù)判斷讀者潛在的興趣和愛(ài)好,預(yù)測(cè)其未來(lái)可能借閱的圖書(shū),有針對(duì)性地向讀者提供圖書(shū)列表,幫助讀者快速獲取有價(jià)值的圖書(shū)目錄。從文獻(xiàn)看,高校圖書(shū)館個(gè)性化圖書(shū)推薦服務(wù)主要面向?qū)W生群體,多數(shù)研究基于協(xié)同過(guò)濾技術(shù)(Collaborative Filtering,CF),并針對(duì)評(píng)分?jǐn)?shù)據(jù)稀疏、閱讀興趣變化等問(wèn)題改進(jìn)協(xié)同過(guò)濾經(jīng)典算法。這些研究雖然各有成效,但總體來(lái)說(shuō),高校圖書(shū)館關(guān)于個(gè)性化圖書(shū)推薦技術(shù)的研究和應(yīng)用還不深入,還有較大的提升空間。
本文以現(xiàn)有研究和實(shí)踐為基礎(chǔ),分析協(xié)同過(guò)濾推薦技術(shù)在高校圖書(shū)館圖書(shū)推薦方面所面臨的場(chǎng)景和困難,提出一套基于時(shí)間上下文優(yōu)化協(xié)同過(guò)濾的算法ICBO UserCF(Interest Caputure-Based Optimization UserCF),并利用深圳大學(xué)圖書(shū)館的實(shí)際借閱數(shù)據(jù)進(jìn)行驗(yàn)證和比較。ICBO UserCF考慮了圖書(shū)推薦的三個(gè)要素,即讀者閱讀行為評(píng)分、時(shí)間上下文和內(nèi)容興趣變遷,分別構(gòu)建了閱讀興趣評(píng)分模型(Interest Rating Model,IRM)、時(shí)間衰減模型(Time Decay Model,TDM)和內(nèi)容興趣捕捉模型(Interest Capture Model,ICM),其中IRM模型用于提煉用戶評(píng)分?jǐn)?shù)據(jù),TDM和ICM模型用于緩解數(shù)據(jù)稀疏問(wèn)題和捕捉用戶內(nèi)容興趣,更好地反映用戶興趣變化,提高推薦準(zhǔn)確度。
協(xié)同過(guò)濾算法作為應(yīng)用最廣泛的推薦算法之一,能在用戶沒(méi)有明確表明需求的情況下,根據(jù)用戶行為向用戶推薦[1],其中基于用戶的協(xié)同過(guò)濾(User-based CF,UserCF)算法適用于用戶數(shù)量較少的場(chǎng)合。高校圖書(shū)館館藏圖書(shū)數(shù)量一般在百萬(wàn)冊(cè)以上,讀者數(shù)量相對(duì)較少,因此可選用UserCF作為個(gè)性化推薦的基礎(chǔ)模型。UserCF的原理是基于當(dāng)前用戶偏好信息(一般為評(píng)分),通過(guò)相似度計(jì)算來(lái)尋找到其相似用戶(鄰居用戶),然后將鄰居的偏好物品推薦給當(dāng)前用戶。UserCF的主要過(guò)程包括相似度計(jì)算、尋找最近鄰、評(píng)分預(yù)測(cè)和推薦TOP N。
(1)相似度計(jì)算。相似度計(jì)算是影響推薦算法性能的關(guān)鍵步驟。相似度計(jì)算方法多,其中余弦相似度算法最經(jīng)典,特別適用于數(shù)據(jù)稀疏情況,因此本文選用余弦相似度算法來(lái)計(jì)算用戶之間的相似度。對(duì)用戶u和v,余弦相似度計(jì)算方法見(jiàn)式(1)。
其中,Iu、Iv分別指用戶u、v的興趣集合,Iuv為用戶u、v的共同興趣集,rui、rvi分別為用戶u和v對(duì)項(xiàng)目i的評(píng)分。simuv值域?yàn)閇0,1],其值越大,證明兩者越相似。
(2)尋找最近鄰。尋找最近鄰常用的方法包括K最近鄰方法(K Nearest Neighbors,KNN)和閾值法。本文選用K最近鄰方法,取相似度最高的K位用戶作為當(dāng)前用戶的最近鄰。
(3)評(píng)分預(yù)測(cè)。在確定最近鄰后,根據(jù)鄰居集用戶已有的評(píng)分對(duì)目標(biāo)用戶未評(píng)分項(xiàng)(召回集)進(jìn)行預(yù)測(cè)評(píng)分。常用的計(jì)算方法如式(2)所示。
其中,r?ui指的是用戶u對(duì)未評(píng)分項(xiàng)i的預(yù)測(cè)評(píng)分,rvi指的是用戶v對(duì)項(xiàng)目i的評(píng)分,simuv為用戶u和v之間的相似度,Ni(u)指用戶u的鄰居集合。
協(xié)同過(guò)濾技術(shù)在電子商務(wù)系統(tǒng)運(yùn)用較為成功,電商可根據(jù)海量的訂單數(shù)據(jù)、商品評(píng)價(jià)數(shù)據(jù)有針對(duì)性地為潛在用戶推薦商品。高校圖書(shū)館圖書(shū)個(gè)性化推薦服務(wù)面臨著和電商推薦不同的場(chǎng)景,如學(xué)生更青睞數(shù)字資源和數(shù)字閱讀,紙質(zhì)圖書(shū)借閱量明顯下降;圖書(shū)流通系統(tǒng)缺少顯式反饋,讀者借閱興趣難以把握等。因此,運(yùn)用協(xié)同過(guò)濾技術(shù)開(kāi)展個(gè)性化圖書(shū)推薦面臨3個(gè)難題:(1)評(píng)分機(jī)制缺乏,難以捕捉讀者對(duì)借閱過(guò)圖書(shū)的真實(shí)興趣值;(2)借閱行為較少,存在“數(shù)據(jù)稀疏”和“冷啟動(dòng)”問(wèn)題,即:一方面,由于大多數(shù)用戶只對(duì)極少量的圖書(shū)有過(guò)借閱行為,使得形成的“用戶-圖書(shū)-評(píng)分”借閱矩陣中絕大多數(shù)數(shù)值為缺失值;另一方面,在新生入學(xué)或新書(shū)到館的情況下,存在無(wú)借閱行為的新用戶或者無(wú)被借閱過(guò)的新書(shū)籍,因而無(wú)法得知這些新用戶的喜好和新書(shū)籍的偏好群體;(3)閱讀興趣變遷,高校學(xué)生隨著年級(jí)提升其借閱興趣會(huì)發(fā)生較大變化。
針對(duì)以上問(wèn)題,許多研究從不同角度探索改進(jìn)UserCF經(jīng)典算法并應(yīng)用于圖書(shū)推薦領(lǐng)域。比如,在缺乏顯式反饋的情況下,林曉霞等[2]通過(guò)借閱時(shí)長(zhǎng)、借閱方式兩者之和構(gòu)建“用戶-圖書(shū)”評(píng)分矩陣。面對(duì)數(shù)據(jù)稀疏問(wèn)題,宋楚平[3]利用讀者借閱方式、借閱時(shí)間對(duì)用戶評(píng)價(jià)矩陣進(jìn)行優(yōu)化,根據(jù)讀者特征及圖書(shū)特征進(jìn)行讀者相似度計(jì)算,在一定程度上豐富了矩陣數(shù)據(jù)。李澎林等[4]建立讀者興趣度模型來(lái)模擬讀者圖書(shū)偏好程度,并使用類型因子作為圖書(shū)相似性權(quán)重來(lái)填補(bǔ)興趣度矩陣中缺失的興趣度值。為解決興趣變遷問(wèn)題,李杰等[5]考慮時(shí)間動(dòng)態(tài)性和商品熱度系數(shù),采用新的用戶興趣相似度計(jì)算方法,并利用亞馬遜圖書(shū)評(píng)分真實(shí)數(shù)據(jù)進(jìn)行測(cè)試和驗(yàn)證。孫彥超等[6]引入用戶興趣隨時(shí)間的變化函數(shù)來(lái)修正用戶評(píng)價(jià)矩陣,提高了推薦準(zhǔn)確度。李丹等[7]在設(shè)計(jì)基于特征的讀者行為個(gè)性化推薦策略時(shí),引入時(shí)間衰減因子,進(jìn)行不同相似度算法下查準(zhǔn)率、召回率的對(duì)比。這些研究從不同方面推進(jìn)了圖書(shū)推薦技術(shù)的應(yīng)用,具有參考價(jià)值。
本文根據(jù)高校圖書(shū)館流通服務(wù)場(chǎng)景,在分析圖書(shū)個(gè)性化推薦三要素和研究現(xiàn)有成果的基礎(chǔ)上,提出一套新的基于時(shí)間上下文優(yōu)化的協(xié)同過(guò)濾算法ICBO UserCF,從4 個(gè)方面改進(jìn)經(jīng)典UserCF技術(shù)的應(yīng)用,提升圖書(shū)推薦精準(zhǔn)度。
(1)改善評(píng)分辦法。多篇文獻(xiàn)以借閱時(shí)長(zhǎng)作為主要因素衡量讀者對(duì)該書(shū)興趣度,這并不是非常合理的評(píng)分辦法,比如匆匆還書(shū),可能因?yàn)楦静桓信d趣,也可能因?yàn)楸粓D書(shū)吸引而一口氣讀完;超期借閱,可能因?yàn)橥浟诉€書(shū)時(shí)間,也可能是抽不出時(shí)間去圖書(shū)館還書(shū),甚至是“惡意”超期[8]。為證實(shí)以上看法,筆者對(duì)部分讀者和館員進(jìn)行了訪談,多數(shù)人認(rèn)為借閱時(shí)長(zhǎng)可不作為閱讀興趣的指標(biāo),而讀者借閱行為更具客觀性,可對(duì)不同借閱操作進(jìn)行細(xì)分,賦予不同權(quán)重值,構(gòu)建閱讀興趣IRM模型。這種基于借閱行為的評(píng)分辦法可減少借閱時(shí)長(zhǎng)帶來(lái)的信息噪音,所產(chǎn)生的評(píng)分?jǐn)?shù)據(jù)更具真實(shí)度。
(2)優(yōu)化評(píng)分矩陣。為構(gòu)建更為合理的評(píng)分矩陣,可采用三種方法進(jìn)行優(yōu)化:①IRM模型運(yùn)用網(wǎng)格搜索(Grid Search)方法,通過(guò)窮舉搜索以獲取最佳行為興趣參數(shù),貼近用戶的真實(shí)興趣值。②采用興趣值標(biāo)準(zhǔn)化方法,消減評(píng)分?jǐn)?shù)值過(guò)大或過(guò)小所造成的“馬太效應(yīng)”影響,提高推薦精準(zhǔn)程度。③TDM模型基于時(shí)間上下文對(duì)評(píng)分矩陣進(jìn)行優(yōu)化,將讀者近期借閱的書(shū)籍興趣度評(píng)分賦予較高的權(quán)重值,對(duì)讀者較久遠(yuǎn)以前借閱圖書(shū)的興趣度評(píng)分進(jìn)行懲罰,反映興趣變遷情況。
(3)緩解數(shù)據(jù)稀疏現(xiàn)象。針對(duì)數(shù)據(jù)稀疏問(wèn)題,根據(jù)前人研究并結(jié)合實(shí)地場(chǎng)景數(shù)據(jù)分析,采用興趣捕捉模型(ICM)來(lái)描述讀者對(duì)圖書(shū)內(nèi)容類型的偏好,通過(guò)中圖法相近類目對(duì)圖書(shū)進(jìn)行聚類,并采用“召回-排序”方式對(duì)結(jié)果進(jìn)行優(yōu)化,豐富了推薦模式,有效緩解數(shù)據(jù)稀疏問(wèn)題,并進(jìn)一步提高推薦效果。
(4)創(chuàng)新時(shí)間衰減函數(shù)。相比其他引入圖書(shū)內(nèi)容興趣的研究,特別考慮了包含由于用戶興趣變化和物品生命周期等引起時(shí)間效應(yīng)的時(shí)間上下文信息,并基于時(shí)間上下文的內(nèi)容興趣變遷問(wèn)題,借鑒了前人相關(guān)研究,構(gòu)造了一種新的時(shí)間衰減函數(shù)?;谠摵瘮?shù)建立的TDM 模型和ICM 模型,可以更精準(zhǔn)地捕捉讀者當(dāng)前的閱讀興趣,產(chǎn)生更準(zhǔn)確的推薦列表。
結(jié)合前文關(guān)于高校圖書(shū)館場(chǎng)景下協(xié)同過(guò)濾算法的探討,本文對(duì)圖書(shū)個(gè)性化推薦的解決思路如下:在協(xié)同過(guò)濾的數(shù)據(jù)準(zhǔn)備階段,采用基于用戶借閱操作的IRM構(gòu)建評(píng)分矩陣,解決了高校圖書(shū)館評(píng)分缺失問(wèn)題;在推薦召回階段,采用TDM對(duì)IRM生成的評(píng)分矩陣進(jìn)行優(yōu)化,即針對(duì)時(shí)間效應(yīng)特性對(duì)較久遠(yuǎn)的書(shū)籍評(píng)分進(jìn)行弱化,捕捉用戶近期偏好;在推薦排序階段,采用ICM對(duì)召回結(jié)果進(jìn)行精排序,增加近期喜好的圖書(shū)類別特征,應(yīng)對(duì)興趣變遷影響,并在一定程度上降低了數(shù)據(jù)稀疏度。三個(gè)模型以串聯(lián)的方式一步步疊加,根本目的是為了更加貼近用戶喜好,提高推薦效果。優(yōu)化后的UserCF算法稱之為ICBO UserCF算法,具體流程見(jiàn)圖1。
圖1 ICBO UserCF流程圖
協(xié)同過(guò)濾算法基于“用戶-項(xiàng)目-評(píng)分”來(lái)進(jìn)行推薦,但高校圖書(shū)館普遍未組織圖書(shū)評(píng)分活動(dòng)。為解決評(píng)分缺失問(wèn)題,可通過(guò)圖書(shū)借閱數(shù)據(jù)的分析,構(gòu)建基于讀者“借閱”“續(xù)借”及“預(yù)約”行為的興趣評(píng)分模型,包含興趣值計(jì)算規(guī)則及標(biāo)準(zhǔn)化函數(shù)設(shè)計(jì)。
(1)閱讀興趣值計(jì)算規(guī)則設(shè)計(jì)。讀者“借閱”“續(xù)借”和“預(yù)約”三種借書(shū)行為源于用戶自身操作需要,代表著讀者對(duì)某種圖書(shū)不同程度的閱讀興趣,因此IRM 選用這三種讀者行為并賦予相應(yīng)興趣值,再進(jìn)行轉(zhuǎn)化得到“用戶-項(xiàng)目-評(píng)分”矩陣。多數(shù)研究[2-4]對(duì)不同的借閱行為賦予固定的興趣值,忽略了不同行為的興趣差別。IRM 則對(duì)不同讀者行為進(jìn)行細(xì)分,并賦予不同的權(quán)值,如“首次借閱”是所有借閱行為中頻率最高的,可設(shè)置為興趣基準(zhǔn)值;“借過(guò)再借”表達(dá)了對(duì)該圖書(shū)有重讀一遍的興致;“網(wǎng)上續(xù)借”表示愿意花更多的時(shí)間去閱讀;“借預(yù)約書(shū)”意味著終于等到心儀的圖書(shū);“未借預(yù)約”說(shuō)明興趣已過(guò)。在實(shí)際處理中,為使評(píng)分矩陣分值分布盡可能處于業(yè)界常用的[0,5]分布區(qū)間,將“首次借閱(? u,1)”的興趣值valu,1定義為1.5,其它借閱操作的興趣度值(? u,2-? u,5)與首次借閱的興趣值(? u,1)關(guān)系見(jiàn)表1。通過(guò)設(shè)置不同借閱行為的權(quán)值系數(shù),優(yōu)化了興趣值計(jì)算方案,提高了評(píng)分的客觀性。
表1 興趣值計(jì)算方案
其中,curNum代表讀者已借閱該圖書(shū)次數(shù)。a1、a2、a3、a4分別表示相關(guān)借閱行為的興趣系數(shù),通過(guò)網(wǎng)格搜索方法可推算出各系數(shù)最優(yōu)的取值。
綜上,讀者u對(duì)圖書(shū)i的興趣度總值S?u,i通過(guò)? u,1-?u,5對(duì)無(wú)權(quán)重求和得出,表達(dá)式見(jiàn)式(3)。
(2)興趣值標(biāo)準(zhǔn)化。按照式(3)的計(jì)算規(guī)則,如果一個(gè)讀者多次“借過(guò)再借”同一本書(shū),那么對(duì)這本書(shū)的借閱興趣值必然會(huì)大于5,而超出所期望的[0,5]分布區(qū)間,這樣不利于使用余弦相似度算法計(jì)算讀者之間的相似度,因此需引入受限Tanh函數(shù)對(duì)S ? u,i進(jìn)行標(biāo)準(zhǔn)化,興趣值標(biāo)準(zhǔn)化函數(shù)表達(dá)式見(jiàn)式(4)。借鑒Tanh函數(shù)的原因在于其具備獨(dú)特的數(shù)學(xué)性質(zhì),具體的表現(xiàn)為[0,+∞]在區(qū)間內(nèi)一階導(dǎo)數(shù)恒大于零、二階導(dǎo)數(shù)恒小于零、且取值范圍為[0,1)。Tanh 函數(shù)的表達(dá)式如式(5),其在[0,+∞]的取值范圍見(jiàn)式(6)(7)。
式(4)中,p(x)的x值即為興趣總值S ? u,i,參數(shù)α為評(píng)分上限,參數(shù)β用于調(diào)控p(x)增速。根據(jù)鏈?zhǔn)角髮?dǎo)法則可知,當(dāng)α,β都取正值時(shí),p(x)具備與Tanh函數(shù)相同的一二階導(dǎo)數(shù)性質(zhì),即α,β只影響p(x)一二級(jí)導(dǎo)數(shù)的值的大小,不影響其正負(fù),故而該興趣值標(biāo)準(zhǔn)化函數(shù)可達(dá)到數(shù)值標(biāo)準(zhǔn)化的需求。為保證興趣標(biāo)準(zhǔn)化后評(píng)分在[0,α]取值區(qū)間內(nèi)能有一個(gè)較好的區(qū)分度,需尋找適合的α,β值。p(x)函數(shù)在不同α,β值下的函數(shù)走勢(shì)見(jiàn)圖2。由圖2(a-d)可知,p(x)隨著用戶興趣值x的增大而增大,并逐漸趨向于α 值,同時(shí)p(n+1)與p(n)的差值隨著n的增大而逐漸變小,且其變小的速度隨著β的增大而減小。
圖2 p(x)函數(shù)在不同α、 β 值下的函數(shù)走勢(shì)
為使用戶評(píng)分值處于[0,5]的取值區(qū)間,設(shè)置p(x)的α 為5。同時(shí)在觀察圖2中p(x)函數(shù)在不同α、β值下的函數(shù)走勢(shì)后,為使標(biāo)準(zhǔn)化后的興趣值區(qū)分度較好,將參數(shù)β設(shè)置為4。此時(shí),當(dāng)兩個(gè)讀者對(duì)某書(shū)籍的興趣值為較大值時(shí)(比如7與8),模型認(rèn)為這兩位用戶對(duì)此書(shū)的興趣度都較高,但是興趣度相差不會(huì)很大(標(biāo)準(zhǔn)化后的興趣值分別為4.7與4.8,逼近評(píng)分上限值5),而當(dāng)兩位讀者對(duì)同一本書(shū)的興趣值為較小值(如2與3)時(shí),模型則會(huì)認(rèn)為這兩位讀者對(duì)該書(shū)的興趣值相差較大(標(biāo)準(zhǔn)化后的興趣值分別為2.3與3.1)。此時(shí)標(biāo)準(zhǔn)化函數(shù)如式(8)所示、標(biāo)準(zhǔn)化函數(shù)的走勢(shì)可見(jiàn)圖2(c)。
綜上所述,通過(guò)IRM得到“用戶-圖書(shū)-評(píng)分矩陣”,計(jì)算步驟見(jiàn)表2。
表2 IRM計(jì)算步驟
時(shí)間衰減模型的提出主要是源于研究場(chǎng)景中用戶借閱行為軌跡易發(fā)生變遷這一特點(diǎn),通過(guò)對(duì)興趣評(píng)分模型生成的“用戶-圖書(shū)-評(píng)分”矩陣進(jìn)行優(yōu)化,將讀者近期借閱的圖書(shū)賦予更高的評(píng)分值,同時(shí)在評(píng)分值上對(duì)讀者較久遠(yuǎn)借閱的圖書(shū)進(jìn)行懲罰。經(jīng)典的時(shí)間衰減函數(shù)的表達(dá)式見(jiàn)式(9)。
其中,α 表示時(shí)間衰減因子;T表示當(dāng)前時(shí)間;t表示圖書(shū)被借閱的時(shí)間;T-t表示時(shí)間差,單位為天。時(shí)間衰減因子α決定著f(t)的衰減速率,f(t)隨著時(shí)間差的增長(zhǎng)而減小,取值范圍為[0-1]。
除經(jīng)典的時(shí)間衰減函數(shù),學(xué)者們還提出了許多其他形式的時(shí)間衰減函數(shù)。比如,有學(xué)者[9]提出線性時(shí)間衰減函數(shù),但這種線性衰減特性與人類遺忘特性不符,不太適用于該場(chǎng)景。有些學(xué)者[6,10-11]提出以e或其他常數(shù)為底的指數(shù)型時(shí)間衰減函數(shù),與式(9)類似,呈現(xiàn)了非線性特征,具有較好的興趣變遷表征能力。借鑒上述成果,構(gòu)造了新的非線性時(shí)間衰減函數(shù),記作RETD(Ratio Exponential Time-Decay Function),其表達(dá)式見(jiàn)式(10)?;赗ETD的模型記作TDM-RETD,表達(dá)式見(jiàn)式(11)。
其中,Tui指的是在當(dāng)前借閱記錄中用戶u對(duì)圖書(shū)i操作的最后時(shí)間,rui指的是用戶u對(duì)圖書(shū)i的興趣評(píng)分,T1表示測(cè)試集起始日期,T0表示借閱記錄中所有用戶最早借閱日期。α 為時(shí)間衰減因子,用于控制f(Tui)隨-(T1-T0)/(T1-Tui)值遞減時(shí)的衰減速度,bias為偏置量,用于防止出現(xiàn)T1-Tui=0算術(shù)運(yùn)算錯(cuò)誤,在計(jì)算時(shí)會(huì)設(shè)置為一個(gè)非常小的值。
由于f(Tui,rui)中的rui在實(shí)際計(jì)算時(shí)為一常量,因此f(Tui,rui)的走勢(shì)可通過(guò)分析f(Tui)完成。由于bias為非常小的偏置項(xiàng),當(dāng)Tui趨向于T0時(shí),T1-Tui近似等于T1-Tui+bias,故而在式(10)中以e為底的指數(shù)項(xiàng)可近似等于-1/α。當(dāng)Tui趨向于T1時(shí),-(T1-T0)/(α×(T1-Tui+bias))趨向于負(fù)無(wú)窮,故而式(10)結(jié)果趨向于1。綜上,f(Tui)及f(Tui,rui)的取值范圍求解見(jiàn)式(12)(13)(14)(15)。
對(duì)f(Tui)進(jìn)行分析后,易知整個(gè)模型的衰減速度主要受α與T1-T0的取值影響,其中T1-T0在訓(xùn)練集及測(cè)試集選定好時(shí)便可確定,α 則需要根據(jù)T1-T0值與T1-Tui取值范圍來(lái)選定。在實(shí)際使用時(shí),可以采用網(wǎng)格搜索來(lái)獲得α的最佳取值。
對(duì)經(jīng)典UserCF來(lái)說(shuō),對(duì)召回集項(xiàng)目的評(píng)分預(yù)測(cè)后,取評(píng)分最高的N個(gè)項(xiàng)目即完成推薦。高校圖書(shū)館場(chǎng)景下存在用戶借閱行為較少、用戶-項(xiàng)目矩陣稀疏且借閱興趣隨時(shí)間變化產(chǎn)生較大波動(dòng)等問(wèn)題,會(huì)造成UserCF推薦列表不夠精準(zhǔn)現(xiàn)象。為解決該問(wèn)題,ICBO UserCF借鑒研究[12-13]成果,構(gòu)建內(nèi)容捕捉模型ICM,表達(dá)式見(jiàn)式(16)。在TDM-RETD基礎(chǔ)上,ICM對(duì)召回集按照?qǐng)D書(shū)分類號(hào)進(jìn)行精排序,按分類號(hào)最細(xì)一級(jí)進(jìn)行內(nèi)容聚類,對(duì)召回集重構(gòu)評(píng)分矩陣,降低了數(shù)據(jù)稀疏度。同時(shí)ICM加入時(shí)間衰減函數(shù),應(yīng)對(duì)興趣變遷影響。經(jīng)過(guò)ICM優(yōu)化處理后的召回集,大大提高了推薦列表TOP N的準(zhǔn)確性。
式(16)與式(11)在表達(dá)形式上基本相同,最大的不同是式(11)中f(Tui,ruij)的Tui指的是用戶u借閱某本圖書(shū)i的時(shí)間,rui指的是用戶u借閱某本圖書(shū)i的興趣評(píng)分值。式(11)中R(Tui,ruij)的Tui指的是用戶u借閱某個(gè)圖書(shū)類別i的最后時(shí)間,ruij指的是用戶u對(duì)召回項(xiàng)目中i類圖書(shū)j的預(yù)測(cè)評(píng)分值,式(11)其它T1、T0、α、bias四個(gè)參數(shù)的意義與式(11)中的一致。
綜上所述,ICBO UserCF算法計(jì)算步驟見(jiàn)表3,輸入“用戶-圖書(shū)-評(píng)分矩陣”R1由上文IRM得出。
表3 ICBO UserCF算法計(jì)算步驟
實(shí)驗(yàn)數(shù)據(jù)來(lái)源于深圳大學(xué)圖書(shū)館2017級(jí)學(xué)生2017-2019年2年間的借閱日志,包括讀者借閱記錄表和讀者預(yù)約記錄表,涉及字段見(jiàn)表4。實(shí)驗(yàn)將數(shù)據(jù)切分為訓(xùn)練集與測(cè)試集,訓(xùn)練集用于分析讀者行為并給出推薦結(jié)果,測(cè)試集用于驗(yàn)證訓(xùn)練集推薦結(jié)果的準(zhǔn)確度。訓(xùn)練集包括2017年9月6 日至2019 年5 月31 日之間的讀者行為記錄,涉及讀者4,286人、圖書(shū)34,419冊(cè)、借閱事務(wù)總計(jì)51,637次。測(cè)試集包括2019年6月1-30日產(chǎn)生的借閱記錄,涉及讀者892人、圖書(shū)2,341冊(cè),借閱事務(wù)總計(jì)2,595次。
表4 借閱日志字段
實(shí)驗(yàn)以UserCF算法為基準(zhǔn),用戶相似度計(jì)算方法采用式(1)的余弦相似度計(jì)算法、尋找最近鄰使用K最近鄰法(K值不設(shè)上線)、預(yù)測(cè)評(píng)分采用式2的加權(quán)計(jì)算法。實(shí)驗(yàn)內(nèi)容主要包括設(shè)定模型參數(shù)和驗(yàn)證模型性能。首先采用網(wǎng)格檢索方法,根據(jù)推薦F值來(lái)尋找和確定最優(yōu)參數(shù)值,然后通過(guò)兩組實(shí)驗(yàn)對(duì)模型各要素及RETD時(shí)間衰減函數(shù)的有效性和性能進(jìn)行驗(yàn)證。
第一組實(shí)驗(yàn)是驗(yàn)證本文提出的ICBO UserCF算法所涉及到的IRM、TDM和ICM三個(gè)模型的性能。第二組實(shí)驗(yàn)是對(duì)比RETD時(shí)間衰減函數(shù)的性能優(yōu)勢(shì),具體實(shí)驗(yàn)設(shè)計(jì)如下:將推薦書(shū)目N設(shè)定為20,根據(jù)表3的計(jì)算步驟,將TDM和ICM模型中的RETD函數(shù)替換為經(jīng)典時(shí)間衰減函數(shù)(common),即在其他條件不變的情況下將式(11)和式(16)中f(Tui)的變?yōu)槭?9)的經(jīng)典時(shí)間衰減函數(shù)。
計(jì)數(shù)統(tǒng)計(jì)法計(jì)算用戶評(píng)分矩陣的方法如下:記讀者對(duì)某圖書(shū)的“借閱次數(shù)”為num1、“續(xù)借次數(shù)”為num2、“預(yù)約次數(shù)”為num3,則用戶對(duì)該圖書(shū)的評(píng)分值val如式(17)。
為評(píng)估算法性能,采用準(zhǔn)確率(Precision)、召回率(Recall)、F值(F-Measure)和覆蓋度(Coverage)來(lái)評(píng)估算法的推薦效果,詳見(jiàn)式(18)(19)(20)(21):
其中,U代表用戶集合,I代表書(shū)目集合,R(u)代表根據(jù)用戶在訓(xùn)練集上的行為給用戶做出的推薦列表,T(u)代表用戶在測(cè)試集上的行為列表。由于準(zhǔn)確率和召回率是既矛盾又統(tǒng)一的兩個(gè)指標(biāo),而F值將準(zhǔn)確率和召回率進(jìn)行了加權(quán)調(diào)和平均,能夠綜合評(píng)定準(zhǔn)確率和召回率的效果。
3.3.1 模型參數(shù)設(shè)定
模型參數(shù)主要包括IRM中各行為興趣值權(quán)重和TDM、ICM中RETD函數(shù)α值。
基于IRM計(jì)算評(píng)分矩陣的方法及步驟見(jiàn)表2。IRM 涉及到的興趣系數(shù)α1、α2、α3、α4的取值,通過(guò)網(wǎng)格檢索方法并經(jīng)過(guò)多次實(shí)驗(yàn)后發(fā)現(xiàn),當(dāng)α1、α2、α3、α4分別取值為0.7、0.4、1.2、0.4時(shí),采用UserCF 算法計(jì)算出來(lái)的推薦結(jié)果最佳。通過(guò)該結(jié)果,可以猜想興趣系數(shù)可能與時(shí)間成本和讀者借閱心理需求相關(guān),在其他條件相同的情況下,“借預(yù)約書(shū)”代表這本書(shū)對(duì)讀者具有一定的價(jià)值,對(duì)圖書(shū)的了解程度也相對(duì)最深,值得用戶經(jīng)過(guò)長(zhǎng)時(shí)間等待依然愿意借閱該書(shū),故而興趣系數(shù)最大,“借過(guò)再借”其次,而“預(yù)約未借”和“網(wǎng)上續(xù)借”僅需在線上操作即可,所以興趣值權(quán)重最小。
基于RETD函數(shù)的TDM和ICM具體的方法及步驟見(jiàn)表3,分類號(hào)可從讀者借閱記錄表中的“callno”字段取出。在涉及到的TDM和ICM公式中,參數(shù)T1-T0由訓(xùn)練集起止時(shí)間算出為881,偏置量bias取一較小值0.001。兩者的α 值則由網(wǎng)格檢索求出。實(shí)驗(yàn)中設(shè)TDM 的α 值為α1,ICM的α值為α2。經(jīng)過(guò)多次試驗(yàn),實(shí)驗(yàn)將檢索范圍設(shè)定在[6,18],步長(zhǎng)為2,觀察不同α 值對(duì)應(yīng)Top5~30(步長(zhǎng)為5)推薦F值總值情況,最終選定衰減參數(shù)α1取值為16,α2為6。此時(shí)TDM 和ICM 的表達(dá)式見(jiàn)式(22)(23),對(duì)應(yīng)RETD 函數(shù)走勢(shì)見(jiàn)圖3。由結(jié)果看出,在α1>α2情況下的推薦效果較優(yōu),表明相較于讀者對(duì)某本書(shū)的興趣度流失速度,讀者對(duì)于圖書(shū)類別的興趣度流失速度要慢得多,且基本是以年為轉(zhuǎn)折,這預(yù)示著高校學(xué)生隨著年級(jí)增長(zhǎng),涉獵的圖書(shū)類別會(huì)有較大差異,但同年級(jí)期間學(xué)生對(duì)于圖書(shū)類別的興趣變化幅度稍小。
圖3 α1=16、α2=6時(shí)f(Tui)的函數(shù)圖像
3.3.2 模型性能驗(yàn)證
為驗(yàn)證基于行為評(píng)分、時(shí)間上下文和內(nèi)容興趣要素疊加改進(jìn)而成的ICBO UserCF算法以及RETD時(shí)間衰減函數(shù)的有效性,按照實(shí)驗(yàn)設(shè)計(jì),進(jìn)行兩組實(shí)驗(yàn)。
第一組實(shí)驗(yàn)以基于計(jì)數(shù)統(tǒng)計(jì)法構(gòu)建評(píng)分矩陣的UserCF 算法作為基準(zhǔn),記為“USERCF@計(jì)數(shù)統(tǒng)計(jì)法”;以基于IRM 模型構(gòu)建評(píng)分矩陣的UserCF算法,記為“USERCF@IRM”;在IRM基礎(chǔ)上加入基于RETD函數(shù)的TDM模型優(yōu)化評(píng)分矩陣的UserCF 算法,記為“USERCF@IRM_TDM-RETD”;在通過(guò)TDM-RETD模型優(yōu)化評(píng)分矩陣得到召回集的基礎(chǔ)上,運(yùn)用ICM模型對(duì)召回結(jié)果進(jìn)行排序得到的UserCF算法,為本文最終提出的算法,記為“ICBO UserCF”。最終通過(guò)實(shí)驗(yàn),分別得到當(dāng)推薦書(shū)目N為5、10、20、30時(shí)的推薦列表,推薦效果對(duì)比結(jié)果見(jiàn)表5。
表5 ICBO UserCF算法性能評(píng)估
由表5看出,在為測(cè)試集用戶推薦5~30本書(shū)籍時(shí),ICBO UserCF算法在準(zhǔn)確率、召回率、F值、覆蓋度均有所提升,驗(yàn)證了有效性:(1)驗(yàn)證了行為評(píng)分模型IRM的有效性。由表5可知,基于IRM 的UserCF 相較于計(jì)數(shù)統(tǒng)計(jì)法F值提升0.41%~0.51%,覆蓋度提升2.03%~9.64%,說(shuō)明IRM更接近于用戶的真實(shí)興趣值,更具客觀性且推薦書(shū)目覆蓋更廣。(2)驗(yàn)證了時(shí)間上下文模型TDM的有效性。在IRM基礎(chǔ)上疊加TDM-RETD,相比于只有IRM 的F值提升1.99%~2.92%,覆蓋度提升0.69%~1.27%,表明用戶的借閱興趣存在時(shí)間效應(yīng),加入TDM能有效捕捉用戶的近期興趣。(3)驗(yàn)證了內(nèi)容興趣模型ICM的有效性。在前兩者的基礎(chǔ)上加入ICM,F(xiàn)值相比單引入TDM-RETD和IRM優(yōu)化提升了1.66%~2.26%,相較最初基于計(jì)數(shù)統(tǒng)計(jì)法的UserCF提升了4.16%~5.62%,其中Top5的F值提升增幅最高,達(dá)141%。由此說(shuō)明,ICM模型使算法性能有顯著的提升效果,能體現(xiàn)高校圖書(shū)館場(chǎng)景下讀者興趣變遷的特性。因此,ICBO UserCF算法可有效地基于時(shí)間上下文捕捉用戶的借閱興趣,達(dá)到提高推薦效果的目的。
第二組實(shí)驗(yàn)為驗(yàn)證本文提出的RETD時(shí)間衰減函數(shù)有效性,將RETD函數(shù)與經(jīng)典的時(shí)間衰減函數(shù)做對(duì)比,觀察兩者的推薦效果,結(jié)果見(jiàn)表6。由表6看出,使用RETD時(shí)間衰減模型進(jìn)行推薦時(shí),推薦準(zhǔn)確率、召回率和F值均有一定程度的提升。因此,RETD相較于經(jīng)典的時(shí)間衰減函數(shù)具有一定的優(yōu)勢(shì)。
表6 RETD有效性驗(yàn)證
ICBO UserCF針對(duì)高校圖書(shū)館應(yīng)用UserCF開(kāi)展個(gè)性化圖書(shū)推薦面臨的評(píng)分?jǐn)?shù)據(jù)缺乏問(wèn)題,以借閱行為構(gòu)建IRM模型,評(píng)分機(jī)制具有客觀性和普適性;提出新的時(shí)間衰減函數(shù)RETD,應(yīng)用于TDM和ICM模型,對(duì)解決興趣變遷、數(shù)據(jù)稀疏等問(wèn)題有明顯幫助,優(yōu)化了UserCF算法。在推薦相同數(shù)量的圖書(shū)時(shí),相比傳統(tǒng)的協(xié)同過(guò)濾算法和經(jīng)典時(shí)間衰減函數(shù),ICBO UserCF的準(zhǔn)確率、召回率和F值均有較顯著的提升。不足之處在于,一方面ICBO UserCF 和多數(shù)研究一樣,僅僅在已有的數(shù)據(jù)集進(jìn)行了測(cè)試,推薦效果并沒(méi)有在實(shí)際應(yīng)用中得到驗(yàn)證。另外,雖然ICM興趣捕捉模型豐富了評(píng)分矩陣的數(shù)據(jù),但用戶冷啟動(dòng)和數(shù)據(jù)稀疏問(wèn)題依然存在,影響了推薦效果。另一方面,本研究為實(shí)現(xiàn)高校圖書(shū)館的個(gè)性化推薦服務(wù),主要針對(duì)推薦F值進(jìn)行了探究,而在推薦多樣性、新穎性和驚喜度方面沒(méi)有進(jìn)行探索,在實(shí)際推薦中,若僅針對(duì)用戶過(guò)去的喜好推薦圖書(shū),可能會(huì)陷入“信息繭房”困境,故在實(shí)際上線推薦應(yīng)用時(shí),可加入部分經(jīng)典推薦、新書(shū)推薦和熱書(shū)推薦欄目,增加推薦的多樣性。
關(guān)于ICBO UserCF 的深化研究計(jì)劃包括3個(gè)方面。首先是推廣應(yīng)用,將通過(guò)“我的圖書(shū)館”向?qū)W生進(jìn)行個(gè)性化TOP N圖書(shū)推薦,根據(jù)實(shí)際借書(shū)行為和讀者調(diào)查反饋情況來(lái)評(píng)估算法的準(zhǔn)確性,并改進(jìn)算法,提高實(shí)用能力。其次是加強(qiáng)對(duì)讀者及行為的研究,根據(jù)高校的特點(diǎn),對(duì)學(xué)生按專業(yè)、年級(jí)、性別等特征進(jìn)行個(gè)別或團(tuán)體的畫(huà)像,將用戶畫(huà)像技術(shù)應(yīng)用于ICBO UserCF中,嘗試解決新生冷啟動(dòng)問(wèn)題;同時(shí)設(shè)立借閱評(píng)價(jià)功能,鼓勵(lì)學(xué)生對(duì)閱讀的圖書(shū)進(jìn)行評(píng)價(jià),建立顯式評(píng)分機(jī)制。最后是深入研究圖書(shū)本身,通過(guò)內(nèi)容分析,建立館藏圖書(shū)和本科專業(yè)、博碩士學(xué)科點(diǎn)之間的有機(jī)聯(lián)系;通過(guò)使用分析,區(qū)分某種書(shū)或某類書(shū)的熱門(mén)或冷門(mén)程度等??傊?,要在研究讀者和圖書(shū)的基礎(chǔ)上,不斷優(yōu)化ICBO UserCF,提升基于用戶的協(xié)同過(guò)濾圖書(shū)推薦技術(shù)的準(zhǔn)確性和實(shí)用性,提高圖書(shū)館的精準(zhǔn)服務(wù)水平。