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