趙文濤,田歡歡,馮婷婷,崔自恒
河南理工大學(xué)計算機科學(xué)與技術(shù)學(xué)院,河南焦作454000
大數(shù)據(jù)時代的到來,數(shù)據(jù)規(guī)模明顯擴大,導(dǎo)致用戶尋找的有效信息和冗余信息的矛盾尖銳,信息過載[1]問題日益嚴(yán)重。推薦系統(tǒng)[2]是一種信息過濾技術(shù),幫助用戶快速準(zhǔn)確地獲取感興趣的內(nèi)容,提供個性化推薦?;卩徲虻膮f(xié)同過濾[3-4]是一種應(yīng)用廣泛的推薦算法,其中用戶(項目)相似度的確定是協(xié)同過濾算法的核心步驟[5],它不僅決定近鄰的選擇,而且對預(yù)測和推薦結(jié)果有決定性影響。
傳統(tǒng)相似度主要分為數(shù)值型相似度、結(jié)構(gòu)型相似度和混合型相似度。數(shù)值型相似度如余弦相似度(cosine similarity,COS)[6]、皮爾遜相關(guān)系數(shù)(Pearson correlation coefficient,PCC)[7]和平均絕對誤差(mean absolute difference,MSD)[8]等,僅考慮共同評分項目中評分?jǐn)?shù)值差異,在稀疏數(shù)據(jù)下相似度計算較不準(zhǔn)確。結(jié)構(gòu)型相似度不同于數(shù)值型相似度,如杰卡德系數(shù)(Jaccard)[9]只考慮共同評分項目數(shù)量占比。混合型相似度綜合考慮用戶評分的數(shù)值和結(jié)構(gòu)信息,如JMSD[10]是Jaccard 和MSD 的組合,SPCC[11]結(jié)合Sigmoid 函數(shù)與PCC,具有更好的推薦質(zhì)量。但這些方法都依賴共同評分項目,隨著用戶和項目數(shù)量的增加,數(shù)據(jù)集越來越稀疏,導(dǎo)致推薦準(zhǔn)確性降低。許多研究人員致力于從提升預(yù)測準(zhǔn)確度和推薦質(zhì)量方面,提出不同的改進算法來緩解數(shù)據(jù)稀疏[12-13]和冷啟動[14-15]問題。其中,新非線性啟發(fā)式相似度(new heuristic similarity model,NHSM)[16]綜合考慮用戶評分的局部上下文信息和評分偏好。最近提出基于評分概率分布的相似度,包括BCF(Bhattacharyya coefficient)[17]和KLCF[18]等,計算相似度時使用評分矩陣中所有的評分?jǐn)?shù)據(jù)。這些改進方法可在一定程度上緩解數(shù)據(jù)稀疏和冷啟動問題,提高推薦準(zhǔn)確性,但時間復(fù)雜度和計算成本較高。
基于以上分析,本文提出一種融合相似度和預(yù)篩選模式的協(xié)同過濾算法,更好地平衡推薦準(zhǔn)確性和時間效率的關(guān)系。首先提出一種基于用戶的相似度,其中定義相對評分差異,并列舉相似度應(yīng)滿足的定性條件,結(jié)合放大部分相似度值的需求,得到基于exp(-x)函數(shù)的相似度公式,同時考慮基于信息熵改進的評分偏好和用戶的全局評分?jǐn)?shù)量信息作為權(quán)重因子以區(qū)分用戶間差異,提高稀疏數(shù)據(jù)中相似度計算的可靠性。其次根據(jù)相似度和評分預(yù)測公式中的隱式約束,提出預(yù)篩選模式。在不影響推薦結(jié)果的前提下,過濾掉不參與計算的用戶及相應(yīng)的評分?jǐn)?shù)據(jù),進一步提高計算效率。最終融合相似度和預(yù)篩選模式的協(xié)同過濾算法,在保持較低時間成本的同時,也具有良好的預(yù)測和推薦質(zhì)量。
推薦系統(tǒng)的目的是幫助用戶以較低的搜索成本[19-20]和更高的推薦準(zhǔn)確性[21-23]來獲取感興趣的產(chǎn)品或服務(wù),從而提高用戶體驗。隨著信息資源爆炸式增長,推薦系統(tǒng)面臨著數(shù)據(jù)稀疏、準(zhǔn)確性與效率的權(quán)衡等重大挑戰(zhàn)。
就準(zhǔn)確性而言,目前提出的推薦算法[16-18,24-25]主要通過設(shè)計復(fù)雜的相似度來提高推薦準(zhǔn)確性,但往往忽略時間效率。Liu 等人[16]引入非線性啟發(fā)式相似度NHSM,由接近度、重要性和奇異性(proximity-significance-singularity,PSS)組成,同時考慮共同評分項目的比例(Jaccard)以及用戶評分偏好的影響。Patra 等人[17]提出基于巴氏系數(shù)的線性相似度BCF,同時考慮共同評分項目占比(Jaccard)。Wang 等人[18]提出非線性KLCF,利用擴展的NHSM 模型并結(jié)合KL 散度,綜合計算用戶相似度。受注意力機制的啟發(fā),F(xiàn)u等人[24]提出一種項目相似度,自適應(yīng)地捕捉近鄰間的關(guān)系來進行評分預(yù)測,能獲得較好的推薦結(jié)果。Polatidis等人[25]提出一種動態(tài)的多層次協(xié)同過濾算法,以提高推薦準(zhǔn)確性。
就效率而言,最近提出的算法[26-30]致力于在保持一定推薦準(zhǔn)確性的同時降低計算成本。Bag 等人[26]提出相關(guān)杰卡德系數(shù)(related Jaccard,RJaccard)和相關(guān)JMSD(related JMSD,RJMSD)對相關(guān)鄰域進行分類,在較短的時間內(nèi)生成推薦。Zhang 等人[27]結(jié)合蜂群聚類,提出一種新的協(xié)同過濾算法,只需計算類內(nèi)用戶間的相似度,降低近鄰搜索范圍。Liu 等人[28]提出一種新的潛因子模型(latent collaborative relations,LCR),在保持推薦準(zhǔn)確性的同時,為目標(biāo)用戶提供快速的推薦。Chae 等人[29]為基于鄰域的相似度分別設(shè)計了新的數(shù)據(jù)結(jié)構(gòu),有效地識別近鄰,提高時間效率。Wang 等人[30]提出一種相似度框架,綜合考慮數(shù)值和結(jié)構(gòu)型相似度,更高效地產(chǎn)生推薦。
根據(jù)以上分析,通過設(shè)計更為復(fù)雜的相似度可在一定程度上改進預(yù)測和推薦質(zhì)量,但計算復(fù)雜度較高,導(dǎo)致時間效率顯著降低。為了更好地權(quán)衡準(zhǔn)確度和時間效率的關(guān)系,迫切需要一種簡單高效的方法,在保持較低時間成本的同時,也具有良好的預(yù)測和推薦質(zhì)量。
協(xié)同過濾算法中,除相似度的確定之外,評分預(yù)測公式也影響最終預(yù)測和推薦結(jié)果。通常使用的是基于加權(quán)平均的評分預(yù)測公式[31],如式(1)所示。
其中,用戶u的評分均值為,N(·)為目標(biāo)用戶u的鄰居集,近鄰對物品i的評分為rv,i,sim(u,v)為用戶間相似度。這里假設(shè):如果目標(biāo)用戶u對未評分物品i無法計算或預(yù)測時,將直接忽略Pu,i。
為在較低的時間成本內(nèi)提供良好的推薦,首先提出一種簡單高效的相似度,以緩解稀疏數(shù)據(jù)下相似度計算的準(zhǔn)確性問題。然后根據(jù)相似度和評分預(yù)測公式中的隱式約束,提出預(yù)篩選模式,進一步提高時間效率。
提出的相似度(score enhanced similarity,SES)表達(dá)式共由三部分組成:第一部分是基于相對評分差異優(yōu)化的相似度,第二部分為基于信息熵改進的用戶評分偏好,第三部分考慮用戶的全局評分?jǐn)?shù)量信息。擬議的用戶相似度最終公式如式(2)所示。
2.1.1 基于相對評分差異優(yōu)化的相似度
直接使用相對評分差異的原始定義衡量相似度顯然不夠準(zhǔn)確,通??杉尤胍恍┫嗨贫葢?yīng)滿足的定性條件將其達(dá)到優(yōu)化,即通過對表示函數(shù)f(raduvi)的raduvi值進行變換,可得到調(diào)整的相似度值。這種變換首先需滿足以下條件:(1)f(·)的定義域為[0,1];(2)f(·)是相似度函數(shù),值域也為[0,1];(3)f(·)嚴(yán)格連續(xù)且單調(diào)遞減。
除以上相似度應(yīng)滿足的基本條件外,函數(shù)f(·)的選擇還應(yīng)當(dāng)以放大部分相似度值為主要依據(jù)。具體表現(xiàn)為:當(dāng)raduvi的值很小甚至趨近于0 時,用戶間的相似度很高并且趨近于1,函數(shù)的變化率應(yīng)越來越快;當(dāng)raduvi變大甚至趨近于1 時,用戶間的相似度很低并且趨近于0,函數(shù)的變化率應(yīng)越來越慢。即需滿足raduvi趨于0 時,f(·)的變化率比raduvi趨于1 時更重要,這種變化趨勢能更好地區(qū)分相似度高的用戶間差異,所選的最近鄰參與評分預(yù)測時結(jié)果也更有區(qū)分度。綜合以上分析,函數(shù)exp(-x)不僅滿足所有要求的定性條件,而且是形式簡單的非線性函數(shù),具有成為相似度的天然優(yōu)勢。最終基于exp(-x)函數(shù)衡量相對評分差異的相似度,公式如式(3)所示。
其中,max(ru,i,rv,i)是指ru,i與rv,i中的最大值,Iu表示用戶u的評分項目集。
2.1.2 基于信息熵改進的用戶評分偏好
對于同樣喜愛的物品,不同的用戶會根據(jù)自己的評分偏好給出不同的評分值,這將降低推薦準(zhǔn)確性。受NHSM 中用戶評分偏好的啟發(fā),提出基于信息熵改進的評分偏好公式,以衡量和區(qū)分用戶評分偏好對推薦結(jié)果的影響。
信息熵可以衡量用戶的評分分布以及信息量情況,信息熵越大表示用戶的評分分布較均勻且包含的信息量較大,信息熵越小表示用戶的評分分布較集中且包含的信息量較小。信息熵的分布范圍能夠有效體現(xiàn)不同用戶的區(qū)分度,且根據(jù)信息熵的性質(zhì),熵值較小的用戶表明其行為可信度較低,因此選取信息熵的倒數(shù)來調(diào)整用戶差異度,具體表現(xiàn)為:放大熵值較小的用戶差異度,縮小熵值較大的用戶差異度,使得引入信息熵的方式更具合理性。最終綜合用戶均值差和信息熵的倒數(shù)差,提出基于信息熵改進的評分偏好公式,如式(4)所示,更好地衡量用戶的評分偏好,有效地刻畫用戶間的差異性,從而提高用戶間相似度計算的準(zhǔn)確性。
其中,Eu、Ev分別代表用戶u和v的信息熵,Eu的計算公式如式(5)所示,其中當(dāng)前評分值k在用戶u的評分向量中所占比例為p(k),X表示評分值k的取值范圍。
2.1.3 用戶全局評分的數(shù)量信息
傳統(tǒng)相似度僅考慮共同評分項目的信息來識別最近鄰,然后通過最近鄰對同一物品的評分情況進行預(yù)測,但有時這個過程并不適合預(yù)測未評分物品的評分值。假設(shè)兩個用戶非常相似,但只對共同評分項目有評分,這種情況下相似的用戶對各自的評分預(yù)測沒有貢獻。因此非共同評分項目的信息對產(chǎn)生評分預(yù)測有重要影響。
針對這一問題提出基于用戶全局評分?jǐn)?shù)量信息的相似度,主要由目標(biāo)用戶的共同評分項目相對于其所有評分項目的比例構(gòu)成。不僅強調(diào)共同評分項目的重要性,而且考慮單個用戶的所有評分項目信息。由于用戶間的評分?jǐn)?shù)量大多數(shù)情況下不相同(即Iu≠Iv),則考慮全局評分?jǐn)?shù)量信息的用戶間相似度一般不對稱(即sim(u,v)≠sim(v,u)),說明用戶間影響力不是同等重要的,更加符合用戶間實際的影響力情況。同時由于用戶評分?jǐn)?shù)據(jù)是離散的,用戶間的關(guān)系一般不是線性的,選用非線性Sigmoid 函數(shù)更好地衡量用戶間的關(guān)系,同時懲罰低相似度,獎勵高相似度。最終基于用戶全局評分?jǐn)?shù)量信息的相似度公式如式(6)所示,不僅反映用戶自身的全局偏好,而且有助于在預(yù)測模型中選擇合適的最近鄰進而提高評分預(yù)測的準(zhǔn)確性。
基于鄰域的協(xié)同過濾算法最主要的性能瓶頸是查找鄰居集的過程十分耗時。如果該性能問題可以得到緩解,會比常規(guī)模式下有更高的計算效率。受上述相似度模型和評分預(yù)測公式中隱式約束的啟發(fā),提出預(yù)篩選模式。目的是在不影響預(yù)測和推薦結(jié)果的前提下,有效檢索出對預(yù)測評分值有貢獻的用戶,同時過濾掉其余不參與計算的用戶及對應(yīng)的評分?jǐn)?shù)據(jù)。
基于相似度模型和評分預(yù)測公式的固有特性,提出以下篩選條件:(1)對任意兩個用戶u和v,如果Iu?Iv=?(即兩個用戶間沒有共同評分項目),則相似度為0。(2)對于目標(biāo)用戶u和目標(biāo)項目i,若rv,i不存在(即鄰居用戶未對目標(biāo)項目有評分行為),則評分預(yù)測不可計算。
根據(jù)篩選條件(1),可以安全地忽略掉那些對目標(biāo)用戶已評分物品沒有評分行為的用戶。根據(jù)篩選條件(2),可以忽略掉那些對目標(biāo)物品沒有評分行為的用戶。這兩類用戶都可通過訪問預(yù)構(gòu)建的項目-用戶表輕松獲得,因此只有同時滿足與目標(biāo)用戶有共同評分,且對目標(biāo)物品有評分行為的用戶才能進入備選鄰居集(將滿足上述篩選條件的兩類用戶集合取交集,即可獲得目標(biāo)用戶的備選鄰居集)。因此目標(biāo)用戶只需與備選鄰居集中的用戶計算相似度,在不影響預(yù)測準(zhǔn)確度和推薦質(zhì)量的情況下,縮小鄰居的查詢范圍,從而實現(xiàn)高效的推薦。
2.3.1 討論相似度模型
根據(jù)提出的相似度模型(SES),為得到用戶u和v的相似度,需根據(jù)公式依次計算sim(u,v)RAD、sim(u,v)ENT和sim(u,v)GRN。根據(jù)表1 中示例數(shù)據(jù)計算用戶相似度,結(jié)果如表2 所示。
表1 用戶-物品評分矩陣實例Table 1 Example of user-item rating matrix
表2 用戶相似度計算結(jié)果Table 2 Values of user similarity
可以看出:(1)無極端相似度值的產(chǎn)生。由于相對評分差異本身的取值較廣泛,且通過加入較合適的函數(shù)進一步優(yōu)化計算的結(jié)果值,不僅能夠避免極端相似度值的產(chǎn)生,而且使用戶間相似度值分布在較合理的范圍內(nèi)。(2)相似度值分布均勻。用戶的評分均值和信息熵大多不同,使得用戶間相似度值具有可比性。同時評分偏好的計算返回值較小,可減弱用戶評分偏好對相似度的影響。(3)相似度值是非對稱的。用戶間的相似度基本是不一致的,更加符合用戶間相似度的實際情況。因此示例中得出的相似度結(jié)果驗證了提出的相似度模型具有的計算優(yōu)勢。
2.3.2 算法分析
最終融合相似度和預(yù)篩選模式的協(xié)同過濾算法(combined score enhanced similarity,CSES)的具體實現(xiàn)過程如算法1 所示。
算法1融合相似度和預(yù)篩選模式的協(xié)同過濾算法
假定數(shù)據(jù)集中用戶和物品的數(shù)量分別是|U|和|I|,每個用戶平均評價的物品數(shù)量為m,與目標(biāo)用戶存在共同評分項目的平均用戶數(shù)量為|V|,兩個用戶間平均共同評分項目數(shù)量為n。
傳統(tǒng)相似度(PCC、COS 等)需計算目標(biāo)用戶與原始鄰居集中用戶間的相似度,時間復(fù)雜度為O(|U|·|V|·n)。改進算法BCF 和KLCF 的時間復(fù)雜度主要分為兩部分,首先計算任意兩個物品間的相似度,復(fù)雜度為O(|I|·|I|),然后計算用戶相似度,任何兩個用戶間的相似度計算是基于笛卡爾積操作,復(fù)雜度為O(|U|·|U|·m·m),因此總時間復(fù)雜度為O(|U|·|U|·m·m+|I|·|I|)。改進算法RJMSD 計算相似度時考慮用戶的所有評價向量,時間復(fù)雜度為O(|U|·|U|·m)。本文提出的協(xié)同過濾算法(CSES)只需計算目標(biāo)用戶與備選鄰居集中用戶間的相似度。假設(shè)備選鄰居集中的平均用戶數(shù)量為|S|(|S|遠(yuǎn)小于|V|和|U|),目標(biāo)用戶與備選鄰居集中用戶間的平均共同評分物品數(shù)量為k,時間復(fù)雜度為O(|U|·|S|·k)。根據(jù)以上分析,CSES的時間復(fù)雜度最低,且隨著數(shù)據(jù)規(guī)模的增加,CSES的時間復(fù)雜度有更突出的優(yōu)勢。
為驗證本文提出的協(xié)同過濾算法的有效性,選擇4種經(jīng)典的算法(SPCC[11]、COS[6]、Jaccard[9]、JMSD[10])以及4種不同的改進算法(NHSM[16]、BCF[17]、KLCF[18]、RJMSD[26])作為對比實驗。所有的實驗均在開發(fā)平臺AI Studio 上運行,其中處理器為4 核,主存為32 GB,開發(fā)語言為Python3.7,框架版本為PaddlePaddle 2.0.2。為減少實驗環(huán)境的影響,采用5 次實驗的平均值作為統(tǒng)計的結(jié)果。
實驗選擇常用的三個公開數(shù)據(jù)集,其中兩個來自MovieLens,分別是ML-100K 和ML-Latest-Small,另一個是Yahoo Music。表3 總結(jié)了各數(shù)據(jù)集在用戶、物品、評分和稀疏度[32]方面的屬性。為評估算法的性能,遵循經(jīng)典的推薦系統(tǒng)測試方法[33],在數(shù)據(jù)集中隨機選取每個用戶80%的評分?jǐn)?shù)據(jù)作為訓(xùn)練集,其余作為測試集。
表3 數(shù)據(jù)集屬性Table 3 Properties of datasets
使用預(yù)測準(zhǔn)確性和推薦準(zhǔn)確性衡量推薦算法的質(zhì)量,使用覆蓋率評價推薦算法挖掘長尾的能力。
預(yù)測準(zhǔn)確性的常用指標(biāo)是平均絕對誤差(mean absolute error,MAE)和均方根誤差(root mean squared error,RMSE),用于評估測試集中實際評分值和預(yù)測評分值的差異,誤差越低表示預(yù)測準(zhǔn)確性越好。MAE 和RMSE 的公式如式(7)、式(8)所示。
其中,ru,i、pu,i分別為目標(biāo)用戶對目標(biāo)物品的實際評分和預(yù)測評分,n表示算法執(zhí)行預(yù)測的次數(shù)。
推薦準(zhǔn)確性包括三個重要的指標(biāo),精確率(Precision)、召回率(Recall)和綜合評價指標(biāo)(F1-value),如式(9)~式(11)所示。其中F1-value 同時考慮精確率和召回率,F(xiàn)1-value越高,表示推薦的質(zhì)量越好。
其中,Ipr和Iar分別是預(yù)測推薦列表和測試集中實際推薦列表,n(·)表示返回集合中元素的個數(shù)。采取的推薦規(guī)則是:出現(xiàn)在推薦列表中物品的評分必須大于該目標(biāo)用戶的平均評分。
覆蓋率(Coverage)定義為推薦系統(tǒng)能夠推薦出的物品占總物品的比例。覆蓋率越高說明推薦算法發(fā)掘長尾的能力越好,如式(12)所示,其中Iut是測試集中實際的評分列表。
3.3.1 預(yù)篩選模式的有效性分析
通過理論上對相似度模型和評分預(yù)測公式的分析,提出預(yù)篩選模式。首先在三個數(shù)據(jù)集上分別進行實驗,對比原始鄰居集和使用預(yù)篩選模式后得到的備選鄰居集中的平均用戶數(shù)量,預(yù)篩選的效果如圖1所示。
圖1 原始鄰居集和備選鄰居集的平均用戶數(shù)量對比Fig.1 Average number of users in original neighbor set versus alternative neighbor set
在ML-100K 數(shù)據(jù)集中,原始鄰居集的平均用戶數(shù)量為943,而備選鄰居集的平均用戶數(shù)量約為668,使用預(yù)篩選模式后,共過濾29.16%的用戶和相應(yīng)的評分?jǐn)?shù)據(jù)。同樣,在ML-Latest-Small 數(shù)據(jù)集中,原始鄰居集的平均用戶數(shù)量為610,備選鄰居集的平均用戶數(shù)量約為351,過濾了42.46%的用戶和相應(yīng)評分?jǐn)?shù)據(jù)。在Yahoo Music 數(shù)據(jù)集中,原始鄰居集的平均用戶數(shù)量為15 400,備選鄰居集的平均用戶數(shù)量約為2 635,共過濾82.89%的用戶和相應(yīng)評分?jǐn)?shù)據(jù)。從各數(shù)據(jù)集過濾的用戶和評分?jǐn)?shù)據(jù)的百分比可以看出,預(yù)篩選模式能減少大量的用戶相似度計算,并且在稀疏數(shù)據(jù)集中的效果更加突出。
為進一步細(xì)化分析預(yù)篩選模式對時間效率的影響,在三個數(shù)據(jù)集上,分別統(tǒng)計提出的相似度模型(SES)在常規(guī)模式和預(yù)篩選模式下完成單次推薦所需的平均時間,主要分為查找鄰居集和完成評分預(yù)測的時間。其中近鄰個數(shù)根據(jù)文獻[30]設(shè)為80,結(jié)果如表4 和表5 所示。
根據(jù)表4 和表5 中各部分的時間對比,首先在查找近鄰的步驟中,預(yù)篩選模式相比常規(guī)模式在三個數(shù)據(jù)集上分別提升36.88%、22.84%和71.55%的時間效率。其次在產(chǎn)生預(yù)測的步驟中,執(zhí)行時間無明顯差別。最后在三個數(shù)據(jù)集上,預(yù)篩選模式的總運行時間相比常規(guī)模式分別下降35.42%、20.29%和71.18%。以上分析證明了預(yù)篩選模式的有效性,特別在規(guī)模較大的數(shù)據(jù)集中,預(yù)篩選模式的優(yōu)勢更加突出。因此引入預(yù)篩選模式后,SES 的時間效率得到進一步提升。
表4 常規(guī)模式下單次推薦所需時間Table 4 Running time for single recommendation in common mode 單位:s
表5 預(yù)篩選模式下單次推薦所需時間Table 5 Running time for single recommendation in pre-filtering mode 單位:s
3.3.2 整體預(yù)測和推薦效果比較
在三個數(shù)據(jù)集上分別進行實驗,主要討論不同近鄰數(shù)量下融合預(yù)篩選模式后的協(xié)同過濾算法(CSES)與其余對比算法的預(yù)測和推薦結(jié)果。其中近鄰數(shù)量從10 到100 變化,步長為10。
(1)在ML-100K 數(shù)據(jù)集上的結(jié)果分析
在ML-100K 數(shù)據(jù)集上,各算法的預(yù)測準(zhǔn)確度如圖2 所示。圖2 表明,隨著近鄰個數(shù)的增加,所有方法的預(yù)測誤差(MAE 和RMSE)值都逐漸下降。其中SPCC、BCF、KLCF 的預(yù)測誤差值較高,且波動范圍較大。COS、JMSD、RJMSD 的預(yù)測準(zhǔn)確度有明顯改善,且變化趨勢較為接近。不同近鄰數(shù)量下,CSES具有最好的預(yù)測準(zhǔn)確度,相比最接近的NHSM 平均降低1%~2%的預(yù)測誤差,特別在近鄰個數(shù)較少時,優(yōu)勢更加明顯。主要原因可能為:基于exp(-x)函數(shù)衡量相對評分差異的相似度能更敏感地捕捉評分差異的變化,同時綜合信息熵改進的評分偏好和用戶的全局評分?jǐn)?shù)量信息,使相似度計算更加可靠。
圖2 ML-100K 數(shù)據(jù)集上不同鄰居數(shù)量的MAE 和RMSEFig.2 MAE and RMSE with different neighbor sizes on ML-100K dataset
在ML-100K 數(shù)據(jù)集上,各算法的推薦質(zhì)量如圖3所示。所有方法的F1 值都隨近鄰數(shù)量的增加而逐漸變大。其中最近提出的算法BCF、NHSM、KLCF 相比傳統(tǒng)算法在推薦質(zhì)量方面有明顯的改善。當(dāng)近鄰個數(shù)為10 時,CSES 的F1 值略低于BCF,但隨著近鄰數(shù)量的增加,CSES 的F1 值最高且有相對穩(wěn)定的表現(xiàn),當(dāng)近鄰數(shù)量為100 時,CSES 的F1 值達(dá)到最大值,約為0.696。因此在ML-100K 數(shù)據(jù)集上,CSES 相比其他算法有更好的推薦質(zhì)量。
圖3 ML-100K 數(shù)據(jù)集上不同鄰居數(shù)量的F1-valueFig.3 F1-value with different neighbor sizes on ML-100K dataset
在ML-100K 數(shù)據(jù)集上,各算法的覆蓋率如圖4所示。在不同鄰居數(shù)量下,CSES 的覆蓋率略低于BCF,保持最接近的趨勢且相對穩(wěn)定。相比其余算法,CSES 和BCF 均有更好的覆蓋率。BCF 的覆蓋率較高,原因可能為:能夠計算任意兩個用戶間的相似度,得到的預(yù)測推薦列表中有效評分?jǐn)?shù)量更多,因此覆蓋率會略有優(yōu)勢。
圖4 ML-100K 數(shù)據(jù)集上不同鄰居數(shù)量的CoverageFig.4 Coverage with different neighbor sizes on ML-100K dataset
(2)在ML-Latest-Small數(shù)據(jù)集上的結(jié)果分析
同樣地,在ML-Latest-Small 數(shù)據(jù)集上執(zhí)行所有算法,預(yù)測準(zhǔn)確度如圖5 所示。在不同近鄰數(shù)量下,CSES 都有最好的預(yù)測準(zhǔn)確率和較小的波動范圍,相比最接近的NHSM 和RJMSD 大約提升1%~3%。所有算法在ML-Latest-Small 數(shù)據(jù)集上的誤差范圍均比在ML-100K 上有所降低,主要因為:在評分?jǐn)?shù)量相差不大的情況下,ML-Latest-Small 數(shù)據(jù)集上的用戶數(shù)量相對較少,則單個用戶對應(yīng)的評分?jǐn)?shù)據(jù)更多,基于用戶的相似度計算就更加準(zhǔn)確。
圖5 ML-Latest-Small數(shù)據(jù)集上不同鄰居數(shù)量的MAE 和RMSEFig.5 MAE and RMSE with different neighbor sizes on ML-Latest-Small dataset
在ML-Latest-Small 數(shù)據(jù)集上執(zhí)行所有算法,推薦質(zhì)量如圖6 所示。不同近鄰數(shù)量下,CSES 都有最高的F1 值。相比表現(xiàn)較好的BCF、KLCF、NHSM,平均提升1%~3%。隨著近鄰數(shù)量的增加,BCF、KLCF、NHSM 的F1 值無顯著差異。
圖6 ML-Latest-Small數(shù)據(jù)集上不同鄰居數(shù)量的F1-valueFig.6 F1-value with different neighbor sizes on ML-Latest-Small dataset
在ML-Latest-Small 數(shù)據(jù)集上,各算法的覆蓋率如圖7 所示。不同近鄰數(shù)量下相比其余算法,BCF、KLCF 和CSES 的RMSE覆蓋率較高,且分布區(qū)間為[0.580,0.603]。隨著近鄰數(shù)量的增加,三者MAE的差距越來越小。
圖7 ML-Latest-Small數(shù)據(jù)集上不同鄰居數(shù)量的CoverageFig.7 Coverage with different neighbor sizes on ML-Latest-Small dataset
(3)在Yahoo Music數(shù)據(jù)集上的結(jié)果分析
在Yahoo Music 數(shù)據(jù)集上執(zhí)行所有算法,預(yù)測準(zhǔn)確度如圖8 所示。在不同近鄰數(shù)量下CSES 的預(yù)測誤差值最低,相比表現(xiàn)較接近的NHSM 和RJMSD 降低大約1%~4%,相比其余算法則有更明顯的優(yōu)勢。在Yahoo Music 數(shù)據(jù)集上,所有算法的預(yù)測誤差值都普遍較高,主要原因是:數(shù)據(jù)規(guī)模明顯變大且用戶數(shù)量也明顯變多,單個用戶對應(yīng)的評分?jǐn)?shù)據(jù)較少,因此預(yù)測誤差值較高。
圖8 Yahoo Music數(shù)據(jù)集上不同鄰居數(shù)量的MAE 和RMSEFig.8 MAE and RMSE with different neighbor sizes on Yahoo Music dataset
在Yahoo Music 數(shù)據(jù)集上各算法的推薦質(zhì)量如圖9 所示。不同鄰居數(shù)量下,CSES 比其余方法有更好的推薦質(zhì)量,特別在鄰居數(shù)量較少時,這種優(yōu)勢更加明顯。其中,NHSM、RJMSD、BCF 和SPCC 的推薦質(zhì)量相比其余傳統(tǒng)方法也有較大提升。
圖9 Yahoo Music數(shù)據(jù)集上不同鄰居數(shù)量的F1-valueFig.9 F1-value with different neighbor sizes on Yahoo Music dataset
在Yahoo Music 數(shù)據(jù)集上,各算法的覆蓋率如圖10 所示。當(dāng)近鄰個數(shù)小于30 時,BCF 的Coverage 值最高,與最接近的CSES 相比有2%~3%的優(yōu)勢;當(dāng)近鄰個數(shù)大于30 時,CSES 的coverage 值最高,相比最接近的RJMSD 提升1%~4%。
圖10 Yahoo Music數(shù)據(jù)集上不同鄰居數(shù)量的CoverageFig.10 Coverage with different neighbor sizes on Yahoo Music dataset
3.3.3 時間效率比較
在三個數(shù)據(jù)集上,分別統(tǒng)計各評測指標(biāo)中表現(xiàn)較好的5種算法(CSES、RJMSD、NHSM、BCF和KLCF)的總運行時間,具體結(jié)果如表6 所示。
表6 在三個數(shù)據(jù)集上的總運行時間對比Table 6 Running time comparison on three datasets 單位:s
從表6 中可以看出,在ML-100K 數(shù)據(jù)集上,CSES和RJMSD 的總運行時間無明顯差別,相比NHSM 分別有大約57.14%和58.93%的降低。同樣地,在MLLatest-Small 數(shù)據(jù)集上,CSES 和RJMSD 的總運行時間一致,相比NHSM 大約降低48.48%。在Yahoo Music 數(shù)據(jù)集上,CSES 的總運行時間最短,相比RJMSD 和NHSM 大約降低71.55%和80.42%。然而在三個數(shù)據(jù)集上,BCF 和KLCF 的總運行時間較長,與CSES、RJMSD 和NHSM 相比有明顯的差距。綜合以上分析,CSES 的時間效率較高,特別在稀疏數(shù)據(jù)集下優(yōu)勢更加突出。
本文提出將相似度和預(yù)篩選模式融合的協(xié)同過濾算法,以更好地平衡準(zhǔn)確性和時間效率的關(guān)系。該算法首先定義相對評分差異,并根據(jù)相似度函數(shù)應(yīng)滿足的條件得到基于相對評分差異優(yōu)化的相似度,能更敏感地捕捉用戶間評分變化。同時將基于信息熵改進的評分偏好和基于用戶全局評分的數(shù)量信息作為權(quán)重因子,更易區(qū)分用戶間相似度。提出的相似度模型具有簡單高效的特性,并緩解了稀疏數(shù)據(jù)下推薦準(zhǔn)確性問題。其次通過分析相似度和評分預(yù)測公式的隱式約束,進一步提出預(yù)篩選模式。在不影響預(yù)測和推薦結(jié)果的前提下,減少大量無效的相似度計算,極大地改善了算法運行效率。最終提出的協(xié)同過濾算法融合相似度和預(yù)篩選模式,在三個不同稀疏度的數(shù)據(jù)集上實驗,結(jié)果表明:相比已有算法,所提出的算法在保持相對穩(wěn)定和較高推薦準(zhǔn)確性的同時,進一步提高了系統(tǒng)運行效率。
本研究僅關(guān)注評分矩陣中評分?jǐn)?shù)據(jù),未來的工作將分析評分表以外的物品標(biāo)簽、用戶評論等信息,進一步提升推薦性能。