劉高軍++李越洋



摘要:隨著出版行業(yè)日益發(fā)展,高校圖書館圖書同樣日益增多,然而高校圖書館目前存在個(gè)性化圖書推薦不精確甚至沒(méi)有個(gè)性化圖書推薦的現(xiàn)象。本文通過(guò)我校圖書館近十年的借閱記錄,提出一種新的個(gè)性化圖書推薦方案,考慮讀者的借閱特征以及時(shí)間相關(guān)因素,最終提高推薦精確度。該方案的核心主要分為兩個(gè)部分,首先利用基于用戶的協(xié)同過(guò)濾算法對(duì)推薦結(jié)果進(jìn)行粗召回。第二步利用特征提取算法對(duì)借閱記錄進(jìn)行特征提取,除了用戶的基本特征,例如年級(jí)、專業(yè)、性別等信息之外,還包括了讀者借閱圖書的類別、借閱時(shí)間點(diǎn)、借閱時(shí)長(zhǎng)、借閱次數(shù)、近一段時(shí)間借閱了哪些書等特征維度。根據(jù)提取的特征對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練,確定用戶的偏好模型,從而預(yù)測(cè)讀者對(duì)圖書的評(píng)分,根據(jù)評(píng)分排序進(jìn)行精確推薦。
關(guān)鍵詞:圖書推薦;借閱特征;協(xié)同過(guò)濾;特征提取
中圖分類號(hào):G250.71 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)03-0156-03
1 引言
目前高校圖書館的館藏資源通常成千上萬(wàn),而且種類繁多,因此讀者會(huì)花費(fèi)大量的時(shí)間用于尋找自己感興趣的圖書。而隨著圖書行業(yè)的繁榮,書目與種類日益增多。傳統(tǒng)的搜索引擎已經(jīng)不能完全的滿足讀者對(duì)圖書的辨識(shí)。因此,針對(duì)這種信息獲取的困難,出現(xiàn)了許多針對(duì)于個(gè)性化圖書推薦系統(tǒng)的相關(guān)研究。
目前高校圖書館的推薦系統(tǒng)存在以下一些問(wèn)題。第一,推薦系統(tǒng)不夠個(gè)性化,一些高校的圖書推薦模塊僅僅是依靠于借閱量以及根據(jù)借閱記錄基于圖書本身的內(nèi)容進(jìn)行推薦。第二,許多個(gè)性化圖書推薦系統(tǒng)雖然采用協(xié)同過(guò)濾的技術(shù),實(shí)現(xiàn)了個(gè)性化,但是協(xié)同過(guò)濾算法本身依賴于用戶對(duì)項(xiàng)目的評(píng)分,而大部分高校圖書館的借閱記錄中都沒(méi)有讀者對(duì)圖書的評(píng)分這一項(xiàng)。第三,由于數(shù)據(jù)稀疏性的原因,導(dǎo)致一些沒(méi)有借閱過(guò)的或被借閱次數(shù)很少的圖書無(wú)法被有效的推薦給其他人。
如之前所說(shuō),協(xié)同過(guò)濾依賴于用戶對(duì)物品的評(píng)分,而對(duì)于高校圖書館,如何根據(jù)讀者的借閱記錄將其特征轉(zhuǎn)化為對(duì)圖書的評(píng)分,從而提高推薦的準(zhǔn)確性。是本文研究的重點(diǎn)。同時(shí),本文也將根據(jù)借閱記錄提取與時(shí)間相關(guān)的特征,考慮時(shí)間因素,例如圖書借閱的先后順序,或者在某些大型綜合考試如英語(yǔ)四、六級(jí)考試前為讀者推薦相關(guān)的圖書。
本文的核心步驟主要分為兩大類:
(1)利用基于用戶的協(xié)同過(guò)濾算法對(duì)推薦結(jié)果進(jìn)行粗召回。
(2)利用特征提取算法對(duì)用戶及借閱記錄進(jìn)行特征提取,構(gòu)建讀者偏好模型。
本文第2節(jié)介紹了個(gè)性化推薦方法的研究工作,第3節(jié)詳細(xì)闡述本文提出方案的具體原理;第4節(jié)是關(guān)于本文提出的推薦方案在真實(shí)數(shù)據(jù)集上的實(shí)驗(yàn)分析與討論;最后第5節(jié)給出結(jié)論和未來(lái)的工作。
2 方案原理
該方案主要分為兩個(gè)部分,第一部分利用基于協(xié)同過(guò)濾算法對(duì)借閱記錄進(jìn)行推薦,得出一個(gè)粗召回的結(jié)果集。第二部分利用特征提取算法對(duì)借閱記錄進(jìn)行特征提取,將提取的特征以向量的形式作為讀者偏好模型的維度,訓(xùn)練讀者的偏好模型。
2.1 推薦算法比較
推薦算法比較,當(dāng)前,個(gè)性化推薦方法通常采用三類核心推薦算法[1]:(1)基于關(guān)聯(lián)規(guī)則的推薦算法(Association Rule-based Rcommendation);(2)基于內(nèi)容的推薦算法(Content-based Rcommendation);(3)基于協(xié)同過(guò)濾的推薦算法(Collaborative Filtering Rcommendation)下面闡述三類推薦算法的原理以及優(yōu)缺點(diǎn)。
基于關(guān)聯(lián)規(guī)則的推薦算法是以關(guān)聯(lián)規(guī)則為基礎(chǔ),研究的核心問(wèn)題即項(xiàng)目集A與其他項(xiàng)目集的關(guān)聯(lián)關(guān)系。直觀的意義就是對(duì)圖書A偏好的讀者又借閱了圖書B和C,那么可以說(shuō)B與C和A存在關(guān)聯(lián)關(guān)系。比如借閱了大數(shù)據(jù)相關(guān)圖書的讀者一般還會(huì)借閱hadoop相關(guān)的圖書。基于關(guān)聯(lián)規(guī)則的推薦算法優(yōu)點(diǎn)在于算法的復(fù)雜程度,因此可以深度挖掘讀者的興趣偏好,提高推薦精準(zhǔn)度。缺點(diǎn)在于算法實(shí)現(xiàn)較為復(fù)雜,如何在成百上千萬(wàn)的項(xiàng)目中計(jì)算每個(gè)項(xiàng)目之間的關(guān)聯(lián)規(guī)則是算法的核心和難點(diǎn),因此生成個(gè)性化推薦結(jié)果較為耗時(shí)。
基于內(nèi)容的推薦算法,是以產(chǎn)生關(guān)系的項(xiàng)目為中心,提取項(xiàng)目的特征,尋找與該項(xiàng)目相似的其他項(xiàng)目推薦給用戶,例如讀者借閱了朱自清的散文集,可能也會(huì)對(duì)冰心的散文感興趣。基于內(nèi)容的推薦算法在圖書推薦方面優(yōu)點(diǎn)在于,不存在冷啟動(dòng)問(wèn)題,即對(duì)新書以及新讀者都比較容易產(chǎn)生推薦,缺點(diǎn)在于不夠個(gè)性化,不能挖掘出讀者深度的興趣偏好。
基于協(xié)同過(guò)濾的推薦算法是當(dāng)前個(gè)性化推薦領(lǐng)域中最流行的推薦算法。它包括兩大類,一是基于用戶的協(xié)同過(guò)濾,二是基于項(xiàng)目的協(xié)同過(guò)濾[2]。以基于用戶的協(xié)同過(guò)濾為例,它的原理就是利用用戶與項(xiàng)目之間的評(píng)分計(jì)算目標(biāo)用戶與每個(gè)用戶的相似度,根據(jù)相似度的排序選定最近鄰用戶[3],將近鄰用戶中所產(chǎn)生關(guān)系的項(xiàng)目中選取目標(biāo)用戶沒(méi)有產(chǎn)生關(guān)系的項(xiàng)目作為推薦項(xiàng)目推薦給目標(biāo)用戶。同理,基于項(xiàng)目的協(xié)同過(guò)濾是計(jì)算項(xiàng)目間[4]的相似度從而產(chǎn)生項(xiàng)目間的近鄰,生成推薦。基于協(xié)同過(guò)濾的推薦算法優(yōu)點(diǎn)很明顯,就是與內(nèi)容無(wú)關(guān),通過(guò)計(jì)算用戶的相似度,來(lái)深度挖掘用戶的潛在興趣,真正的可以實(shí)現(xiàn)個(gè)性化推薦。由于算法的基礎(chǔ)是依賴于用戶與項(xiàng)目之間的作用關(guān)系,因此基于協(xié)同過(guò)濾的推薦算法缺點(diǎn)在于冷啟動(dòng)問(wèn)題,即對(duì)新用戶或新項(xiàng)目的推薦不夠好。
2.2 基于用戶的協(xié)同過(guò)濾算法
綜合上一小節(jié),由于基于協(xié)同過(guò)濾的推薦算法是目前推薦領(lǐng)域的主流,而且它可以實(shí)現(xiàn)真正的個(gè)性化推薦,因此本文中提出的推薦方案第一部分選取基于協(xié)同過(guò)濾的推薦算法。基于用戶的協(xié)同過(guò)濾算法第一步是生成用戶-項(xiàng)目的評(píng)分矩陣,如圖1所示是一個(gè)m x n的二維矩陣。其中m表示用戶數(shù),n表示項(xiàng)目數(shù),Rm,n表示用戶m對(duì)項(xiàng)目n的評(píng)分。由于本文的研究背景是高校圖書館的借閱記錄,沒(méi)有讀者對(duì)圖書的評(píng)分項(xiàng),因此只記錄其作用關(guān)系,即借閱過(guò)的記為1,未借閱的記為0。
基于用戶的協(xié)同過(guò)濾第二步是生成根據(jù)用戶-項(xiàng)目矩陣生成最近鄰用戶,這個(gè)過(guò)程的本質(zhì)相當(dāng)于為目標(biāo)用戶在矩陣R中計(jì)算一個(gè)相似性的排序集合。計(jì)算用戶相似度的方法主要有2種:
(1)余弦相似性(Cosine):設(shè)用戶i 和用戶j 在m維對(duì)象空間上的評(píng)分表示為向量i,j,則sim(i,j)的相似性計(jì)算方法如下:
(2)相關(guān)相似性(Correlation):設(shè)用戶i 和用戶j 共同評(píng)分的對(duì)象集合用Iij 表示[5],則用戶i 和用戶j 之間的相似性通過(guò)Pearson 相關(guān)系數(shù)度量,方法如下:
基于用戶的協(xié)同過(guò)濾第三步是生成推薦結(jié)果,由第二步計(jì)算得出目標(biāo)用戶的最近鄰集合,設(shè)用戶u的最近鄰用戶集合為Su,則用戶u對(duì)項(xiàng)目i的預(yù)測(cè)評(píng)分Pu,i可以通過(guò)用戶u對(duì)最近鄰用戶集合Su中的項(xiàng)目評(píng)分得到[6]。計(jì)算公式如下:
其中sim(u,n)表示用戶u與用戶n之間的相似性,Rn,i表示用戶n對(duì)項(xiàng)目i的評(píng)分,Rn分別表示用戶u和用戶n對(duì)項(xiàng)目的平均評(píng)分。
2.3 利用特征提取算法對(duì)借閱記錄進(jìn)行特征提取
上一小節(jié)闡述了本文中推薦方案的第一部分,即利用協(xié)同過(guò)濾算法對(duì)推薦結(jié)果集進(jìn)行粗召回,可以對(duì)閾值進(jìn)行設(shè)置,產(chǎn)生大量的可能的推薦對(duì)象。而研究背景的借閱數(shù)據(jù)中,存在很多的可以描述用戶興趣偏好的特征,因此,本節(jié)闡述的是推薦方案中的第二部分,即利用特征提取算法對(duì)借閱記錄進(jìn)行特征提取,建立用戶偏好模型。通過(guò)實(shí)際數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,最終產(chǎn)生更精確的推薦結(jié)果。
本文的研究背景是基于高校圖書館的借閱記錄,而借閱記錄是表示讀者興趣偏好的直接來(lái)源。因此,如何對(duì)讀者的借閱記錄進(jìn)行特征提取,建立興趣偏好模型,是提高推薦精確度的關(guān)鍵。也是本文中推薦方案的第二部分的核心。以我校圖書館的借閱數(shù)據(jù)分析,其中包括三類特征信息,第一類是用戶的基本信息,第二類是圖書的特征信息,第三類是關(guān)于借閱行為的特征信息。包括的特征可以整理為:
通過(guò)上述整理的特征構(gòu)建讀者-特征矩陣,如圖2。
y值表示user(i)最終是否借閱了圖書,利用讀者每一年的數(shù)據(jù)中第一學(xué)期的和第二學(xué)期的一部分作為訓(xùn)練集,余下的部分作為測(cè)試集。建立讀者偏好模型。利用偏好模型,對(duì)該推薦方案中第一部分粗召回結(jié)果集進(jìn)行評(píng)分?jǐn)M合。按照擬合評(píng)分的排序結(jié)果,產(chǎn)生最終優(yōu)化的推薦結(jié)果。
目前,利用機(jī)器學(xué)習(xí)技術(shù)領(lǐng)域中相關(guān)的有監(jiān)督學(xué)習(xí)算法,可以對(duì)數(shù)據(jù)進(jìn)行建模,并訓(xùn)練模型。最終根據(jù)興趣偏好模型擬合推薦結(jié)果集。
GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),GBDT模型是一種解決回歸問(wèn)題的樹模型,本質(zhì)是一種迭代的決策樹算法。該算法由多棵決策樹組成,所有樹的結(jié)論累加起來(lái)做最終結(jié)果。它在被提出之初就和SVM一起被認(rèn)為是泛化能力較強(qiáng)的算法。GBDT主要有三個(gè)部分組成:
(1)DT:回歸樹 Regression Decision Tree。GBDT的核心在于累加所有樹的結(jié)果作為最終結(jié)果,而分類樹的結(jié)果顯然是沒(méi)辦法累加的,所以GBDT中的樹都是回歸樹,不是分類樹。
(2)Boosting,迭代,即通過(guò)迭代多棵樹來(lái)共同決策。GBDT的核心就在于,每一棵樹學(xué)的是之前所有樹結(jié)論和的殘差,這個(gè)殘差就是一個(gè)加預(yù)測(cè)值后能得真實(shí)值的累加量。
(3)Shrinkage即縮減。Shrinkage的思想認(rèn)為,每次走一小步逐漸逼近結(jié)果的效果,要比每次邁一大步很快逼近結(jié)果的方式更容易避免過(guò)擬合。即它不完全信任每一個(gè)棵殘差樹,它認(rèn)為每棵樹只學(xué)到了真理的一小部分,累加的時(shí)候只累加一小部分,通過(guò)多學(xué)幾棵樹彌補(bǔ)不足。
目前來(lái)說(shuō),GBDT幾乎可用于所有回歸問(wèn)題(線性/非線性),相對(duì)logistic regression僅能用于線性回歸,GBDT的適用面非常廣。亦可用于二分類問(wèn)題(設(shè)定閾值,大于閾值為正例,反之為負(fù)例)。
3 實(shí)驗(yàn)
3.1 實(shí)驗(yàn)數(shù)據(jù)
本文的研究背景是高校圖書館,因此本文實(shí)驗(yàn)數(shù)據(jù)采用北京市某高校的圖書館借閱記錄作為本文所提出方案的實(shí)驗(yàn)數(shù)據(jù)。數(shù)據(jù)涵蓋了近10年200萬(wàn)條借閱記錄,20萬(wàn)條圖書信息以及17000的讀者信息。
3.2 實(shí)驗(yàn)評(píng)價(jià)
對(duì)于推薦領(lǐng)域而言,對(duì)于推薦結(jié)果的評(píng)價(jià)標(biāo)準(zhǔn)一般從如下幾個(gè)方面考慮:推薦準(zhǔn)確度、推薦結(jié)果的多樣性以及推薦結(jié)果的覆蓋性等。由于本文的研究背景是面向高校讀者的圖書個(gè)性化推薦,因此選取當(dāng)前推薦領(lǐng)域普遍采取的評(píng)價(jià)標(biāo)準(zhǔn),即準(zhǔn)確度指標(biāo)。
準(zhǔn)確度是當(dāng)前推薦領(lǐng)域?qū)ν扑]算法結(jié)果評(píng)價(jià)中最常用、最基礎(chǔ)也是最普遍的指標(biāo)。大部分的推薦算法都采用準(zhǔn)確度指標(biāo)來(lái)衡量一個(gè)推薦算法的好壞。準(zhǔn)確度指標(biāo)的原理是通過(guò)描述預(yù)測(cè)打分與用戶實(shí)際打分的相似程度來(lái)評(píng)估結(jié)果。目前,對(duì)于準(zhǔn)確度指標(biāo)的衡量方法最常用的是平均絕對(duì)誤差(Mean Absolute Error , MAE)。MAE通過(guò)計(jì)算預(yù)測(cè)用戶評(píng)分和實(shí)際用戶評(píng)分之間的偏差來(lái)度量預(yù)測(cè)的準(zhǔn)確性[5]。MAE越小,推薦質(zhì)量越高。平均絕對(duì)誤差(MAE)的計(jì)算公式如下:
其中,c為用戶i所產(chǎn)生關(guān)系的項(xiàng)目數(shù)量,ria為用戶的實(shí)際評(píng)分,via為推薦算法的預(yù)測(cè)評(píng)分。
3.3 實(shí)驗(yàn)結(jié)果
為了檢驗(yàn)本文所提出方案中的推薦算法,我們將以傳統(tǒng)的僅僅依靠于協(xié)同過(guò)濾算法作為對(duì)照,在傳統(tǒng)的協(xié)同過(guò)濾算法中,分別以余弦相似性和相關(guān)相似性作為相似性的度量標(biāo)準(zhǔn),分別計(jì)算其MAE。并設(shè)置近鄰個(gè)數(shù)從20增加到40,間隔為5。然后與本文提出的推薦算法作比較,由數(shù)據(jù)可以看出,本文提出的推薦方案,即在基礎(chǔ)的協(xié)同過(guò)濾算法之上對(duì)借閱記錄進(jìn)行特征提取,根據(jù)實(shí)際情況提取更能代讀者興趣偏好的特征,構(gòu)建讀者偏好模型,最終得到的推薦結(jié)果,相比僅僅依靠于協(xié)同過(guò)濾算法得到的推薦結(jié)果。具有較小的MAE。因此,本文提出的推薦算法可以針對(duì)于高校圖書館的研究背景得出更精準(zhǔn)的推薦結(jié)果。
4 結(jié)語(yǔ)
隨著圖書行業(yè)的繁榮,讀者需要在浩瀚的圖書海洋中選擇自己感興趣的圖書。因此一個(gè)好的推薦系統(tǒng)起著至關(guān)總要的作用。本文所闡述的推薦方案能夠根據(jù)現(xiàn)有的數(shù)據(jù)進(jìn)行有效的推薦,但是仍存在著一些其他問(wèn)題,例如冷啟動(dòng)、數(shù)據(jù)稀疏等問(wèn)題。這些問(wèn)題也是整個(gè)推薦領(lǐng)域需要進(jìn)一步研究的問(wèn)題。
參考文獻(xiàn)
[1]Hofmann,T.Latent Semantic Models for Collabora—tive Filtering[J].ACM Transactions on Information Systems,2004,22(1).
[2]陳梅.圖書館知識(shí)服務(wù)新模式——個(gè)性化推薦系統(tǒng)問(wèn)題和算法實(shí)現(xiàn)研究[J].圖書情報(bào)工作網(wǎng)刊,2012,(05):6-12.
[3]李爍朋.基于大眾標(biāo)注和HOSVD的推薦系統(tǒng)研究[D].江蘇科技大學(xué),2013.