劉春霞,武玲梅,謝小紅
(廣西師范學(xué)院計算機與信息工程學(xué)院,南寧530299)
這是一個“互聯(lián)網(wǎng)+”的時代,時代背景造就了信息過載(Information Overload)[1]的現(xiàn)狀。推薦系統(tǒng)(Rec?ommender System,RS)通過信息過濾,能夠給用戶提供所需的信息,滿足用戶的個性化需求,逐漸在各個應(yīng)用領(lǐng)域嶄露頭角。這促使了學(xué)者不斷進行研究,推薦算法層出疊現(xiàn),而針對RS評估的研究卻是屈指可數(shù)。學(xué)者在研究時如何清晰地鑒別算法的優(yōu)劣,如何在眾多評價指標(biāo)中選用適當(dāng)?shù)闹笜?biāo)對推薦算法的優(yōu)劣進行評估,國內(nèi)外學(xué)者目前還未能達成統(tǒng)一定論。本文在分析RS評估研究現(xiàn)狀的基礎(chǔ)上,對評估指標(biāo)進行系統(tǒng)回顧,并提供了可研究的幾個方向。
Anderson在《長尾理論》中預(yù)言,“我們正邁入推薦時代?!睂W(xué)者們對RS的研究產(chǎn)生的濃厚的興趣,而針對其評估的研究卻寥寥無幾。為客觀分析其研究現(xiàn)狀,本文選取了著名期刊ACM Transaction On Information Systems(ACM TOIS)近五年間與推薦相關(guān)的論文進行調(diào)查分析。表1列出了其中的10篇文獻。調(diào)查發(fā)現(xiàn),在選取指標(biāo)對推薦算法進行評估時,部分學(xué)者仍對R評估指標(biāo)認(rèn)識并不全面,在驗證算法時僅選取很少的指標(biāo),對其他指標(biāo)的表現(xiàn)緘口不言。另外,部分學(xué)者都是主觀地選擇評估指標(biāo)去評估算法,在所屬文獻中,對實驗結(jié)果解釋不足。
表1 ACM TOIS近5年推薦相關(guān)文獻
不管是從哲學(xué)觀點還是統(tǒng)計學(xué)角度,人們對于實驗研究本身一直持有非常審慎的態(tài)度[12]。一個RS最終上線,可以通過線下評估、用戶調(diào)研評估、線上評估三種方式對RS進行評估。線下評估一般是通過數(shù)據(jù)集模擬用戶與RS的交互行為,是科研的首選。用戶調(diào)查需要一組測試對象,他們須根據(jù)需求與系統(tǒng)進行交互。在他們完成交互任務(wù)時,我們須要觀察并記錄他們的行為,根據(jù)測試的各個階段提出定性的問題,用于收集不能直觀獲取的數(shù)據(jù)。最后,通過分析收集的數(shù)據(jù)了解系統(tǒng)的性能。線上評估實際上是通過設(shè)計幾種方案讓線上用戶進行體驗,通過用戶的反饋來判斷優(yōu)劣。AB(All-Between)測試作為一種驗證性工具,是常用的線上評估方法。三種實驗方法的優(yōu)缺點如表2所示。
表2 三種實驗方法優(yōu)缺點
Oliver提出的期望確認(rèn)理論(Expectation Confirma?tion Theory,ECT)是研究消費者滿意度的基礎(chǔ)理論。用戶在使用RS之前,會對系統(tǒng)推薦的物品產(chǎn)生某種期望,在使用物品或者體驗服務(wù)之后,用戶會對RS建立相應(yīng)的感知,根據(jù)感知與期望的匹配程度確認(rèn)對系統(tǒng)的滿意度,進而決定是否再次使用該系統(tǒng)。本節(jié)從準(zhǔn)確度指標(biāo)與非準(zhǔn)確度指標(biāo)兩個方面系統(tǒng)地論述各種RS的各類評測指標(biāo)。
(1)評分準(zhǔn)確度
在一些應(yīng)用中,會有一個讓用戶打分的功能,例如在螞蟻蜂窩上給一個旅游景點打分,當(dāng)我們用推薦算法去預(yù)測用戶對景點的評分(打幾顆星),此時關(guān)注的是評分的準(zhǔn)確度,具體評估細(xì)則有平均絕對誤差(MAE),均方根誤差(RMSE),歸一化平均絕度誤差(NMAE)、歸一化均方根誤差(NRSE)。它們越小,則證明系統(tǒng)的準(zhǔn)確度更高。其中,RMSE使用平方根懲罰,結(jié)果更為嚴(yán)苛,NMAE、NRSME是將MAE、RMSE歸一化到(0,1)之間,使得歸一化后偏差能在不同評分范圍的不同應(yīng)用之間可比。分別的定義如下:
其中,U為用戶集合,testu為測試集合,r^u,iru,i分別代表預(yù)測評分與真實評分,rmax和rmin分別代表用戶評分中的上限值和下限值。值得注意的是,當(dāng)用戶僅在意推薦列表前端的誤差,或者系統(tǒng)僅提供喜歡/不喜歡的選擇信息,就不應(yīng)采用評分準(zhǔn)測度進行評估。
(2)排名準(zhǔn)確度
多數(shù)含有RS的網(wǎng)站或應(yīng)用上,通常將給用戶展示的推薦設(shè)為列表。此時,我們關(guān)注的是列表的物品排序,此時,排序成為了衡量推薦結(jié)果的關(guān)鍵指標(biāo)。排名指標(biāo)中平均準(zhǔn)確率(Mean Average Precision,MAP)和歸一化折損積增益(Normalized Discounted Cumulative Gain,NDCG)是較為常用的指標(biāo)。MAP即AP(準(zhǔn)確度)的平均值。假設(shè)共有M個用戶,則系統(tǒng)的MAP可以簡單定義為:
NDCG是DCG的歸一化,可以定義為:
其中DCG在CG的基礎(chǔ)上根據(jù)位置進行相關(guān)度加權(quán),加權(quán)后的指標(biāo)為:
rei表示第i位結(jié)果的得分,b為自由參數(shù),通常在2到10之間,但在使用時,一般令b=2。
(3)分類準(zhǔn)確度
分類準(zhǔn)確度一般通過準(zhǔn)確率和召回率、F指標(biāo)、AUC等相關(guān)指標(biāo)進行度量。對于任意用戶u,在推薦長度為N的列表中,則u的準(zhǔn)確率與召回率表示如下:
其中#tp表示用戶喜歡且系統(tǒng)成功推薦的物品的數(shù)量,#fn表示用戶喜歡但未被推薦的物品數(shù)量,#fp代表用戶不喜歡,但推薦給用戶了的物品數(shù)量,#tn代表了用戶不喜歡,系統(tǒng)也沒有推薦給用戶的物品數(shù)量。N=#tp+#fn;系統(tǒng)整體的平均準(zhǔn)確率、平均召回率則可以定義如下:
準(zhǔn)確率和召回率是機器學(xué)習(xí)中通用的評估指標(biāo),但是其實它們其實在嚴(yán)格意義上來說是一對“矛盾”的評價指標(biāo)。如果推薦集合的規(guī)模足夠大,那么就可以觀察到二者之間的關(guān)系,召回率提高,準(zhǔn)確率會有所降低。M Pazzani等人于1997年在文獻[13]中首次提出F-Measure指標(biāo),同時考慮了準(zhǔn)確率與召回率。該指標(biāo)是準(zhǔn)確率和召回率的調(diào)和平均值,用于綜合反映系統(tǒng)的整體推薦效果,其可以定義為:
除了P(N)、R(N)與F指標(biāo)外,常用的分類指標(biāo)為AUC指標(biāo)。AUC指標(biāo)表示ROC曲線下的面積,AUC常用來處理二分類問題,如喜歡/不喜歡。ROC曲線表征了推薦算法的整體表現(xiàn),假設(shè)有三個算法Algo?rithm0、Algorithm1、Algorithm2,它們的面積分別為 0.91,0.6,0.79,如圖 1 所示,則算法 Algorithm0>Algorithm2>Algorithm1。(“ > ”表示“優(yōu)于”)然而該指標(biāo)沒有考慮推薦位置排序的影響,如果算法有相同的ACU值,盡管客觀上兩個推薦算法有優(yōu)劣之分,但是AUC指標(biāo)卻無法作出判斷。
(1)覆蓋率
一些算法可能只針對具有大量數(shù)據(jù)的物品才有高質(zhì)量的推薦,例如CF。而一個好的RS不僅需要具備較高的準(zhǔn)確度,而且需要較高的覆蓋率[14]。覆蓋率(Coverage)表示RS對物品長尾的發(fā)掘能力[15],用以衡量系統(tǒng)是否能推薦到所有物品。假設(shè)現(xiàn)有用戶集合為User,系統(tǒng)給每個用戶u提供Top-N列表為R(u),則其覆蓋率可以計算為:
此外,信息熵、基尼系數(shù)(Gini Index)[2][15]兩個指標(biāo)通常也用于定義覆蓋率。它們分別定義為:
其中ij是按照物品流行度p按從小到大的順序進行排序的物品列表中的第 j個物品。
圖1 ROC曲線示例
(2)多樣性
用戶的興趣是廣泛的,為了提高用戶的感知質(zhì)量,推薦結(jié)果應(yīng)該能夠覆蓋用戶的所有興趣點,甚至包括用戶未發(fā)覺的潛在興趣,體現(xiàn)多樣性。我們可將多樣性簡單理解為相似性的反面,在一些環(huán)境下,用戶并不喜歡系統(tǒng)推薦的都是一系列相似的物品。例如某個用戶剛剛已買了一個剃須刀,此時系統(tǒng)推薦其他品牌的剃須刀就顯得沒有多大的意義了。假設(shè)sim()i,j∈[0,1]為物品i,j的相似性。那么用戶u的推薦列表R(u)的多樣性可定義為(15)。
那么整個RS的多樣性可定義為(16),其中U表示所有用戶集合。
以上討論方法基于物品之間的相似性,在評價時應(yīng)保證在最小的影響精度為代價的前提下,提高推薦的多樣性。
(3)新穎性與驚喜度
RS中,“個性化”與“推薦”缺一不可,其中“個性化”是系統(tǒng)最大的特色。樓尊曾提出,穩(wěn)定的心理特征中包括了“獨特性需求”[16]。消費者自然也具有獨特性需求,為體現(xiàn)其獨特的個性,他們更傾向于購買個性化的商品。因此,在評估RS時,新穎度與驚喜度是兩個重要的指標(biāo)。新穎度指的是給用戶推薦他并不知道的物品。最簡單的方法即把與用戶進行過交互的物品過濾掉,但這并不能完全體現(xiàn)新穎性,Celmaò.曾研究了新穎性的評估,平均流行度是其中最為簡便的方法。所謂的平均流行度即推薦列表中所有物品的度的總和的平均值。推薦冷門物品會比熱門物品好,因為向用戶推薦熱門產(chǎn)品并沒有達到個性化推薦的目的。換而言之,推薦列表中的物品平均流行度越小,對用戶來說,新穎度就越高,效果越好。而驚喜度在近幾年一直受到學(xué)術(shù)界的關(guān)注,它跟新穎度有些類似,但比新穎新要求更嚴(yán)格。若推薦的結(jié)果和用戶的興趣并不具備相似性,但是卻能夠讓用戶感到滿意,此時,推薦具有較高的驚喜度。舉個簡單的例子,假設(shè)用戶u沒有看過電影 I,當(dāng)系統(tǒng)將I推薦給u時,如果 I與u的興趣無關(guān),u自然會覺得很奇怪,但是,如果用戶觀看完電影覺得不錯,那么可以說推薦是讓用戶驚喜的。
(4)健壯性
RS,是基于用戶私人數(shù)據(jù)的軟件應(yīng)用,隨著相關(guān)應(yīng)用不斷擴展,人們對于RS的依賴越來越強烈,RS容易成為惡意用戶為獲取商業(yè)利益而作弊攻擊的對象。因此,在衡量系統(tǒng)性能時需要考慮系統(tǒng)的抵御作弊的能力,即健壯性。推薦算法由一般都需要通過分析用戶的行為實現(xiàn),若用戶行為是惡意的,推薦結(jié)果必將受到影響。創(chuàng)建一個能免除任何攻擊的系統(tǒng)是不切實際的[17],模擬攻擊是評估系統(tǒng)健壯性的常用手段。學(xué)者在研究推薦算法時可以利用算法對用戶先生成一個推薦列表,然后往數(shù)據(jù)集中注入一定的噪聲數(shù)據(jù),然后再次生成推薦列表,最后對比兩次推薦列表的相似度,以此評估算法的健壯性。健壯性的另一方面指的是在極端條件下系統(tǒng)的穩(wěn)定性,例如某一時間斷大規(guī)模的用戶請求。例如每年雙十一,淘寶就有大規(guī)模用戶請求。這種情況下,RS的健壯性實際上與硬件規(guī)模與可靠性、數(shù)據(jù)庫軟件等基礎(chǔ)設(shè)施相關(guān)?;诓⑿杏嬎愕耐扑]算法,例如在Hadoop上利用MapReduce實現(xiàn)的推薦算法通常具有相對較高的健壯性。
RS的社會意義是以“人”為本[18],它指導(dǎo)用戶在信息海洋中尋找燈塔,明確前行的方向。而其評估是檢驗系統(tǒng)性能手段,對RS研究中起到了引導(dǎo)作用。它是物的范疇,而其中的“個性化”則歸屬于人的范疇。在評估RS時需要進行綜合考慮。傳統(tǒng)的評估指標(biāo)都存在固有的問題,并不能確切地反映系統(tǒng)的質(zhì)量。網(wǎng)站重視系統(tǒng)帶來的效益,而用戶關(guān)心自身體驗,因此如何設(shè)計一個在提升用戶滿意度的同時提高網(wǎng)站收入的推薦算法以及其評價指標(biāo)體系,是一個很有研究意義的方向。若能解決評價指標(biāo)存在的問題,定能推動RS的研究工作不斷發(fā)展。本文對評估RS的指標(biāo)進行了系統(tǒng)的綜述,并認(rèn)為可以從以下五個方面繼續(xù)研究:
(1)保護用戶隱私。在現(xiàn)有經(jīng)典的推薦算法中,大多數(shù)是利用用戶數(shù)據(jù)產(chǎn)生推薦的,如果要得到高準(zhǔn)確率、高用戶體驗的推薦勢必會更深層收集與挖掘用戶數(shù)據(jù),這就給用戶隱私帶來了一定的威脅。一個好的RS,理應(yīng)既提供準(zhǔn)確、合理的推薦,又確保用戶信息不被惡意用戶隨意獲取?,F(xiàn)有的文獻中,考慮到用戶隱私的推薦算法研究較少。因此在對系統(tǒng)進行評估時應(yīng)考慮是否保護了用戶隱私。
(2)推薦算法的時間效率??旃?jié)奏的時代“快”是一種趨勢。推薦算法能否在短時間內(nèi)處理爆炸量的信息,給出實時的主動推薦也是值得考慮的因素。
(3)算法的普適性。從復(fù)雜的指標(biāo)群中選擇合適的指標(biāo)去評估系統(tǒng)極具挑戰(zhàn)性。不同的推薦算法應(yīng)用在不同的數(shù)據(jù)集中效果不同,目前未存在能夠應(yīng)用于所有領(lǐng)域的推薦算法。如果推薦算法在不同的數(shù)據(jù)集得到的效果相差不大,即說明該算法普適性強。
(4)添加客觀性生理指標(biāo)。評測是一個價值判斷的過程,在用戶調(diào)查研究中用戶的作答是主觀的,未必是用戶真實的想法與感受。因此在評價中應(yīng)引入一些客觀性的指標(biāo)輔助評估,例如,心率、血壓、腦成像等,以提高結(jié)論的可信度。
(5)考慮移動的個性化RS。《2016年中國移動社交電商發(fā)展專題報告》中指出,手機網(wǎng)民的規(guī)模已高達6.2億,并且逐年增加?,F(xiàn)今移動RS的研究的學(xué)術(shù)文獻并不少,但針對性的評價指標(biāo)卻很少,這是一個未來一個富有吸引力的研究方向。