姜書浩,張立毅,張志鑫
?
基于個性化的多樣性優(yōu)化推薦算法
姜書浩1, 2,張立毅1, 2,張志鑫2
(1. 天津大學(xué)電氣自動化與信息工程學(xué)院,天津 300072;2. 天津商業(yè)大學(xué)信息工程學(xué)院,天津 300134)
針對不同人對多樣性的偏好不同,提出一種能夠在尋優(yōu)精度和多樣性之間權(quán)衡的個性化的多樣性優(yōu)化方法.該方法采用一種依據(jù)用戶歷史偏好和項目類別專家評分的推薦技術(shù),生成包含新穎項目和關(guān)聯(lián)項目的多樣化的候選推薦列表,然后依據(jù)用戶多樣化偏好程度進行后過濾技術(shù),篩選出最終的多樣化推薦列表.最后,本文通過實驗結(jié)果對比發(fā)現(xiàn),所提出的方法能夠有效地提高推薦列表的多樣性,而且能夠?qū)崿F(xiàn)個性化的多樣化過程.
推薦系統(tǒng);多樣性;個性化;新穎性;關(guān)聯(lián)性
數(shù)據(jù)時代人們每天接收到的信息越來越多,如何從繁雜的信息中找出自己需要的內(nèi)容,成為一件非常困難的事情.個性化推薦系統(tǒng)能夠幫助人們快速從大量信息中作出選擇[1]、提供建議、輔助決策.推薦系統(tǒng)依據(jù)用戶的偏好為用戶提供建議,推薦給用戶與其歷史偏好非常相似的項目,當(dāng)然這提高了推薦系統(tǒng)的尋優(yōu)精度.但是還有其他一些重要因素比如新穎性和多樣性,同樣影響著用戶的滿意度[2].推薦列表過于同質(zhì)化、缺乏多樣性會降低用戶的滿意度,產(chǎn)生這一問題的根本原因是推薦列表被看作是單個項目的集合,而不是一個整體.推薦項目的質(zhì)量是根據(jù)推薦列表中每個項目的相關(guān)性來評估的,系統(tǒng)并不能發(fā)現(xiàn)推薦列表整體內(nèi)容的單調(diào)性,從而導(dǎo)致用戶滿意度降低.
多樣性反映的是推薦列表中項目種類的差異性,這種差異性表現(xiàn)為項目類別屬性的不同[3].而提供更加多樣化的推薦列表有很多優(yōu)勢:首先可以幫助用戶獲取新穎的項目,有助于用戶開拓個人偏好空間;另外,由于任何推薦系統(tǒng)都無法完整地描述用戶個人的全部偏好,而包含用戶所有可能感興趣項目的推薦列表幾乎是不存在的,因此更加多樣化的推薦列表至少增加了包含用戶其他偏好項目的可能性,有助于覆蓋用戶的大部分興趣點.反之,如果推薦列表過于單調(diào),用戶不喜歡其中的某一項目,就意味著不喜歡所有的項目,這樣的推薦就毫無意義.應(yīng)該注意的是,尋優(yōu)精度和多樣性之間存在對立,雖然兩者都是評價推薦質(zhì)量的重要標(biāo)準(zhǔn),但是在同一推薦系統(tǒng)中同時提升這兩項指標(biāo)是不現(xiàn)實的,因此如何平衡兩者之間的關(guān)系對于提高用戶的滿意度具有重要意義.
研究人員對多樣化推薦提出了很多優(yōu)化的方法,但大多數(shù)的多樣化策略都不是個性化的,而是對所有用戶通用的.另外,所有用戶都期待更加多樣化的推薦內(nèi)容,但是對多樣化的需求又各不相同,有的人希望被推薦更加新奇的項目,而有的人更期望獲得符合個人偏好的推薦[4].因此本文提出一種個性化的多樣性優(yōu)化方法,依據(jù)用戶歷史偏好多樣性的不同,向用戶提供多樣化程度不同的個性化推薦列表.
為了更好地支持多樣化的推薦過程,本文還提出一種基于專家評分的推薦方法,如果推薦系統(tǒng)僅僅依據(jù)用戶歷史偏好或近鄰用戶(與目標(biāo)用戶偏好相似的用戶)的偏好,就很難將新穎的項目添加到推薦列表中,這樣會對個性化的多樣化過程產(chǎn)生不利的影響,因此該方法兼顧了用戶歷史偏好和類別領(lǐng)域內(nèi)專家評分.
個性化推薦系統(tǒng)基于用戶的顯式偏好和隱式偏好生成對用戶的推薦[5].這些用戶特征偏好信息存儲在用戶特征文件中,并作為輸入信息向用戶生成推薦.基于內(nèi)容的推薦和協(xié)同過濾推薦都是目前流行的推薦技術(shù).基于內(nèi)容的推薦根據(jù)用戶的歷史偏好,為用戶推薦與其偏好相似的產(chǎn)品.協(xié)同過濾是一種基于具有相同偏好的用戶或項目進行的推薦,它根據(jù)近鄰用戶的偏好信息生成對目標(biāo)用戶的推薦列表.協(xié)同過濾技術(shù)包括基于項目的協(xié)同過濾和基于用戶的協(xié)同過濾.
傳統(tǒng)推薦系統(tǒng)的研究重點是提高用戶推薦的尋優(yōu)精度,也就是通過提高預(yù)測評分的準(zhǔn)確性來提高推薦質(zhì)量.研究人員通常是以尋優(yōu)精度來作為評價推薦系統(tǒng)的指標(biāo).基于內(nèi)容的推薦受過度專業(yè)化的影響導(dǎo)致推薦的項目與用戶之前評價過的項目非常相似.雖然基于用戶的協(xié)同過濾相比于基于內(nèi)容的方法能夠推薦更多的新穎項目,但同樣也存在多樣化不足的問題,該方法雖然可以從近鄰用戶中獲得較高的評分率,但是推薦結(jié)果傾向于流行性.再者,如果近鄰的偏好與用戶的偏好高度相似,那么依據(jù)近鄰?fù)扑]的項目也將類似于用戶的歷史偏好,不會有太多新穎之處.此外,如果最近鄰也彼此相似,那么基于近鄰偏好產(chǎn)生的推薦列表也會缺乏多樣性,因為這些項目之間相似度仍然很高[6].
多數(shù)優(yōu)化推薦系統(tǒng)的目的是提高推薦項目的尋優(yōu)精度,因此推薦列表是預(yù)測評分最高項目的集合,因此系統(tǒng)更加關(guān)注單個項目的尋優(yōu)精度[7].但是,由于推薦列表被看作是單個項目的集合而不是整體,因此推薦時并不考慮推薦列表中的項目之間是否彼此相似,也就不可能在列表中實現(xiàn)多樣性.所以,推薦列表缺乏多樣性的主要原因有兩個:一是以往的評價指標(biāo)更多聚焦在尋優(yōu)精度上;二是推薦列表僅僅被作為單個項目的集合,忽視了項目之間的關(guān)系.
如果推薦列表包含太多的同質(zhì)項目,用戶從中獲得不了太多的新信息,同樣推薦系統(tǒng)不可能從更大的項目空間中獲得用戶的所有偏好,從而造成個人偏好的預(yù)測不準(zhǔn)確.推薦同質(zhì)項目是有風(fēng)險的,因為如果用戶不喜歡列表中的一個項目,那么整個推薦列表將毫無用處,而多樣性的推薦列表更具有實際意義.多樣性指的是用戶推薦列表中項目之間的差異性[8].推薦與用戶歷史偏好不同的新項目將有助于用戶發(fā)現(xiàn)新項目,并通過用戶對新項目的評分幫助推薦系統(tǒng)改進用戶偏好模型.Candillier等[9]強調(diào)了多樣性在推薦系統(tǒng)中的重要性,并在研究中證實了多樣性在推薦系統(tǒng)中的必要性.Castagos等[10]通過向用戶提供多樣化的推薦列表,對比用戶的接受度和滿意度發(fā)現(xiàn),更加多樣化的推薦降低了用戶的接受率,但同時也增加了用戶對系統(tǒng)的滿意度.從上述研究結(jié)論可以發(fā)現(xiàn)多樣化對于推薦系統(tǒng)具有重要意義.
推薦列表中項目之間的相關(guān)性和多樣性是相互制約的,不可能同時最大限度地提高列表的多樣性和相關(guān)性.所謂相關(guān)性項目是指與用戶歷史偏好類別相同或相近但內(nèi)容有所區(qū)別的項目,體現(xiàn)的是同類別中內(nèi)容的多樣性.研究人員提出了幾種方法來權(quán)衡多樣性和相關(guān)性,并實現(xiàn)合理的多樣化策略.一類方法是優(yōu)化整個推薦過程,另一類是采用后過濾策略.后過濾策略是首先生成一個較大的候選初始列表,然后根據(jù)差異性最大化標(biāo)準(zhǔn)從列表中選擇k項生成最終推薦列表.后過濾方法基本采用最大邊界相關(guān)法(MMR)標(biāo)準(zhǔn)[11],同時協(xié)調(diào)控制關(guān)聯(lián)性和多樣性之間的權(quán)衡.
Boim等[12]提出了一種主題多樣化的方法,使推薦列表多樣化,涵蓋更廣泛的用戶感興趣的主題.Smyth等[13]對基于用戶的協(xié)同過濾算法進行了后過濾方法改進.Adomavicius等[14]提出一種基于近鄰評分差異的后過濾方法.Sandoval[15]提出一種提高推薦系統(tǒng)中新穎性和多樣性的方法.Pathak等[16]提出了一種基于聚類后過濾方法的多樣化優(yōu)化策略.Vargas[17]隨后提出了一種形式化的多樣化方法和評價技術(shù),同時也考慮到推薦過程的重要性和相關(guān)性.Jiang等[18]從個性化角度討論了多樣性評價問題,并基于選擇概率提出了多樣性的評價方法,其研究的目標(biāo)是將評價的相關(guān)性和多樣性結(jié)合成一個單一的衡量標(biāo)準(zhǔn).
上述的優(yōu)化方法的共同點是對所有用戶都采用的是相同的多樣化方法.但是在實際應(yīng)用中不同用戶多樣化的需求各不相同,有的更偏向于新穎性和多樣化,而有的則不然,即使是同樣偏好多樣化的用戶也存在需求程度不同的問題.用戶調(diào)查顯示個性化需求因人而異[19-20],Noia等[21]分析了用戶過去的行為,明確了項目多樣化的類別,但是不涉及推薦列表應(yīng)該如何進行多樣化的問題.
在后過濾多樣化算法中,最終推薦列表的多樣化程度依賴于現(xiàn)有推薦系統(tǒng)所生成的候選推薦列表.由于尋優(yōu)精度的要求,傳統(tǒng)的推薦系統(tǒng)并不會直接提高多樣性[22].因此,提高推薦系統(tǒng)候選推薦列表中項目的新穎性和多樣性是非常有必要的.其中一個重要的方法是考慮項目推薦類別,在項目所屬類別領(lǐng)域找到經(jīng)驗豐富的專家,為用戶提供有價值的推薦,如果專家對該項目評分較高,那即便推薦一個與用戶偏好不相似的項目也是安全的,且有助于在最后的推薦列表中實現(xiàn)多樣化.因此,推薦過程中同時兼顧專家意見和用戶偏好有助于以個性化的方式實施多樣化的過程,同時提高推薦列表中新穎性項目的數(shù)量.
本文提出的個性化推薦系統(tǒng)模型改進了傳統(tǒng)的推薦方式,依據(jù)用戶歷史偏好和項目類別專家評分進行推薦,生成兼顧新穎項目和關(guān)聯(lián)項目的多樣化候選推薦列表,同時創(chuàng)新地提出根據(jù)每個用戶的多樣化偏好程度進行個性化的多樣化推薦,對推薦列表進行多樣化的同時滿足了不同用戶的個性化需求.該模型由專家推薦模塊和個性化的多樣性優(yōu)化兩個模塊組成,整體結(jié)構(gòu)如圖1所示.本方法中候選推薦列表的生成可以采用例如基于用戶的協(xié)同過濾技術(shù)等多種推薦技術(shù).
介紹算法之前先說明一下推薦算法使用中用到的符號,用戶對項目的評分為r,i,用戶的偏好項目集為U,該集包括用戶所有已評分的項目,項目的種類集為L,用戶偏好類別的概率為C,c,C為用戶對項目類別的偏好概率集,C,c∈C.
圖1?推薦系統(tǒng)整體結(jié)構(gòu)
專家推薦模塊是一種基于用戶偏好和專家評分的推薦技術(shù),其主要功能是預(yù)測項目評分和生成候選推薦列表.專家被定義為在某一項目類別中經(jīng)驗豐富的用戶.例如,在電影領(lǐng)域,一個評價了大約100部愛情電影的用戶比一個評價各種類型的電影用戶有更豐富的愛情電影評價經(jīng)驗.
2.1.1?用戶偏好多樣性計算
專家推薦模塊的第1個階段是分析用戶多樣性偏好,為了實現(xiàn)這一目標(biāo),首先基于用戶歷史評分的項目創(chuàng)建用戶類別偏好概率集C.用戶對電影類別的偏好程度根據(jù)式(1)計算.對于項目域中的每一個類別都要計算用戶的偏好概率,最后創(chuàng)建C.當(dāng)某項目只屬于一個類別時,它對該類別貢獻的比例是1,如果項目屬于個類別,對每一個類別的貢獻度為是1/.
?(1)
接下來使用式(2)來計算用戶偏好多樣化的程度.如果用戶對各種類別的項目都進行了評分,則計算結(jié)果會更高,說明用戶偏好更趨于多樣化;如果用戶只對單個或少數(shù)類別的項目進行評分,則計算結(jié)果會較低,說明用戶的偏好更趨于單調(diào).用戶偏好多樣性的值D歸一化后的范圍為0~1.
?(2)
2.1.2?專家群創(chuàng)建
專家群創(chuàng)建就是為每個項目類別創(chuàng)建專家群.選擇偏好多樣化低的用戶作為該用戶評分最多類別內(nèi)的專家.這樣的用戶表現(xiàn)出較低多樣性偏好,所有的評分都集中在單個或少數(shù)幾個類別上,可以被認(rèn)定為某個或者少數(shù)某些類別內(nèi)經(jīng)驗豐富的專家.偏好多樣化程度高,評分類別比較分散的用戶是不可能成為某類別專家的.創(chuàng)建的過程依據(jù)上一階段計算的C與D的結(jié)果.
首先選擇多樣性值D低于給定閾值的用戶,從中為每個項目類別選擇偏好概率C最高的作為該類別的專家,如果用戶對不止一個類別具有相同的最高偏好概率,則將該用戶標(biāo)識為這些類別中的專家.采用上述方式為每一個項目類別創(chuàng)建一個專家群.
2.1.3?預(yù)測評分
關(guān)聯(lián)預(yù)測是專家推薦模塊的最后一個階段,該階段是來預(yù)測一個用戶與其從未見過的項目的關(guān)聯(lián).為了預(yù)測項目的評分,本文設(shè)定一個兼顧用戶歷史偏好和專家評分的數(shù)值g值,該值通過式(3)獲得,其中g(shù)為基于用戶歷史偏好的評分,而g為專家給出的評分,兩個分?jǐn)?shù)的權(quán)重相同.當(dāng)然,二者的權(quán)重也可以根據(jù)實際情況改變.
?(3)
1)用戶評分
g是基于用戶過去的偏好相關(guān)的項目評分來進行計算的.g主要是通過計算用戶對項目所屬類別的偏好程度來計算用戶對項目的偏好程度,用戶通過評分來顯示他對項目的偏好程度.考慮用戶過去對與該項目相似的項目的評分,可以預(yù)測用戶對于該項目的喜好程度,的計算公式為
?(4)
2)專家評分
專家評分是一個基于專家對項目評分而獲得分值.計算項目的專家評分,首先要確定項目所屬類別的專家群,然后從過去為項目評過分的專家中選擇可用專家集ES,專家集確定后用公式(5)來計算專家評分.
?(5)
專家推薦采用式(3)、(4)、(5)來對用戶沒有評過分的項目進行預(yù)測,預(yù)測評分完成后,項目會根據(jù)預(yù)測評分將項目集前項推薦給用戶.專家推薦系統(tǒng)產(chǎn)生的個性化推薦列表,既包括跟用戶的偏好相似的項目,又包括專家推薦的新穎項目.專家推薦系統(tǒng)不同于傳統(tǒng)推薦系統(tǒng),它具備產(chǎn)生更加多樣化的推薦列表的能力.即使用戶沒有評價任何與推薦項目相似的項目,如果專家群對其評價很好,它仍然會被推薦給用戶.因此,專家推薦技術(shù)與以往的技術(shù)有所不同,它通過將新項目添加到用戶推薦列表的方式增強多樣性,推薦這樣的新項目也是安全的,因為該項目并不是由普通用戶推薦,而是由那些在該項目類別中有豐富經(jīng)驗的專家組推薦的.由于這些專家在該項目類別中有豐富的經(jīng)驗,他們給出的評分可以被視為對該項目評價的專業(yè)意見.推薦一個被相關(guān)專家評分很高的新項目,不僅有助于改進多樣化,而且有助于用戶探索有價值的新項目.
專家模塊生成一個既包含歷史偏好相關(guān)項目又包含新穎項目的候選推薦列表,作為個性化的多樣性優(yōu)化模塊的輸入.
個性化的多樣化模塊通過調(diào)節(jié)多樣性和相關(guān)性來實現(xiàn)個性化方式的多樣性優(yōu)化的過程.這一過程可以轉(zhuǎn)化為一個貪婪算法的優(yōu)化問題,對專家推薦模塊產(chǎn)生的候選列表進行選擇生成最終的推薦列表.個性化的多樣性優(yōu)化算法中PdDIV(,,C,D)值采用式(6)計算.
???(6)
個性化的多樣性優(yōu)化算法如下.
輸入:候選項目列表
輸出:最終推薦列表
={′}
=∪{′}
End while
Return
?(7)
在算法1的每一次迭代過程中,都會通過式(6)從候選項目列表中選擇項目到推薦列表,最終生成Top-推薦列表.
個性化的多樣性優(yōu)化模塊的主要作用是生成個性化的多樣化推薦列表.首先測量用戶的多樣性偏好值D,來確定用戶種類偏好是趨于廣泛還是單調(diào),個性化的多樣性優(yōu)化的建模假設(shè)是具有更高多樣化特征的用戶往往更喜歡多樣性和新穎性的項目,因此推薦系統(tǒng)的職責(zé)是根據(jù)用戶歷史多樣化偏好程度來確定用戶推薦列表多樣化的方式.
個性化的多樣性優(yōu)化的最大特點就是個性化權(quán)重pd,式(8)給出了pd的計算方法,通過使用pd,可以根據(jù)用戶歷史偏好特征控制推薦內(nèi)容中新穎性項目或相關(guān)性項目的數(shù)量.優(yōu)化的過程就是選擇候選項目列表中的項目選擇添加到最終推薦列表中,用戶的多樣性的偏好程度決定了應(yīng)該添加什么樣的項目,如果用戶更喜歡新穎的項目,那該項目的類別可能用戶還沒有評價過,pd將給予較高的權(quán)重,反之pd將給予較低的權(quán)重值.因此,pd通過個性化的方式給出權(quán)重值.
?(8)
Div(,)來衡量項目相對于推薦列表中其他項目的多樣性,由于多樣性可以看作是與相似性對立的,所以可以用式(9)來計算多樣性值.
?(9)
如果將項目添加到列表中,列表將更加多樣化,Div(,)將給出更高的分?jǐn)?shù).項目與項目集的相似性可以通過與中每一個項目的相似性計算得出,如式(10)所示.本文采用基于項目類別的Jaccard相似度來計算項目之間的相似性simc(,),式(11)給出了項目和項目所屬公用類別和總類別的比率.
?(10)
?(11)
個性化的多樣性優(yōu)化模塊的主要功能是從專家推薦模塊產(chǎn)生的候選名單中選擇項目來創(chuàng)建個性化的多樣化推薦列表.個性化是根據(jù)用戶歷史偏好的多樣性而獲得,并根據(jù)偏好推薦新穎的或相關(guān)的項目.如果用戶在過去表現(xiàn)出非常多樣化的偏好,最后的推薦列表將變得更加多樣化,如果用戶過去表現(xiàn)出較少的多樣性偏好,系統(tǒng)會用與用戶歷史評價類似的項目進行多樣化.
為了驗證本文所提出方法的有效性,在公開的數(shù)據(jù)集movielens的子集進行驗證,評分的范圍為1~5.將數(shù)據(jù)子集劃分為80%,的訓(xùn)練集和20%,的測試集.用戶是隨機選擇,但條件是至少為20部電影評過分.
實驗分兩個階段進行,在第1階段進行專家推薦模塊實驗,第2階段進行個性化的多樣性優(yōu)化模塊實驗.這兩個階段都采用傳統(tǒng)的基于用戶的協(xié)同過濾算法,并采用皮爾森系數(shù)作為相似性度量值,最近鄰數(shù)值設(shè)定為50,候選推薦列表大小設(shè)定為100,最終推薦列表大小設(shè)定為10.
專家推薦模塊環(huán)節(jié)需要選擇用戶作為專家,選擇的標(biāo)準(zhǔn)是用戶的多樣性偏好值D小于給定的閾值,因此首先要分析數(shù)據(jù)來設(shè)定閾值,根據(jù)式(3)閾值的取值范圍,當(dāng)<0.4時,數(shù)據(jù)集中沒有或有很少的專家.因此,的值必須在0.5~1的范圍內(nèi)進行選擇,本實驗中設(shè)定=0.8.
專家推薦模塊階段注重實驗結(jié)果的尋優(yōu)精度和多樣性,本文實驗對比基于用戶的協(xié)同過濾技術(shù),因為在傳統(tǒng)的推薦算法中,相對于基于內(nèi)容推薦和基于項目的協(xié)同過濾推薦,基于用戶的協(xié)同過濾推薦更能產(chǎn)生區(qū)別于用戶歷史偏好的新穎推薦[23].為了評價推薦尋優(yōu)精度,采用均方根誤差作為尋優(yōu)精度評價指標(biāo),采用基于Jaccard相似性值的項目之間的平均差異性(項目列表多樣性)作為多樣性評價指標(biāo),將數(shù)據(jù)子集劃分為70%,的訓(xùn)練集和30%,的測試集.實驗中采用兩種方式為用戶生成候選推薦列表,對比分析項目列表多樣性和均方根誤差值進行評價,如表1所示.
根據(jù)實驗結(jié)果,基于用戶的協(xié)同過濾推薦的評分預(yù)測誤差是1.124,8,而專家推薦模塊評分誤差為1.305,2;同時專家推薦模塊的項目列表多樣性得分高于基于用戶的協(xié)同過濾 0.046,3.這表明,專家推薦模塊的多樣化效果優(yōu)于基于用戶的協(xié)同過濾.
表1?專家推薦模塊實驗結(jié)果
Tab.1 Experimental results of expert recommendation module
Tab.1Experimental results of expert recommendation module
推薦技術(shù)項目列表多樣性均方根誤差 基于用戶的協(xié)同過濾0.224,91.124,8 專家推薦模塊0.271,21.305,2
在多樣性角度專家推薦模塊方法的結(jié)果表現(xiàn)得更好,這是因為專家推薦模塊并不是僅僅基于相似的鄰居進行的推薦,推薦時專家還考慮各個領(lǐng)域?qū)<医o出的評分,這些專家不一定與用戶有相似的偏好.但是他們是某些類別領(lǐng)域內(nèi)的專家,所以給出高評分的電影客觀上是好的,而這樣的推薦也是有用的和安全的.這里需要著重說明,如果推薦的電影用戶非常喜歡,而且該電影又與用戶的個人偏好毫無相似之處,那說明專家推薦模塊對于用戶推薦列表的多樣化結(jié)果是非常明顯的.
實驗結(jié)果還可以看到,專家推薦模塊在尋優(yōu)精度方面的表現(xiàn)雖然不如基于用戶的協(xié)同過濾,但是仍然能夠保證一定的尋優(yōu)精度和推薦質(zhì)量.因此實驗結(jié)果證明,專家推薦模塊能夠進行有效的預(yù)測評分,并產(chǎn)生包括新穎項目以及相關(guān)項目的更加多樣化的推薦列表.
通過進行實驗,驗證個性化的多樣性優(yōu)化技術(shù)可以用個性化的方式來實現(xiàn)多樣化推薦過程,在控制相關(guān)性和多樣性之間的平衡的同時實現(xiàn)兼顧多樣性和關(guān)聯(lián)性的最終的推薦結(jié)果.
本文提出的方法最重要的特征就是個性化的多樣化,其本質(zhì)是根據(jù)用戶的歷史偏好多樣性特征來多樣化用戶推薦列表,本實驗的目的就是來驗證這一?結(jié)論.
作為實驗的第一步,首先對數(shù)據(jù)集進行分析,確定不同用戶的偏好多樣性值(D),以便為本實驗選擇用戶.實驗定義了3個多樣性級別,并分別為每個級別隨機選擇了用戶.這3個級別分別是高多樣性:(0.7≤D≤1)、中等多樣性(0.4≤D<0.7)和低多樣性(0≤D<0.4).接下來為每個級別分別隨機選擇具有相同評分?jǐn)?shù)目的一個用戶,對每一個用戶采用專家推薦模塊產(chǎn)生候選推薦列表,然后采用個性化的多樣性優(yōu)化產(chǎn)生最終推薦列表.因為本實驗是基于多樣化的,所以設(shè)定在式(6)中設(shè)定=0以達到多樣性的最大化,同時為每個用戶生成多樣化分布模型.最后,分析生成的最終推薦列表和用戶多樣化特征模型,來驗證多樣化過程是否是基于個性化的.
如圖2所示,用戶偏好特征文件表明用戶有多種不同的偏好,但是有部分類型的電影涉及較少,其中恐怖片對于該用戶來說是最新奇的類型,因為特征文件中不包含任何恐怖電影.表2顯示為該用戶生成的推薦列表,其中包括3部對這個用戶來說是新奇的恐怖電影,當(dāng)然還包括懸念、犯罪和冒險等其他涉獵較少的類型.應(yīng)該注意的是,該用戶的推薦列表中用戶比較喜歡的喜劇和愛情電影與之前很少涉及的恐怖、懸念等類型電影數(shù)目基本相當(dāng).
圖2?高多樣性用戶偏好分布
圖3顯示了中等多樣性用戶的特征偏好和推薦結(jié)果,從表中結(jié)果可以看出,用戶的多樣性特征文件雖然是由不同種類型電影組成,但是不具備高多樣性特征,這是因為與圖2中的數(shù)據(jù)對比,該用戶觀看電影相對比較集中,而不是在各種類型中均勻分布.分析表2中該用戶的推薦列表,可以發(fā)現(xiàn)包括各種各樣的類型,既有用戶最喜歡的類型,也有新穎的類型.在新穎的類型中,涵蓋了兒童、懸念和音樂類型,還涵蓋了用戶最喜歡的戲劇,喜劇和愛情類型.因此,實驗結(jié)果證實推薦技術(shù)能夠使中等多樣性水平的用戶推薦列表多樣化,既包括新類型,也包括用戶最喜愛的類型,只不過用戶喜愛類型的數(shù)目要多于新穎類型的數(shù)目.
圖3?中等多樣性用戶偏好分布
表2?3種不同多樣性值的用戶對應(yīng)推薦列表
Tab.2?Recommender lists of three different diversity users
圖4顯示了低多樣性用戶的特征偏好和推薦結(jié)果,該用戶最偏好的類型是動作和驚悚片,很少看其他類型的電影,從圖中看該用戶的偏好是同質(zhì)的.表2中顯示該用戶的推薦列表中包含很多動作片和驚悚類電影,都是用戶最偏好的類型,同時還包括冒險、浪漫和犯罪電影,這些也是用戶在過去有過偏好的類型.實驗結(jié)果表明,該推薦列表也進行了有效的個性化的多樣化,主要的推薦項目是用戶最偏好的類別,很少涉及新穎的類型.
圖4?低多樣性用戶偏好分布
進一步分析實驗結(jié)果,高多樣性偏好用戶的結(jié)果分析表明,本文提出的方法產(chǎn)生了一個包含更多新穎的項目、具有高度多樣化偏好的多樣化的推薦列表.本實驗中,候選列表是采用專家推薦模塊技術(shù)生成,專家推薦模塊推薦過程考慮用戶過去的偏好以及專家評分,正是因為考慮到專家評分,所以推薦才會出現(xiàn)新穎的項目.例如對高多樣性的用戶推薦恐怖類型電影,這表明專家的評分對新穎的項目添加到最后推薦名單有明顯的影響.同時分析還表明,對低多樣性用戶的推薦更多地傾向于與他過去偏好類似的項目.實驗表明,本文提出的方法能夠?qū)崿F(xiàn)個性化的多樣化推薦.
總的來說,本文提出的專家推薦模塊方法雖然在預(yù)測評分方面略有遜色,但是在增加新項目提高多樣性方面比傳統(tǒng)的基于用戶的協(xié)同過濾有較大的提高.個性化的多樣性優(yōu)化模塊與專家推薦模塊能夠在控制的多樣性和相關(guān)性的權(quán)衡的基礎(chǔ)上個性化地實現(xiàn)多樣化推薦.
本文提出了一種在推薦過程中利用專家評分和用戶過去的偏好,推薦列表生成過程中提高多樣性和相關(guān)性的技術(shù),同時還設(shè)計了不僅能夠控制多樣性和相關(guān)性之間的權(quán)衡,而且以個性化的方式進行多樣化的推薦技術(shù).實驗表明,本文提出的方法實現(xiàn)了個性化的多樣性優(yōu)化,并且推薦結(jié)果多樣性優(yōu)于目前流行的推薦方法.
接下來的研究工作主要考慮兩個方面:一是探索依靠專家評分之外的推薦新穎項目的方法;二是研究不依靠后過濾技術(shù),通過專家推薦模塊和個性化的多樣性優(yōu)化模塊優(yōu)化整個推薦過程,實現(xiàn)個性化推薦.
[1] Adomavicius G,Kwon Y. Optimization-based approaches for maximizing aggregate recommendation diversity[J].,2014(24):896-911.
[2] Castells P,Wang J,Lara R,et al. Workshop on novelty and diversity in recommender systems:Diversity [C]//. Chicago,USA,2011:393-394.
[3] Castells P,Vargas S,Wang J. Novelty and diversity metrics for recommender systems:Choice,discovery and relevance[C]//. Chicago,USA,2013:29-37.
[4] Barraza-Urbina A,Heitmann B,Hayes C,et al. Xplodiv:An exploitation-exploration aware diversification approach for recommender systems[C]//28. Hollywod,USA,2015:1-6.
[5] Cho Y H,Kim J K. Application of Web usage mining and product taxonomy to collaborative recommendations in e-commerce[J].,2004(26):233-246.
[6] Bobadilla T,Ortega F,Hernando A,et al. Recommender systems survey[J].,2013(46):109-132.
[7] Yu F,Zeng A,Gillard S,et al. Network-based recommendation algorithms:A review[J].:,2016(452):192-208.
[8] Zhou T,Jiang L L,Su R Q. Effect of initial configuration on network based recommendation[J].,2008,81(5):58004.
[9] Candillier L,Chevalier M,Dudognon D,et al. Diversity in recommender systems:Bridging the gap between users and systems[C]//. Venice,Italy,2013:48-58.
[10] Castagnos S,Brun A,Boyer A. When diversity is needed…but not expected![C]//3. Lisbon,Portugal,2013:44-50.
[11] 劉?赫,張相洪. 一種基于最大邊緣相關(guān)的特征選擇方法[J]. 計算機研究與發(fā)展,2012,49(2):354-360. Liu He,Zhang Xianghong. A feature selection method based on maximal marginal revelance[J].,2012,49(2):354-360(in Chinese).
[12] Boim R,Milo T,Novgorodov S. Diversification and refinement in collaborative filtering recommender[C]//. Glasgow,UK,2011:739-744.
[13] Smyth B,McClave P. Similarity vs. diversity[C]//. Vancouver,Canada,2001:347-361.
[14] Adomavicius G,Kwon Y. Overcoming accuracy-diversity tradeoff in recommender systems:A variance-based approach[C]//’. Paris,F(xiàn)rance,2008.
[15] Sandoval S V. Novelty and diversity evaluation and enhancement in recommender systems[D]. Madrid:Departamento de Ingenier?-a Inform?atica,Escuela Polit?lcnica Superior,Universidad Aut?snoma,2015.
[16] Pathak A,Patra B K. A knowledge reuse framework for improving novelty and diversity in recommendations [C]//2. Bangalore,India,2015:11-19.
[17] Vargas S. Novelty and diversity enhancement and evaluation in recommender systems[C]//. Golden Coast,Astralia,2014:1281.
[18] Jiang H,Qi X,Sun H. Choice-based recommender systems:A unified approach to achieving relevancy and diversity[J].,2014,62(5):973-993.
[19] Chen L,Wu W,He L. How personality influences users’ needs for recommendation diversity?[C]//’13. Paris,F(xiàn)rance,2013:829-834.
[20] Tintarev N,Dennis M,Masthoff J. Adapting recommendation diversity to openness to experience:A study of human behavior[C]//,,. Rome,Italy,2013:190-202.
[21] Noia T D,Ostuni V C,Rosati J,et al. An analysis of users’ propensity toward diversity in recommendations [C]//8. SiliconValley,USA,2014:285-288.
[22] Zhang F G,Liu Y H,Xiong Q Q. A novel mass diffusion recommendation algorithm based on user’s nearest neighbors[C]//. Jeju Island,Korea,2016:254-261.
[23] Vargas S,Castells P. Exploiting the diversity of user preferences for recommendation[C]//10. Paris,F(xiàn)rance,2013:129-136.
(責(zé)任編輯:王曉燕)
Recommendation Algorithm for Optimizing Diversity Based on Personalization
Jiang Shuhao1, 2,Zhang Liyi1, 2,Zhang Zhixin2
School of Electrical and Information Engineering,Tianjin University,Tianjin 300072,China; 2.School of Information Engineering,Tianjin University of Commerce,Tianjin 300134,China)
A recommendation algorithm for optimizing diversity based on personalization,which is capable of controlling the trade-off between accuracy and diversity,is proposed for different people's preference for diversity.The method,utilizing the recommendation technique which relies on historical user preferences and expert evaluation of project categories,generates a diversified candidate recommendation list including new projects and related projects.Then according to user’s diversity preference,the post-filtering approaches are employed to generate the final diversified recommendation list.Finally,the experiments and evaluation show that the proposed method can effectively improve the diversity of recommender lists,and achieve personalized diversification process.
recommender;diversity;personalization;novelty;relevance
TP391
A
0493-2137(2018)10-1042-08
10.11784/tdxbz201708037
2017-08-17;
2018-03-30.
姜書浩(1980— ),男,博士研究生,副教授,mr_jiang1980@163.com.
張立毅,zhangliyi@tjcu.edu.cn.