楊彥榮 張瑩
摘? 要:針對(duì)協(xié)同過(guò)濾推薦算法中因圖書(shū)評(píng)分?jǐn)?shù)據(jù)稀疏,導(dǎo)致推薦質(zhì)量和推薦效率低的問(wèn)題,提出結(jié)合用戶聚類的圖書(shū)協(xié)同過(guò)濾推薦算法。首先將用戶身份特征數(shù)據(jù)和行為數(shù)據(jù)進(jìn)行向量化表示,并利用K-means聚類算法進(jìn)行用戶聚類成為不同的類別;其次計(jì)算目標(biāo)用戶與各類別的距離,并選擇最近距離的類別作為目標(biāo)用戶的檢索空間;最后,從檢索空間中通過(guò)相似度計(jì)算確定目標(biāo)用戶的最近鄰居,在此基礎(chǔ)上產(chǎn)生推薦列表。實(shí)驗(yàn)結(jié)果表明,所提算法能夠有效提高推薦精度,降低推薦所耗時(shí)長(zhǎng)。
關(guān)鍵詞:推薦系統(tǒng)? 協(xié)同過(guò)濾? 用戶聚類? K-means
中圖分類號(hào):TP391 ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2020)03(c)-0198-02
隨著網(wǎng)絡(luò)技術(shù)的進(jìn)步和信息化的推進(jìn),數(shù)字資源得到了迅速發(fā)展,高校圖書(shū)館的資源數(shù)據(jù)量呈爆炸式增長(zhǎng),浩瀚如煙的數(shù)字資源使得用戶產(chǎn)生了信息迷航。海量文獻(xiàn)數(shù)據(jù)所造成的“信息過(guò)載”使得信息檢索人員尋找對(duì)自己有用的文獻(xiàn)變得越發(fā)困難。個(gè)性化推薦是緩解信息過(guò)載問(wèn)題的最有效的方法之一,此技術(shù)能夠?qū)τ脩舻臍v史行為信息進(jìn)行提取,建立用戶偏好模型,并依此模型向目標(biāo)用戶推薦符合用戶期望的文獻(xiàn)。
推薦算法是推薦系統(tǒng)中核心部分,決定著推薦系統(tǒng)的性能優(yōu)劣,目前應(yīng)用比較多的算法包括基于內(nèi)容、基于關(guān)聯(lián)規(guī)則、基于協(xié)同過(guò)濾以及混合推薦等。然而應(yīng)用最多、最廣的是協(xié)同過(guò)濾推薦[1-2]。協(xié)同過(guò)濾算法又可分為基于用戶和基于項(xiàng)目的協(xié)同過(guò)濾算法。用戶協(xié)同合作是基于用戶協(xié)同過(guò)濾的核心思想,通過(guò)用戶相似度計(jì)算找到與目標(biāo)用戶興趣相似的用戶集合,再在這個(gè)集合中搜尋用戶喜好的,且目標(biāo)用戶沒(méi)有評(píng)分過(guò)的物品,通過(guò)預(yù)測(cè)評(píng)分將評(píng)分高的物品推薦給目標(biāo)用戶。預(yù)測(cè)評(píng)分依據(jù)用戶相似群體的評(píng)分產(chǎn)生,用戶評(píng)分?jǐn)?shù)據(jù)稀疏性是該類數(shù)據(jù)的一大特點(diǎn),從而導(dǎo)致以用戶評(píng)分?jǐn)?shù)據(jù)為依據(jù)的協(xié)同推薦算法很多時(shí)候推薦結(jié)果不理想。該文在基于用戶協(xié)同過(guò)濾的基礎(chǔ)上,將用戶聚類融合到協(xié)同推薦的過(guò)程中,在協(xié)同過(guò)濾推薦之前首先使用K-means聚類算法對(duì)用戶進(jìn)行聚類,能夠一定程度上解決圖書(shū)用戶評(píng)分?jǐn)?shù)據(jù)稀疏問(wèn)題,同時(shí)目標(biāo)用戶的檢索空間也縮小,從而評(píng)測(cè)評(píng)分的計(jì)算時(shí)間也降低了,進(jìn)而提高了推薦算法的效率。
1? 基于用戶聚類的協(xié)同過(guò)濾推薦
1.1 聚類算法
數(shù)據(jù)挖掘的主要任務(wù)之一是聚類分析,它將物理或抽象對(duì)象的集合劃分成多個(gè)類簇,同一個(gè)簇中的對(duì)象彼此相似,不同簇中的對(duì)象彼此相異。在眾多的聚類算中最常用、最經(jīng)典的是K-means聚類算法[3]。K-means聚類原理是:依據(jù)兩個(gè)對(duì)象的距離越大,相似度越小的準(zhǔn)則,通過(guò)最小化誤差函數(shù)優(yōu)化將所有對(duì)象劃分為K個(gè)簇,K為預(yù)先確定的常數(shù)。K-means聚類算法具有速度快、質(zhì)量高、伸縮性好等優(yōu)點(diǎn),經(jīng)常被應(yīng)用到各種聚類任務(wù)中,其主要流程如下。
(1)在包括N個(gè)對(duì)象的數(shù)據(jù)集中隨機(jī)選擇K個(gè)對(duì)象作為聚類中心的初始值。
(2)通過(guò)距離公式對(duì)每個(gè)對(duì)象到聚類中心的距離進(jìn)行計(jì)算,從中根據(jù)最近原則將對(duì)象依次分配到距離它最近的聚類中心存在簇中,計(jì)算誤差平方和準(zhǔn)則函數(shù)E的值。
(3)設(shè)立新的聚類中心,通過(guò)計(jì)算各個(gè)簇中的所有對(duì)象的平均值作為各個(gè)簇的聚類中心,以此來(lái)得到誤差平方和準(zhǔn)則函數(shù)E的值。
(4)把步驟(3)的E值同前一次計(jì)算E值來(lái)對(duì)比,假如兩個(gè)E值的差的絕對(duì)值小于等于之前設(shè)定好的閾值,則聚類的準(zhǔn)則函數(shù)收斂,轉(zhuǎn)到步驟(5),否則轉(zhuǎn)到步驟(2)。
(5)輸出K個(gè)聚類。
1.2 協(xié)同過(guò)濾推薦算法
作為當(dāng)前應(yīng)用最廣泛的個(gè)性化推薦技術(shù)之一,協(xié)同過(guò)濾推薦算法在用戶行為中尋找特定模式,創(chuàng)建用戶特有的推薦內(nèi)容。協(xié)同過(guò)濾本算法優(yōu)點(diǎn)是無(wú)需了解領(lǐng)域知識(shí),大多數(shù)情況推薦結(jié)果令人滿意,但也有結(jié)果缺乏解釋性的缺點(diǎn)。基于用戶的協(xié)同過(guò)濾算法包含以下步驟。
(1)相似度計(jì)算構(gòu)建目標(biāo)用戶興趣相似的用戶集合,Pearson相關(guān)系數(shù)常用來(lái)計(jì)算兩個(gè)用戶之間的相似度,在Pearson基礎(chǔ)上引入用戶評(píng)分來(lái)計(jì)算用戶相似度[4]。目標(biāo)用戶u與用戶v的相似度用Suv來(lái)表示,用戶u和v都評(píng)分過(guò)的共同項(xiàng)目集合用Iuv表示,目標(biāo)用戶u和用戶v對(duì)物品i的評(píng)分用rui和rvi表示,表用戶u和用戶v所有評(píng)分的平均分用和表示。用戶相似度計(jì)算如式(1)所示。
(1)
(2)評(píng)分預(yù)測(cè)計(jì)算預(yù)測(cè)目標(biāo)用戶對(duì)其沒(méi)有評(píng)價(jià)過(guò)文獻(xiàn)的評(píng)分,基于用戶相似集合通過(guò)評(píng)分預(yù)測(cè)來(lái)預(yù)測(cè)評(píng)分。
(2)
公式中,Pui是目標(biāo)用戶u對(duì)物品i的評(píng)分預(yù)測(cè),得出的P評(píng)分預(yù)測(cè)越高,目標(biāo)用戶U感興趣的程度或者幾率就越高。
(3)最終按照評(píng)分的高低可以給予目標(biāo)用戶TOPN的推薦列表。
1.3 基于用戶聚類的圖書(shū)協(xié)同過(guò)濾推薦
針對(duì)圖書(shū)用戶評(píng)分?jǐn)?shù)據(jù)稀疏導(dǎo)致基于用戶協(xié)同推薦效率低的問(wèn)題,在基于用戶協(xié)同過(guò)濾的基礎(chǔ)上,將用戶聚類融合到協(xié)同推薦的過(guò)程中,在協(xié)同過(guò)濾推薦之前首先使用K-means聚類算法對(duì)用戶進(jìn)行聚類,將用戶劃分成不同的類別;然后計(jì)算目標(biāo)用戶與各類別的距離,并選擇最近距離的類別作為目標(biāo)用戶的檢索空間,與整個(gè)用戶空間相比目標(biāo)用戶搜索空間大大縮減;最后在目標(biāo)用戶的檢索空間中通過(guò)用戶相似度計(jì)算確定目標(biāo)用戶的最近鄰居,在此基礎(chǔ)上產(chǎn)生推薦列表。
2? 實(shí)驗(yàn)及分析
2.1 數(shù)據(jù)收集及數(shù)據(jù)預(yù)處理
該文實(shí)驗(yàn)中以某高校圖書(shū)館圖書(shū)借閱數(shù)據(jù)為基礎(chǔ),通過(guò)選擇借閱圖書(shū)數(shù)量超過(guò)20次的讀者產(chǎn)生的借閱記錄,并經(jīng)清洗、集成和歸約等預(yù)處理形成實(shí)驗(yàn)數(shù)據(jù)集,總共生成150000條評(píng)分的記錄,包含2350個(gè)用戶及3700本圖書(shū)和150000條評(píng)分的記錄作為實(shí)驗(yàn)數(shù)據(jù)集,將數(shù)據(jù)集80%為訓(xùn)練集,20%作為測(cè)試集。
用戶數(shù)據(jù)包括用戶固有特征數(shù)據(jù)以及用戶的借閱的圖書(shū)數(shù)據(jù),數(shù)據(jù)有字符型、數(shù)值型,需要標(biāo)準(zhǔn)化預(yù)處理,同時(shí)為滿足聚類模型,需要用戶數(shù)據(jù)對(duì)進(jìn)行預(yù)處理及向量特征表示過(guò)程如下。
(1)用戶身份屬性特征表示。通過(guò)數(shù)值符號(hào)將包括年齡、性別、職業(yè)、專業(yè)及年齡等用戶身份數(shù)據(jù)數(shù)字化,如將性別數(shù)據(jù)轉(zhuǎn)化為0和1,將專業(yè)、身份等數(shù)據(jù)轉(zhuǎn)化為數(shù)字,通過(guò)數(shù)字符號(hào)轉(zhuǎn)換形成如U1=(46,1,13,5)的用戶屬性向量,其表示為用戶是一個(gè)計(jì)算機(jī)學(xué)學(xué)院年齡為46歲,從事計(jì)算機(jī)教學(xué)的女教師。
(2)用戶行為特征表示。首先依據(jù)圖書(shū)的類別將每一本圖書(shū)映射成為一個(gè)對(duì)應(yīng)類別位置為1,其他為0的向量,由于圖書(shū)有22個(gè)類別,因而圖書(shū)特征有22個(gè)維度;其次,將用戶所借閱圖書(shū)的向量進(jìn)行累加,用圖書(shū)向量的累加向量表征用戶行為特征。
2.2 評(píng)價(jià)指標(biāo)
該文采用推薦算法中常用的平均絕對(duì)偏差MAE、準(zhǔn)確率和運(yùn)行時(shí)間對(duì)預(yù)測(cè)精準(zhǔn)度進(jìn)行分析。MAE值表示將實(shí)際評(píng)分與目標(biāo)用戶的預(yù)測(cè)評(píng)分的平均絕對(duì)偏差,MAE的值與推薦質(zhì)量成反比,值越大表示推薦質(zhì)量越低。
2.3 結(jié)果分析
通過(guò)多次實(shí)驗(yàn)當(dāng)聚類數(shù)目K=10時(shí)準(zhǔn)確率最高,因此在該文的實(shí)驗(yàn)種將用戶聚類數(shù)K設(shè)置為10,為了驗(yàn)證文本方法在推薦中的優(yōu)勢(shì),分別采用推薦中常用的基于內(nèi)容和基于用戶協(xié)同過(guò)濾推薦進(jìn)行試驗(yàn),3種不同方法的MAE結(jié)果如表1所示。
從表1中可以看出,從實(shí)驗(yàn)的對(duì)比結(jié)果可知,該文提出的推薦方法在平均絕對(duì)偏差和準(zhǔn)確率方面都要優(yōu)于其他兩種算法;同時(shí)相比基于用戶協(xié)同過(guò)濾推薦該文提出的方法運(yùn)行時(shí)間有很大的提升,這是因?yàn)橥ㄟ^(guò)用戶聚類后,目標(biāo)用戶的相似用戶搜索空間大大降低,使得推薦效率更高。
3? 結(jié)語(yǔ)
該文在分析傳統(tǒng)協(xié)同過(guò)濾算法的基礎(chǔ)上,針對(duì)協(xié)同過(guò)濾推薦算法中因圖書(shū)評(píng)分?jǐn)?shù)據(jù)稀疏而導(dǎo)致推薦質(zhì)量和推薦效率低的問(wèn)題,提出基于用戶聚類的圖書(shū)協(xié)同過(guò)濾推薦算法。該算法結(jié)合用戶聚類來(lái)緩解評(píng)分?jǐn)?shù)據(jù)稀疏問(wèn)題以及縮減目標(biāo)用戶的檢索空間以提高推薦的效率。首先分別用戶身份屬性數(shù)據(jù)和行為數(shù)據(jù)進(jìn)行特性相量表示,并將兩種相量連接以此作為用戶的特征表示;在此基礎(chǔ)上采用K-means聚類算法對(duì)用戶進(jìn)行類別劃分,將用戶劃分成不同的類別;然后計(jì)算目標(biāo)用戶與各類別的距離,并選擇最近距離的類別作為目標(biāo)用戶的檢索空間,從而大大縮減搜索空間以及時(shí)間;最后在目標(biāo)用戶的檢索空間中通過(guò)用戶相似度計(jì)算確定目標(biāo)用戶的最近鄰居,在此基礎(chǔ)上產(chǎn)生推薦列表。
參考文獻(xiàn)
[1] 郭曉慧.基于改進(jìn)協(xié)同過(guò)濾的圖書(shū)推薦算法研究[J].情報(bào)探索,2018(1):34-36.
[2] 何明,孫望,肖潤(rùn),等.一種融合聚類與用戶興趣偏好的協(xié)同過(guò)濾推薦算法[J].計(jì)算機(jī)科學(xué),2017,44(S2):391-396.
[3] 熊平,顧霄.基于屬性權(quán)重最優(yōu)化的K-means聚類算法[J].微電子學(xué)與計(jì)算機(jī),2014,31(4):40-43.
[4] 陳功平,王紅.改進(jìn)Pearson相關(guān)系數(shù)的個(gè)性化推薦算法[J].山東農(nóng)業(yè)大學(xué)學(xué)報(bào),2016,47(6):941-942.