□陰江烽(中共廣東省委黨校圖書館,廣東廣州 510053)
面向科研學(xué)術(shù)對象服務(wù)的個性化圖書推薦系統(tǒng)研究
□陰江烽(中共廣東省委黨校圖書館,廣東廣州 510053)
針對科研學(xué)術(shù)讀者這一讀者群體,應(yīng)構(gòu)建一種基于協(xié)同過濾算法的圖書推薦系統(tǒng)模型。本文通過分析其興趣分類、角色特征、行為模式等特征,對算法進行改進,降低數(shù)據(jù)稀疏性對系統(tǒng)的影響,使系統(tǒng)推薦結(jié)果更符合科研學(xué)術(shù)讀者這一群體的閱讀選擇習(xí)慣,提高推薦系統(tǒng)效率。
圖書推薦;個性化;協(xié)同過濾
個性化圖書推薦系統(tǒng)已經(jīng)成為現(xiàn)代圖書館提供以讀者為核心的個性化服務(wù)的重要手段,目前協(xié)同過濾(CF)是最成功的個性化推薦技術(shù),它借助已知的用戶評價來實現(xiàn)對目標(biāo)用戶的推薦。典型的協(xié)同過濾推薦算法是基于用戶的協(xié)同過濾推薦算法,其基本原理是利用歷史評分?jǐn)?shù)據(jù)形成用戶鄰居,根據(jù)評分相似的最近鄰居的評分?jǐn)?shù)據(jù)向目標(biāo)用戶產(chǎn)生推薦。[1]而形成用戶的最鄰近用戶集是協(xié)同過濾推薦算法中最為關(guān)鍵的一步,但傳統(tǒng)協(xié)同過濾推薦算法存在稀疏性問題,用戶對資源項的評價非常稀疏,以稀疏的評價產(chǎn)生用戶間的相似性可能并不準(zhǔn)確,從而影響了算法的準(zhǔn)確性。[2]針對這些問題有很多改進算法,這些算法大部分集中在對最鄰近用戶集的選擇改進上,即針對讀者特征的差異進行改進。而科研學(xué)術(shù)對象有其自身的特點,本文引入讀者的興趣分類和角色身份分類等因素,提出一種針對面向科研學(xué)術(shù)對象服務(wù)的個性化圖書推薦系統(tǒng)。
(一)傳統(tǒng)協(xié)同過濾推薦算法
傳統(tǒng)協(xié)同過濾推薦算法基于以下假設(shè):如果用戶對一定項的打分較相似,則他們對其他項的打分也較相似。它是以用戶對項打分的I-U評分矩陣作為學(xué)習(xí)用戶偏好并產(chǎn)生推薦的基礎(chǔ)。該算法可以分為三個階段:[3]
1、構(gòu)建用戶I-U評分矩陣。用戶的評價和偏好表示為一個m*n的I-U評分矩陣R。其中m是用戶數(shù),n是項目數(shù),R=[rij],元素rij代表用戶i對項目j的評分。
2、獲取用戶的最近鄰?!白罱従蛹本褪歉鶕?jù)相似度從大到小排列的“鄰居”集合。其中兩個用戶之間相似性的計算需要獲取兩個用戶所有已評分的項目和數(shù)據(jù),然后用一種度量方法進行計算。常見的度量方法有余弦相似性、修正余弦相似性、相關(guān)相似性等。相關(guān)相似性一般由Pearson相關(guān)系數(shù)度量,[4]計算公式如下:
其中,sim(ua,ub)是用戶ua和ub的相似度,集合Iab是用戶ua和ub共同評分的項目集,rai、rbi分別表示用戶ua、ub對項目i的評分分別表示用戶ua和ub對所有項目的平均評分。
3、產(chǎn)生推薦集。產(chǎn)生“最近鄰居集”后,基于最近鄰居集計算目標(biāo)用戶i對未評分項目x的預(yù)測評分值,并產(chǎn)生top-N推薦集。預(yù)測評分計算方法如下:
其中,pi,x表示目標(biāo)用戶i對項目x的預(yù)測評價值?為用戶i的平均評分值,N為目標(biāo)用戶i的最近鄰居集,j為最近鄰居集N中的一個用戶,Ri,x為用戶j對項目x的評價表示用戶j的平均評分值。
(二)傳統(tǒng)協(xié)同過濾推薦算法的不足
首先,傳統(tǒng)協(xié)同過濾推薦算法忽略了項目與項目之間的聯(lián)系,以及讀者興趣的差異。由傳統(tǒng)協(xié)同過濾推薦算法的過程易見,在第二步計算用戶相似性的過程中,計算對象采用了兩個用戶之間所有的共同評分項目進行計算,這些項目中有很多項目與目標(biāo)項目并不相關(guān),即其所尋找的是與目標(biāo)用戶的興趣組成、鑒賞水平、評分習(xí)慣完全一致或高度一致的用戶群。而我們知道沒有哪兩個用戶是完全相同的,每個獨立用戶的興趣都是多樣化的,并且興趣也是多變的,每種興趣產(chǎn)生時間及其持續(xù)時間也有不同。在這種情況下,傳統(tǒng)協(xié)同過濾推薦算法只能找出用戶持續(xù)度最強的興趣而忽略了用戶次要興趣和新產(chǎn)生的興趣熱點,并且可能產(chǎn)生推薦出用戶曾經(jīng)長時間感興趣但現(xiàn)在興趣降低或消失的項目。
其次,傳統(tǒng)的協(xié)同過濾算法存在數(shù)據(jù)稀疏性問題。由于資源的海量化以及興趣的多樣化,評分?jǐn)?shù)據(jù)往往是比較稀疏的,這樣會造成算法精確度的降低。例如目標(biāo)用戶A和用戶B分別各對10個項目進行了評分,這其中只有2項相同,但在數(shù)據(jù)稀疏的情況下,B依然被選做了A的最近鄰。那么我們根據(jù)B對項目k的評分計算出的目標(biāo)用戶A對項目k的評分顯然是不準(zhǔn)確的。
本文研究的方向為面向科研學(xué)者這一特定服務(wù)對象的圖書推薦系統(tǒng),基于以上的分析,本文認(rèn)為針對此特定讀者群體的特征以及項目的分類,對I-U評分矩陣及最近鄰的選擇做出優(yōu)化就是一種簡單易行、效果也比較顯著的方法。
(一)興趣的長效性
科學(xué)研究不是一蹴而就的,而是一個持續(xù)的、不斷積累的過程,大部分成果都是產(chǎn)生在持續(xù)不斷的研究之上的,很多科研工作者和學(xué)者甚至用一生去追求一個真理的答案,這就決定了他們的主要興趣是具有長效性的。反映在圖書推薦系統(tǒng)數(shù)據(jù)中就表現(xiàn)為,某一類圖書的借閱記錄和評分記錄貫穿了這個讀者行為記錄的始終,不會出現(xiàn)較長期不借閱或評分此類圖書的情況。
(二)興趣的時效性
根據(jù)研究領(lǐng)域和方向的不同,甚至是研究階段的不同,研究的內(nèi)容會隨著不同的熱點發(fā)生轉(zhuǎn)移,一些時事性強的領(lǐng)域更是這樣,比如國際政治、應(yīng)用經(jīng)濟等等。也就是說在某些情況下,讀者的閱讀興趣會發(fā)生改變,一些曾經(jīng)比較關(guān)注的問題,現(xiàn)在的興趣轉(zhuǎn)淡或者消失了。反映在圖書推薦系統(tǒng)數(shù)據(jù)中就表現(xiàn)為,集中出現(xiàn)過某一類圖書的借閱以及評分記錄,但是最近一段時間內(nèi)此類圖書的出現(xiàn)率為零。
(三)興趣的偶發(fā)性
讀者除了有長時間關(guān)注的問題和短時間關(guān)注的熱點外,也會偶爾對獨立的一兩本書產(chǎn)生興趣,但是這種興趣是偶發(fā)性的,也許只是這一兩本書的特定部分內(nèi)容吸引了讀者,而不是讀者對書處的類發(fā)生了興趣。反映在圖書推薦系統(tǒng)數(shù)據(jù)中就表現(xiàn)為,某些類中的個別書籍時間間隔較長且不規(guī)律的出現(xiàn)在歷史記錄中,并且出現(xiàn)的頻度較低。
(四)對象選擇中遵循的專家性、權(quán)威性
盡管學(xué)歷和職稱的高低并不能代表真實水平的高低,但在大多數(shù)情況下,更高的學(xué)歷和職稱還是代表了一位學(xué)者在某些領(lǐng)域研究的時間更長,研究內(nèi)容更深入,涉及到的問題更全面。當(dāng)我們的讀者進行研究時,通常也更傾向于借鑒專家、知名學(xué)者和權(quán)威的資料,這就是隱藏在讀者選擇閱讀對象傾向中的專家性、權(quán)威性。根據(jù)此特點,我們可以認(rèn)為,一個擁有更高學(xué)歷和職稱的讀者,在本專業(yè)領(lǐng)域范圍內(nèi)挑選的閱讀對象和對對象的評價數(shù)據(jù),對其他讀者在此領(lǐng)域的研究有更重要的借鑒意義。
根據(jù)上文對科研學(xué)者型讀者特征的分析,本文提出了改進的協(xié)同過濾算法,以使面向科研學(xué)術(shù)對象服務(wù)的個性化圖書推薦系統(tǒng)有更高的準(zhǔn)確率和效率。算法主要分以下幾步:
(一)步驟1:對目標(biāo)用戶興趣分類
對目標(biāo)用戶的興趣進行分類,選擇出相對長效興趣和熱點興趣,并屏蔽掉失效興趣和偶發(fā)興趣,計算每種興趣在整體中的權(quán)重。
首先,我們對用戶U的興趣分類,即對讀者已讀或已評分的圖書按照學(xué)科、項目分類,得到興趣集合P=(P1,P2,P3,…Pn)。
其次,從興趣集合中選擇出相對長效興趣和熱點興趣,并屏蔽掉失效興趣和偶發(fā)興趣。設(shè)對于興趣Px∈P(1≤x≤n,x為整數(shù)),有集合Iu,pxIu,其中Iu,px=(i1,i2,i3,…,in)為讀者U在興趣Px下借閱和評分對象的集合,Iu為讀者U所有借閱和評分對象的集合。Iu,px對應(yīng)的時間序列為Tu,px=(t1,t2,t3,…,tn),tn為對象in發(fā)生的時間。設(shè)tmin為最早借閱或評分時間,tmax為最近借閱或評分時間,則該類興趣中項目的平均借閱間隔,其中n為項目總數(shù)。設(shè)tnow為收集數(shù)據(jù)的截止時間,那么對于每一種興趣Px,則有:
如果n≤2,即該興趣分類中的書只借閱過兩次以下,那么我們可以把它看做偶發(fā)性興趣,屏蔽。
如果tnow-tmax>6(month),即從借閱一種興趣分類的圖書開始到數(shù)據(jù)截止日期,間隔在6個月以上,我們就認(rèn)為其是長效興趣。
以上皆否,則我們認(rèn)為其是新興趣或熱點興趣。
最后,我們計算所有長效興趣、熱點興趣在讀者興趣分布中的權(quán)重Y。對于長效興趣和熱點興趣,由于每個人的特征不同,我們無法判斷哪種類型的興趣所占比重更大,所以首先為長效興趣和熱點興趣各分配50%比重,再在各自的范圍內(nèi)根據(jù)項目占總項目的比重來計算單獨一個興趣分類占總類的比重,具體如下:
設(shè)YPx為興趣Px在目標(biāo)讀者U所有有效興趣中的比重,NPx為Px的項目集合Iu,px的總項目數(shù),Nlang表示所有長效興趣分類中項目的總數(shù),Nhot表示所有熱點興趣分類中項目的總數(shù),則有:
(二)步驟2:根據(jù)不同的興趣分類,生成其他讀者的I-U評分矩陣
建立m×n維的I-U評分矩陣RPx,m為候選鄰居數(shù),n為項目即圖書數(shù),rij表示用戶i對項目j的評分,但這里n并不是所有的項目,而是興趣Px對應(yīng)的項目集合IPx中的項目,即j∈IPx,其中Ipx表示所有項目中對應(yīng)于興趣Px的項目的集合。設(shè)R為數(shù)據(jù)集中所有讀者和項目評分組成的矩陣,則有PPxR。大多數(shù)圖書館的讀者評分?jǐn)?shù)據(jù)都是非常稀疏的,因為評分是讀者的愛好和習(xí)慣,有自由的選擇權(quán),相反圖書的借閱記錄非常全面,不管愿不愿意,只要借閱了圖書,就一定會留下借閱記錄,同時我們發(fā)現(xiàn)借閱時間能夠反映出讀者對信息需求的緊迫程度,[5]因此對于讀者評分rij的采集,我們借鑒文獻[5]的方法。
設(shè)讀者i在指定時間段內(nèi)借閱圖書序列為(item1,item2,…,itemj,…,itemn),其對應(yīng)的借閱時間序列為(t1,t2,…,tj,…,tn),設(shè)Tmin為統(tǒng)計時間段開始時問,Tmax為截止時間,則讀者i對圖書資源itemj的評分值計算公式如下:
對于沒有借閱記錄的項目rij的值為0。
(三)步驟3:計算用戶之間的相似性,獲取用戶的最近鄰
由上文的分析可知,科研學(xué)術(shù)讀者選擇對象過程中遵循隱含的專家性、權(quán)威性,因此我們在計算用戶與目標(biāo)用戶的相似性時,應(yīng)該主動提升在本興趣領(lǐng)域內(nèi)具有較高職稱和較高學(xué)歷的用戶的相似性,本文考慮引入約束系數(shù)D來實現(xiàn)這個目標(biāo)。
考慮一般情況下科研學(xué)術(shù)讀者的角色特征,可以得到:職稱特征集L=(1,2,3,4,5),其中值1代表非Px興趣相關(guān)專業(yè)讀者,值2代表Px興趣相關(guān)專業(yè)初級職稱及以下,值3、4、5依次代表Px興趣相關(guān)專業(yè)中級、副高級和高級以上職稱;學(xué)歷特征集S=(1,2,3,4,5),其中值1代表非Px興趣相關(guān)專業(yè)讀者,值2、3、4、5依次代表Px興趣相關(guān)專業(yè)??萍耙韵?、本科、碩士、博士及以上學(xué)歷。
設(shè)目標(biāo)讀者U的職稱特征集為Lu,任意讀者i的職稱特征集為Li。我們知道對于讀者來說,角色、身份的差異帶來的對像選擇方式的影響,并不是線性的,并且當(dāng)這種差異達到一定程度的時候差異就不是很明顯,即對于初學(xué)者來說副教授和教授的資料幾乎有同等的借鑒價值,因此我們用正弦函數(shù)來考量i與U之間的差異,同時根據(jù)正弦函數(shù)的特性我們要取
顯然,有Z∈[2/3,2],對所有的Lu,Li越大Z越小,反之亦然。而且當(dāng)Li=Lu時,Z=1,即當(dāng)讀者i與目標(biāo)讀者u一致時,約束系數(shù)為1。
表示兩個用戶i與U之間學(xué)歷的差異。
因為Z與C是同時作用于數(shù)據(jù)的,所以最終約束系數(shù)D=Z×C。
我們的目的是使具有較高角色特征的用戶和目標(biāo)用戶的相似度增加,即其共同評分項目值向目標(biāo)用戶靠攏,因此我們通過約束系數(shù)D對用戶的現(xiàn)有評分進行優(yōu)化。設(shè)用戶i對項目j的評分為rij,目標(biāo)用戶U對項目j的評分為ruj,則優(yōu)化后的項目評分為:
由上式可見,當(dāng)i的特征高于U時,兩者之間差距縮小,相似度提升,當(dāng)i的特征低于U時,兩者之間差距加大,相似度降低。
最后,我們根據(jù)公式1和公式3得到改進的相似性計算公式:
根據(jù)公式4我們計算出用戶與目標(biāo)用戶的相似度,按從大到小排序,取top-N,得到目標(biāo)用戶在興趣Px下的最近鄰集合。
(四)步驟4:產(chǎn)生推薦書目
根據(jù)步驟3產(chǎn)生的最近鄰集合,應(yīng)用前文的公式2,我們產(chǎn)生目標(biāo)用戶u對項目x的預(yù)測評分pu,x,并從大到小排列,取出top-N項,其中最近鄰項目的評分采用優(yōu)化前的原始數(shù)據(jù)。
(五)步驟5:得到最終推薦書目集合
重復(fù)步驟2到步驟4,找出所有有效興趣Px下的top-N推薦,根據(jù)步驟1計算的權(quán)重,得出最終推薦書目集合I。
其中P為有效興趣集合,YPx為興趣Px在 P中的權(quán)重,N為I的總數(shù)表示在興趣Px下的top-N推薦集合中取前YPxN項的集合,YPxN的值四舍五入取整。
本文構(gòu)建了一種基于協(xié)同過濾算法的面向科研學(xué)術(shù)對象服務(wù)的個性化圖書推薦系統(tǒng)模型,并在對傳統(tǒng)協(xié)同過濾算法過程分析的基礎(chǔ)上,針對科研學(xué)術(shù)讀者這一讀者群體的特殊特征以及圖書這種對象的特征,根據(jù)讀者的興趣分類、角色特征、行為模式,對算法進行了改進,使其降低了數(shù)據(jù)稀疏性對系統(tǒng)的影響,并更符合科研學(xué)術(shù)讀者這一群體的閱讀選擇習(xí)慣,提高了推薦系統(tǒng)的效率。
[1]蔡浩、賈宇波、黃成偉.結(jié)合用戶信任模型的協(xié)同過濾推薦方法研究[J].計算機工程與應(yīng)用,2010,(35).
[2]李幼平、尹柱平.基于用戶行為與角色的協(xié)同過濾推薦算法[J].計算機系統(tǒng)應(yīng)用,2011,(11).
[3]王茜、王均波.一種改進的協(xié)同過濾推薦算法[J].計算機科學(xué),2010,(6).
[4]張丙奇.基于領(lǐng)域知識的個性化推薦算法研究[J].計算機工程,2005,(21).
[5]董坤.基于協(xié)同過濾算法的高校圖書館圖書推薦系統(tǒng)研究[J].現(xiàn)代圖書情報技術(shù),2011,(11).
□責(zé)任編輯:黃旭東
G251
A
1003—8744(2012)04—0116—05
2012—5—20
陰江烽(1980—),男,中共廣東省委黨校圖書館技術(shù)部副主任,主要研究方向為圖書技術(shù)服務(wù)。