王日花
關(guān)鍵詞:圖書館;混合推薦;XGBoost;模型;信息推送
摘 要:隨著信息技術(shù)的發(fā)展,圖書館傳統(tǒng)的推薦方式難以滿足廣大讀者的個(gè)性化需求,單一的推薦算法在海量數(shù)據(jù)處理面前的缺陷也愈發(fā)明顯,協(xié)同過濾是解決圖書推薦問題的重要方法。文章分析了基于用戶和基于物品的兩種協(xié)調(diào)過濾算法,借助XGBoost梯度樹狀開源框架對(duì)協(xié)同過濾結(jié)果持續(xù)優(yōu)化,提出了一種融合用戶和物品的混合推薦模型,并利用中國(guó)傳媒大學(xué)圖書館的借閱數(shù)據(jù)進(jìn)行了仿真實(shí)驗(yàn),與單一基于用戶的協(xié)調(diào)過濾算法對(duì)比,混合推薦模型提升了推薦的精準(zhǔn)率、召回率和F1值,驗(yàn)證了推薦模型的有效性。
中圖分類號(hào):G250文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1003-1588(2022)01-0104-05
圖書館是高校教學(xué)和科研的重要服務(wù)部門,在中國(guó)傳媒大學(xué)“雙一流”建設(shè)大背景下,如何發(fā)揮圖書館的作用,是擺在圖書館員面前的重要職責(zé)。移動(dòng)互聯(lián)網(wǎng)和信息技術(shù)的飛速發(fā)展,倒逼圖書館要本著一切為用戶服務(wù)的宗旨,以建設(shè)智慧圖書館為創(chuàng)新改革目標(biāo),強(qiáng)化特色服務(wù),拓展新興業(yè)態(tài),全面構(gòu)建公共文化服務(wù)體系創(chuàng)新平臺(tái)。
圖書推薦是圖書館運(yùn)營(yíng)和管理水平的服務(wù)評(píng)價(jià)內(nèi)容之一,現(xiàn)行的推薦更多是基于流行度的推薦,即將最熱的TOP N圖書廣而告之,不能體現(xiàn)千人千面的精準(zhǔn)推薦,制約著圖書館的創(chuàng)新發(fā)展。協(xié)同過濾的推薦方法是主流的模式,被廣泛應(yīng)用于各個(gè)行業(yè),具有可實(shí)施性。
筆者基于用戶和基于物品的兩種單一協(xié)調(diào)過濾算法,借助XGBoost這一優(yōu)化的分布式梯度增強(qiáng)庫(kù),分析用戶和物品的兩維度信息進(jìn)行選型,提出了一種圖書館混合推薦模型,對(duì)中國(guó)傳媒大學(xué)圖書館2019年1月到2021年5月的圖書借閱等流通原始數(shù)據(jù)進(jìn)行分析,相對(duì)于僅基于用戶的單一協(xié)同過濾算法,仿真數(shù)據(jù)表明筆者提出的混合模型提升了推薦性能,具有實(shí)現(xiàn)靈活和便捷的特點(diǎn),可在圖書館領(lǐng)域?qū)嵤┩茝V。
1 圖書館推薦算法概述
推薦算法起源于20世紀(jì)90年代,隨著互聯(lián)網(wǎng)、大數(shù)據(jù)和人工智能技術(shù)的演進(jìn),推薦算法的應(yīng)用范圍越來越廣泛[1]。推薦算法伴隨搜索引擎的迭代升級(jí),通過關(guān)鍵詞可以找到用戶想要的資源。但是,當(dāng)用戶都不清楚自己的需求時(shí),推薦算法就有了用武之地。推薦算法分為基于流行度的、基于內(nèi)容的、基于關(guān)聯(lián)規(guī)則的[2]、基于協(xié)同過濾的、基于模型的和混合的推薦算法等。
其中,基于流行度相對(duì)簡(jiǎn)單,即通過統(tǒng)計(jì)周期內(nèi)物品的瀏覽或借閱次數(shù),將TOP N的圖書及時(shí)推送給用戶,沒有考慮用戶的個(gè)性化需求?;趦?nèi)容的協(xié)同過濾是最初的常用推薦機(jī)制,即采集內(nèi)容的元數(shù)據(jù),將與內(nèi)容相關(guān)的物品推薦給用戶,這種方法避免了稀疏性和冷啟動(dòng)等問題,但存在內(nèi)容重復(fù)推送的問題?;陉P(guān)聯(lián)規(guī)則的推薦模式起源于Apriori和FP-Growth算法,如梳理那些常被大多數(shù)用戶購(gòu)買的物品合集,在合集內(nèi)進(jìn)行互相推薦,缺點(diǎn)是計(jì)算量大、效率不高。基于此,混合推薦算法汲取了各種算法的優(yōu)勢(shì),更具實(shí)際操作條件,逐漸被國(guó)內(nèi)外的研究者廣泛關(guān)注[3]。
2 圖書館協(xié)同過濾推薦模型對(duì)比分析
協(xié)同過濾的推薦算法從字面意義上理解是在協(xié)同下完成推薦的過程,是“物以類聚、人以群分”的思想在算法上的體現(xiàn)[4],從用戶和物品兩個(gè)方面,包括基于用戶的協(xié)同過濾(User-based Collaborative Filtering)和基于物品的協(xié)同過濾(Item-based Collaborative Filtering)兩種。
基于用戶的協(xié)同過濾主要考慮用戶的喜好,以用戶為中心,忽略物品本身的屬性;將用戶對(duì)每個(gè)物品的喜好建立向量,并計(jì)算不同用戶之間的歐幾里得距離,距離相近的用戶即是鄰居用戶;收集單個(gè)用戶的喜好,將這些鄰居用戶喜好的物品匯總排序,并將靠前的物品推薦給鄰居用戶中其他人?;谟脩舻膮f(xié)同過濾為目標(biāo)用戶尋找與他相似度較高的近鄰用戶,并按照這些近鄰用戶的購(gòu)買記錄推測(cè)出目標(biāo)用戶可能喜歡的物品合集[5]。與之相仿,基于物品的協(xié)同是采集用戶對(duì)物品的喜好,建立用戶偏好行為類型,是以物品而非以用戶為中心,物品與不同用戶之間組成向量;用歐幾里得公式計(jì)算出不同物品向量之間的距離,在一定閾值范圍內(nèi)的物品為相似物品,可以推薦給用戶。
就適用場(chǎng)景而言,基于用戶的協(xié)同過濾算法主要考慮相似度矩陣的計(jì)算成本,適合用戶數(shù)較少的場(chǎng)景,時(shí)效性較強(qiáng),抗數(shù)據(jù)稀疏度能力和可擴(kuò)展性強(qiáng)?;谖锲返膮f(xié)同過濾算法適合物品數(shù)較少的情況,容易發(fā)現(xiàn)新的喜好點(diǎn),推薦的精準(zhǔn)率相對(duì)高。就冷啟動(dòng)來說,對(duì)于新用戶沒有物品喜好的記錄,或?qū)τ谛挛锲窙]有用戶使用信息,均不適用協(xié)同過濾算法,需要當(dāng)用戶和物品的交互數(shù)據(jù)量達(dá)到一定值時(shí),才可以進(jìn)行推進(jìn)。因此,適時(shí)地總結(jié)基于用戶[6]的和基于物品的協(xié)同過濾推薦方法的性能,提出混合模型的設(shè)計(jì)思路,即根據(jù)用戶和物品的數(shù)據(jù)量,靈活進(jìn)行融合推薦算法選型,取長(zhǎng)補(bǔ)短,充分發(fā)揮兩種算法的優(yōu)勢(shì),可在一定程度上增強(qiáng)推薦效果。
3 基于XGBoost的圖書館混合推薦模型構(gòu)建
3.1 XGBoost原理介紹
XGBoost是一種集成的學(xué)習(xí)加法模型,其模型一般選擇樹模型,也可選擇邏輯回歸模型等,是一種優(yōu)化了的分布式梯度增強(qiáng)庫(kù),具有實(shí)現(xiàn)高效靈活的特點(diǎn)。XGBoost還是一種機(jī)器學(xué)習(xí)算法,在Gradient Boosting框架下實(shí)現(xiàn),廣泛應(yīng)用于大數(shù)據(jù)和人工智能的生產(chǎn)領(lǐng)域。XGBoost具有良好的可擴(kuò)展性,在常用的分布式環(huán)境中部署,如Hadoop等,可以用來處理海量數(shù)據(jù)。研究表明,相較于傳統(tǒng)的推薦算法,XGBoost在防止過擬合、支持并行化、克服數(shù)據(jù)稀疏性、交叉驗(yàn)證等方面都有明顯的性能提升,同時(shí)會(huì)降低系統(tǒng)的響應(yīng)時(shí)間。筆者利用XGBoost的上述技術(shù)特點(diǎn),融合基于用戶的和基于物品的協(xié)同過濾推薦算法,提出了一種混合型的圖書館推薦算法模型。
3.2 基于XGBoost的混合推薦模型構(gòu)建
構(gòu)建基于XGBoost的圖書館混合推薦模型的核心在于模型選擇和優(yōu)化,即如何根據(jù)數(shù)據(jù)源的實(shí)際進(jìn)行不同的選型,模型構(gòu)建見下頁(yè)圖1。如果用戶數(shù)遠(yuǎn)小于物品數(shù),就采用基于用戶的協(xié)同過濾算法得到候選集A,對(duì)候選集A進(jìn)行XGBoost再優(yōu)化處理得到TOP N推薦列表。如果用戶數(shù)和物品數(shù)相當(dāng),就分別采用基于用戶和基于物品的協(xié)同過濾算法得到候選集A和B,將候選集A和B混在一起進(jìn)行XGBoost處理得到結(jié)果。如果物品數(shù)遠(yuǎn)小于用戶數(shù),就采用基于物品的協(xié)同過濾算法得到候選集B,對(duì)候選集B進(jìn)行XGBoost處理得到推薦列表。當(dāng)然,上述三種選型模式均離不開數(shù)據(jù)前后處理的支撐,包括前期需要對(duì)數(shù)據(jù)進(jìn)行去重、去噪等預(yù)處理,統(tǒng)計(jì)分析建立大寬表等;過程中得到的候選集也需要經(jīng)過融合和過濾等處理得到推薦的結(jié)果TOP N。
傳統(tǒng)的協(xié)同過濾算法產(chǎn)生的TOP N列表主要利用隱性反饋得出,并未依賴評(píng)分?jǐn)?shù)據(jù)(讀過是1、否則是0),這就使兩種算法的組合候選集沒有順序之分,不能區(qū)別哪些圖書更有可能被用戶喜歡。筆者提出的混合推薦模型融合基于用戶的和基于物品的兩種協(xié)同過濾算法的推薦結(jié)果,得到候選總集,通過評(píng)分預(yù)測(cè)模型對(duì)候選總集進(jìn)行排序,而不是單獨(dú)依賴用戶的評(píng)分,使混合模型給出的推薦結(jié)果TOP N更能體現(xiàn)用戶和物品兩方面的信息,更接近用戶的真實(shí)推薦需求,后面的仿真也驗(yàn)證了筆者提出的算法有更好的表現(xiàn)。
綜上,單一算法在推薦上一般會(huì)缺乏穩(wěn)定度和精度,因此,主流的研究?jī)A向于把多個(gè)算法結(jié)合起來,即混合推薦算法。基于XGBoost的混合推薦從用戶和物品兩個(gè)方面考量,更接近用戶的真實(shí)期望,容錯(cuò)性更高。混合模型使數(shù)據(jù)在到達(dá)一定規(guī)模時(shí),依然保證推薦效果,并緩解了數(shù)據(jù)稀疏性問題。此外,該模型依靠用戶的評(píng)分?jǐn)?shù)據(jù)進(jìn)行過濾融合,提升了訓(xùn)練速度和效率[7]。
4 計(jì)算機(jī)仿真與實(shí)驗(yàn)分析
4.1 數(shù)據(jù)源和仿真工具
筆者的算法測(cè)試實(shí)驗(yàn)數(shù)據(jù)采用中國(guó)傳媒大學(xué)圖書館借還記錄,包含2019年1月到2021年5月的真實(shí)借閱和流通數(shù)據(jù),選取借閱次數(shù)≥8的用戶,約占總用戶74.3%,取其最后5次記錄作為測(cè)試數(shù)據(jù),其余數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)。對(duì)借閱次數(shù)適當(dāng)?shù)南拗?,使用戶借閱的?shù)據(jù)特征相對(duì)充分,更有利于刻畫用戶偏好特征。
實(shí)驗(yàn)場(chǎng)景設(shè)置根據(jù)數(shù)據(jù)源的數(shù)量和分類等統(tǒng)計(jì)信息,選用合適的技術(shù)框架,將圖書館的借閱記錄數(shù)據(jù)、書籍詳細(xì)信息數(shù)據(jù)以及用戶詳細(xì)信息數(shù)據(jù)進(jìn)行關(guān)聯(lián)匹配,形成多維度借閱記錄數(shù)據(jù),融合構(gòu)建所用數(shù)據(jù)集。實(shí)驗(yàn)涉及的協(xié)同過濾和相關(guān)XGBoost算法的實(shí)現(xiàn)均采用Python編程語言,評(píng)分預(yù)測(cè)模型借助基于XGBoost框架實(shí)現(xiàn)。
4.2 性能評(píng)價(jià)指標(biāo)
推薦模型的衡量指標(biāo)選取精確率、召回率和F1值。精確率和召回率分別從不同角度衡量了分類準(zhǔn)確度,精確率(Precision,P)指的是查準(zhǔn)率,代表的是真實(shí)發(fā)生的用戶借閱記錄在最終N個(gè)推薦結(jié)果占了多少比例,即真正正確的占所有預(yù)測(cè)為正的比例;召回率(Recall,R)也稱查全率,召回率代表最終N個(gè)推薦結(jié)果中有多少比例來自真實(shí)發(fā)生的用戶借閱記錄,即真正正確的占所有實(shí)際為正的比例。F1值(F1-Measure,F(xiàn)1)是綜合評(píng)價(jià)指標(biāo),可以被看作是模型精準(zhǔn)率和召回率的加權(quán)平均,且F1值越大表明模型的性能越好。
精確率、召回率和F1值的數(shù)學(xué)定義如下:
P=AA+B(1)
R=AA+C(2)
F1=2·P·RP+R(3)
其中,A代表推薦的結(jié)果中真實(shí)發(fā)生借閱行為的數(shù),B代表推薦的結(jié)果中沒有發(fā)生借閱行為的數(shù),C代表被借閱了而沒有被本模型推薦的數(shù)。
4.3 基于用戶的協(xié)同過濾算法實(shí)驗(yàn)分析
基于用戶的協(xié)同過濾算法是對(duì)比算法,本實(shí)驗(yàn)考察隱含特征維度M和鄰居數(shù)量K對(duì)基于用戶的協(xié)同過濾算法性能的影響,并根據(jù)結(jié)果選擇最佳的參數(shù)。使用召回率、精準(zhǔn)率和F1值三個(gè)評(píng)價(jià)標(biāo)準(zhǔn)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)估,不同K值和不同隱含特征維度M下的基于用戶的協(xié)同過濾算法表現(xiàn)實(shí)驗(yàn)結(jié)果見下頁(yè)圖2、圖3。
在隱含特征維度M分別選取80、110、140、170、200的情況下,鄰居數(shù)量K分別選取5、10、20、40、80,經(jīng)統(tǒng)計(jì)實(shí)驗(yàn)結(jié)果得出結(jié)論;基于用戶的協(xié)同過濾算法與隱含特征維度M、鄰居數(shù)量K均表現(xiàn)出強(qiáng)相關(guān)性,即在實(shí)驗(yàn)范圍內(nèi)隱含特征維度M和鄰居數(shù)量K對(duì)協(xié)同過濾算法的性能評(píng)價(jià)指標(biāo)精準(zhǔn)率、召回率和F1值基本呈正相關(guān)。
4.4 基于XGBoost的混合推薦模型的仿真分析
本實(shí)驗(yàn)主要選擇最優(yōu)的參數(shù)訓(xùn)練XGBoost混合模型,XGBoost混合模型存在多種參數(shù),其中較重要的四個(gè)參數(shù)和數(shù)值選取原則如下:樹的最大深度max_depth,數(shù)值過大會(huì)產(chǎn)生過擬合現(xiàn)象,太小就會(huì)發(fā)生欠擬合;學(xué)習(xí)率learning_rate數(shù)值過大會(huì)造成無法收斂,過小不能體現(xiàn)全局最優(yōu);葉子節(jié)點(diǎn)中最小的樣本權(quán)重和min_child_weight,樹的擬合程度指標(biāo)是回歸模型中葉子最小樣本節(jié)點(diǎn)數(shù);迭代計(jì)算次數(shù)num_round也就是生成多少基模型。
四個(gè)參數(shù)的優(yōu)化順序本著先全局后局部的基調(diào),影響局部的參數(shù)不是有限優(yōu)化的目標(biāo)。首先,在學(xué)習(xí)速率learning_rate較高的情況下,確定相對(duì)應(yīng)迭代計(jì)算次數(shù)num_round,這是宏觀上影響較大的兩個(gè)參數(shù);其次,優(yōu)化另外兩個(gè)比較重要的參數(shù)max_depth(一般取值為3~10)和min_child_weight(一般取值為1~6),使用grid search選取最優(yōu)的兩個(gè)值;再次,選取的學(xué)習(xí)率learning_rate的值為0.01,num_round的值為1,200,max_depth的值為3,min_child_weight的值為4。
筆者采用Tf-Idf方法對(duì)實(shí)驗(yàn)對(duì)象進(jìn)行向量化,提取隱含特征向量,其中ngram_range為(2,2),即要提取的n-gram的長(zhǎng)度為2,max_df為0.5,表示使用最多50%的數(shù)據(jù)進(jìn)行向量構(gòu)建;min_df為10,即忽略出現(xiàn)次數(shù)少于10的特征。
選取鄰居數(shù)K為5,隱含特征維度M選取200,仿真得出本文提出模型的精準(zhǔn)率、召回率和F1值,F(xiàn)1值相對(duì)于基于用戶的協(xié)同過濾算法提升了17.7%。選取鄰居數(shù)K為10,隱含特征維度M選取200,仿真得出筆者提出模型的精準(zhǔn)率、召回率和F1值,F(xiàn)1值相對(duì)于基于用戶的協(xié)同過濾算法提升了15.7%。對(duì)比分析發(fā)現(xiàn),筆者提出的基于XGboost的混合模型相對(duì)于基于用戶的協(xié)同過算法,F(xiàn)1值有提升,說明了模型的有效性。仿真數(shù)據(jù)來源于中國(guó)傳媒大學(xué)圖書館近兩年半真實(shí)的借閱數(shù)據(jù),數(shù)據(jù)量受限,在一定程度上影響效果的表現(xiàn);如果增加數(shù)據(jù)量,會(huì)使仿真值更有實(shí)操意義。性能對(duì)比見表1。
5 結(jié)語與展望
筆者分析中國(guó)傳媒大學(xué)圖書館近兩年半的真實(shí)借閱數(shù)據(jù),提出了一種基于XGBoost的圖書館混合推薦模型,可以在圖書借閱管理、內(nèi)容閱讀推薦等場(chǎng)景中推廣應(yīng)用。展望未來,云計(jì)算、5G和智能化等新型產(chǎn)業(yè)成為國(guó)家新基建的重要內(nèi)容,圖書館領(lǐng)域需要融合行業(yè)的技術(shù)積累提升服務(wù)水平,圖書推薦離真正意義上的“千人千面”還有距離。
鑒于模型使用的數(shù)據(jù)來源相對(duì)單一,后續(xù)研究可將電子資源使用信息、用戶的其他個(gè)性化行為數(shù)據(jù)等進(jìn)行錄入和統(tǒng)計(jì),拓展提出模型的數(shù)據(jù)源廣度和深度;可以將時(shí)間衰減因子、用戶收藏和購(gòu)買偏好等一并考慮進(jìn)去,也可將多模態(tài)信息用于推薦模型,在用戶行為序列預(yù)測(cè)等方面優(yōu)化提出的模型。圖書館要通過對(duì)模型推薦算法領(lǐng)域的深挖,利用好機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等最新成果,擴(kuò)展模型的應(yīng)用范圍,提升用戶感知。此外,圖書館應(yīng)及時(shí)將推薦的算法應(yīng)用于生產(chǎn),圖書館員對(duì)模型的使用情況及時(shí)進(jìn)行評(píng)價(jià)反饋,如考慮用戶的喜好會(huì)隨著時(shí)空改變等因素,不斷進(jìn)行模型演進(jìn),賦能智慧圖書館建設(shè)。
參考文獻(xiàn):
[1] 秦川,祝恒書,莊福振,等.基于知識(shí)圖譜的推薦系統(tǒng)研究綜述[J].中國(guó)科學(xué),2020(7):937-956.
[2] 楊恒,王思麗,祝忠明,等.基于并行協(xié)同過濾算法的領(lǐng)域知識(shí)推薦模型研究[J].數(shù)據(jù)分析與知識(shí)發(fā)現(xiàn),2020(6):15-21.
[3] 李鐵軍,顏端武,楊雄飛.基于情感加權(quán)關(guān)聯(lián)規(guī)則的微博推薦研究[J].數(shù)據(jù)分析與知識(shí)發(fā)現(xiàn),2020(4):27-33.
[4] 梁思怡,彭星亮,秦斌,等.時(shí)間上下文優(yōu)化的協(xié)同過濾圖書推薦[J].圖書館論壇,2021(3):113-121.
[5] 劉軍軍.用戶協(xié)同過濾個(gè)性化圖書推薦算法的改進(jìn)與實(shí)現(xiàn)[J].圖書情報(bào)導(dǎo)刊,2021(1):38-42.
[6] 李丹,高建忠.基于用戶畫像的圖書館推薦服務(wù)初探[J].圖書館,2019(7):66-71.
[7] 何婧,胡杰.融合矩陣分解和XGBoost的個(gè)性化推薦算法[J].重慶大學(xué)學(xué)報(bào),2021(1):78-87.
(編校:崔萌)
1328501705314