史艷翠,齊嘉琳
(天津科技大學(xué)人工智能學(xué)院,天津 300457)
隨著推薦系統(tǒng)技術(shù)的不斷發(fā)展,現(xiàn)已廣泛應(yīng)用于各種領(lǐng)域,如在電子商務(wù)領(lǐng)域中可根據(jù)用戶的購(gòu)物記錄為用戶推薦可能需要的物品,在新聞推薦領(lǐng)域中根據(jù)用戶經(jīng)常瀏覽的內(nèi)容為其推薦相似新聞等.現(xiàn)如今,生活質(zhì)量的不斷提高使得人們?cè)陲嬍撤矫嬉灿兄叩囊螅@給餐飲業(yè)的發(fā)展提供了良好的條件.常用的餐廳點(diǎn)評(píng)網(wǎng)站有大眾點(diǎn)評(píng)、Yelp、Foursquare等.面對(duì)海量的用戶和餐廳信息,傳統(tǒng)個(gè)性化推薦存在著計(jì)算量大等問題,為了降低計(jì)算時(shí)間和提高效率,常使用群組推薦技術(shù).
在推薦算法中,無論是個(gè)性化推薦還是群組推薦,使用原始的用戶–評(píng)分矩陣進(jìn)行計(jì)算的情況占多數(shù).任志波等[1]在進(jìn)行個(gè)性化推薦時(shí),對(duì)評(píng)分信任和社交信任賦予自適應(yīng)權(quán)重,提高了推薦的效果.徐芳[2]提出一種新穎的雙自編碼器矩陣分解模型,利用評(píng)分矩陣和用戶項(xiàng)目評(píng)論信息提高推薦準(zhǔn)確率.這些算法中使用的矩陣均為原始的評(píng)分矩陣,雖能夠提高算法的準(zhǔn)確率,但仍存在數(shù)據(jù)稀疏的問題.
隨著社交網(wǎng)絡(luò)的出現(xiàn)和發(fā)展,研究者們將社會(huì)化關(guān)系引入到推薦系統(tǒng)中.Capuano等[3]提出根據(jù)組內(nèi)用戶的社會(huì)化關(guān)系和社交網(wǎng)絡(luò)估算等相關(guān)信息計(jì)算群組內(nèi)各個(gè)用戶之間的影響力,形成影響力網(wǎng)絡(luò),并基于這種網(wǎng)絡(luò)和現(xiàn)有的評(píng)估偏好的方法預(yù)測(cè)用戶的偏好,模擬了用戶的偏好是否受到其所處的社會(huì)化關(guān)系網(wǎng)絡(luò).鄧志彬等[4]提出了一種融合社會(huì)網(wǎng)絡(luò)用戶相似度的社會(huì)推薦算法SRSUS,利用社會(huì)關(guān)系計(jì)算用戶的社會(huì)信任度,并通過實(shí)驗(yàn)表明該算法總體上優(yōu)于其他社交推薦算法.有的學(xué)者將用戶間的信任關(guān)系引入到用戶偏好獲取模型中,以獲得更準(zhǔn)確的用戶偏好.劉輝等[5]提出一種融合用戶相似度、地理位置和信任關(guān)系的混合推薦算法,在信任關(guān)系方面根據(jù)社會(huì)地位的計(jì)算方法重構(gòu)信任度,提高推薦的準(zhǔn)確性.李衛(wèi)疆等[6]提出一種融合項(xiàng)目流行度和用戶信任關(guān)系的矩陣分解推薦算法,通過矩陣分解同時(shí)傳遞信任和推薦項(xiàng)目,使覆蓋率得到了提升.上述推薦算法考慮了用戶間的信任關(guān)系,但在計(jì)算用戶間的信任度時(shí)只考慮了單一因素的影響,沒有從多角度考慮其他因素對(duì)用戶信任度的影響.
在進(jìn)行偏好融合時(shí),胡川等[7]分析了推薦模型和模型融合的群組偏好融合方法后,提出增強(qiáng)的群組偏好融合方法,提高了推薦的準(zhǔn)確性與多樣性.吳云昌等[8]介紹了幾種不同的融合策略,并比較了它們的優(yōu)缺點(diǎn),得出策略的選擇由不同的應(yīng)用場(chǎng)景而定的結(jié)論.在偏好融合方法的選擇上,每一種融合策略都有其各自的優(yōu)缺點(diǎn),在一些組推薦系統(tǒng)的典型應(yīng)用中,偏好融合策略一般是根據(jù)實(shí)際情況得出的.
通過分析發(fā)現(xiàn),現(xiàn)有的研究工作大多集中于個(gè)性化推薦,對(duì)群組推薦的研究偏少,在計(jì)算用戶關(guān)系時(shí),忽略了影響信任度的因素,且存在數(shù)據(jù)稀疏的問題.因此,為了解決上述問題,更好地實(shí)現(xiàn)群組偏好融合,本文提出一種融合用戶偏好和信任關(guān)系的混合群組餐廳推薦算法,通過計(jì)算用戶對(duì)不同餐廳類別的偏好,得到用戶–餐廳類別偏好矩陣,代替原始的用戶–餐廳評(píng)分矩陣,降低數(shù)據(jù)的稀疏性;從公平性、準(zhǔn)確性、影響力三方面考慮用戶的信任度,提高準(zhǔn)確性;融合群組偏好時(shí),采用改進(jìn)比重融合策略.
獲取用戶偏好的方法主要有兩種,顯示獲取和隱式獲取.前者使用用戶對(duì)項(xiàng)目的評(píng)分作為依據(jù),后者需要通過分析用戶的行為特征得到用戶的偏好.通過計(jì)算用戶對(duì)不同餐廳類別的偏好程度,代替原始的用戶-餐廳評(píng)分矩陣,能更直觀地了解用戶的口味和偏好,并緩解數(shù)據(jù)的稀疏性問題.
原始的用戶-餐廳評(píng)分矩陣可以用m×n階矩陣表示為Qm,n.為了更清晰地描述用戶對(duì)餐廳的偏好程度,引用用戶偏好模型,用戶u對(duì)某一餐廳類別Si的偏好可以通過式(1)進(jìn)行計(jì)算.其中:pref(u,Si)為用戶u對(duì)餐廳類別Si的偏好評(píng)分;N(u,Si)為用戶u去過餐廳類別Si的次數(shù);|Nu|為用戶u去過的所有餐廳的次數(shù).
計(jì)算出用戶對(duì)每個(gè)去過的餐廳類型的偏好后,將得到的值代替原先的用戶-餐廳評(píng)分矩陣,得到一個(gè)全新的用戶-餐廳偏好矩陣.但該矩陣中元素的值僅代表用戶對(duì)該餐廳所屬類別的偏好值,并不能代表用戶對(duì)該餐廳的實(shí)際評(píng)分.得到的新矩陣用Rm,s表示.
在新矩陣中,S表示餐廳類別的數(shù)量,在原始矩陣中,n表示所有的餐廳.比較可知,S遠(yuǎn)小于n,這就大大降低了數(shù)據(jù)的稀疏性.
用戶選擇餐廳就餐時(shí),不僅會(huì)受到朋友等社會(huì)關(guān)系的影響,用戶間的信任關(guān)系也是影響用戶選擇餐廳的重要因素.如果僅根據(jù)用戶間的偏好的相似度進(jìn)行群組劃分,可能會(huì)導(dǎo)致推薦結(jié)果不準(zhǔn)確.在實(shí)際情況下,用戶對(duì)餐廳的選擇會(huì)因?yàn)閷?duì)不同用戶的信任程度的差別而有所不同,所以用戶對(duì)其鄰居用戶的信任程度也是影響推薦質(zhì)量的重要因素.
在傳統(tǒng)的推薦算法中,對(duì)用戶評(píng)分的相似度關(guān)注較多,但前提是鄰居用戶的評(píng)分?jǐn)?shù)據(jù)都是真實(shí)且可靠的,在實(shí)際生活中,這個(gè)前提很難得到保證.例如某些不良的經(jīng)營(yíng)者為獲取利潤(rùn),采取一些不正當(dāng)?shù)氖侄蝹卧煸u(píng)價(jià)提高自己產(chǎn)品的好評(píng)率.如果使用這些數(shù)據(jù)進(jìn)行預(yù)測(cè)評(píng)分或推薦餐廳,會(huì)嚴(yán)重影響推薦結(jié)果.因此,使用用戶間的信任度增加推薦的可靠性.本文主要從用戶的公平性、準(zhǔn)確性和影響力對(duì)信任度進(jìn)行衡量.
每個(gè)用戶都有不同的打分習(xí)慣,這種習(xí)慣的差異性會(huì)直接影響到餐廳的整體評(píng)分,從而導(dǎo)致推薦質(zhì)量下降.因此,利用公平性這一指標(biāo)歸一化用戶的評(píng)分.如果該用戶的所有評(píng)分項(xiàng)目的差異較小,則說明該用戶的評(píng)分較為單一,對(duì)所有去過的餐廳,無論口味是否滿意,評(píng)分都沒有太大變化,這種情況下,該類用戶的評(píng)分不具有參考性;相反,如果該用戶對(duì)餐廳的評(píng)分的差異較大,則很有可能說明該用戶是按照餐廳的實(shí)際情況進(jìn)行評(píng)分的.這些用戶的評(píng)分對(duì)于未去過該餐廳的用戶來說,參考價(jià)值較高.若用戶u的評(píng)分公平性記為F(u),則可通過式(2)進(jìn)行計(jì)算.
其中:Eu為用戶u對(duì)所有評(píng)分的餐廳類別的集合,|Eu|為集合的大小;Ru,i為用戶u對(duì)該集合Eu中某類餐廳i的偏好評(píng)分;Ru為用戶u對(duì)集合Eu中所有類別餐廳評(píng)分偏好的平均值.
該性能用來衡量用戶對(duì)某餐廳評(píng)分的準(zhǔn)確程度,如果用戶對(duì)某類餐廳的偏好評(píng)分與該餐廳的平均評(píng)分越接近,說明該用戶的評(píng)分越準(zhǔn)確,該用戶的信任度會(huì)提高.將用戶評(píng)分的準(zhǔn)確性記為C(u),通過式(3)進(jìn)行計(jì)算.
其中Ri為所有用戶對(duì)某類餐廳i的評(píng)分的平均值,即某類餐廳i的平均偏好評(píng)分.
考慮到在實(shí)際生活中,有的用戶較為主動(dòng)積極,愿意對(duì)就餐的餐廳發(fā)表意見和感受,而有的用戶很少或幾乎不愿意對(duì)所就餐的餐廳進(jìn)行評(píng)價(jià),這些用戶的人氣值往往很低,并且會(huì)逐漸失去其他用戶的信任.因此,可以認(rèn)為評(píng)價(jià)數(shù)量較多的用戶影響力高于評(píng)價(jià)數(shù)量少的用戶影響力.將用戶的影響力記為I(u),通過式(4)進(jìn)行計(jì)算.
由于Eu為用戶u對(duì)所有評(píng)分的餐廳類別集合,在計(jì)算影響力時(shí),如果只考慮餐廳類別不考慮其他因素,是不合理的.比如用戶A熱衷于火鍋,去了500次火鍋類的餐廳,用戶B去了5種不同類別的餐廳各1次,如果按照式(4)計(jì)算,則用戶B的影響力大于用戶A的影響力.但顯然,用戶A要比用戶B更具影響力.因此,在計(jì)算用戶影響力時(shí)還需考慮用戶對(duì)不同類別餐廳的偏好程度,改進(jìn)后的用戶影響力按式(5)計(jì)算.
綜合考慮用戶去過的餐廳類別數(shù)量和用戶對(duì)不同類別餐廳的偏好程度可知,這兩者的乘積越大,說明該用戶的影響力越大,被信任的程度越高;反之,影響力越小,用戶越不被信任.
在整個(gè)推薦的過程中,用戶評(píng)分越公平、準(zhǔn)確,并且影響力高,則該用戶越值得信任,用戶的最終信任度T(u)可以由上述3個(gè)指標(biāo)表示,計(jì)算公式見式(6).
其中λ為權(quán)重值,且λ1+λ2+λ3=1.
相似度計(jì)算的準(zhǔn)確性是影響推薦質(zhì)量的重要因素.使用較多的相似度計(jì)算方法包括歐式距離相似度、Jaccard相似度、余弦相似度、Pearson相似度等.其中Pearson相似度計(jì)算方法見式(7).
其中:Ru,i為用戶u對(duì)餐廳類別i的評(píng)分;為用戶u對(duì)所去餐廳的平均評(píng)分;Iuv為用戶u和用戶v共同評(píng)分過的餐廳類別的交集;sim(u,v)為求得的用戶u與用戶v之間的相似度.
在計(jì)算用戶相似度時(shí),考慮到用戶對(duì)相同餐廳類別的簽到時(shí)間間隔可能會(huì)影響用戶間的相似度,因此設(shè)計(jì)一種時(shí)間懲罰函數(shù)模擬這種情況.在相似度計(jì)算方法中引入了用戶評(píng)分間隔時(shí)間,用戶評(píng)分時(shí)間間隔越久,其對(duì)相似度計(jì)算結(jié)果的影響就越大,因此受到的時(shí)間懲罰就應(yīng)該越大.懲罰機(jī)制通過時(shí)間懲罰函數(shù)式(8)實(shí)現(xiàn).
在計(jì)算用戶間的相似度時(shí),用戶對(duì)餐廳類別的偏好度將代替原始的用戶對(duì)餐廳的評(píng)分,同時(shí)考慮了時(shí)間、兩位用戶共同評(píng)分過的餐廳所屬類別的相似度對(duì)用戶相似度的影響,改進(jìn)后的用戶相似度計(jì)算公式見式(9).
其中:sim(u,v)為求得的用戶u與用戶v之間的相似度;K(u)和K(v)分別為用戶u和用戶v評(píng)分過的餐廳所屬的類別.
為了同時(shí)考慮用戶信任關(guān)系與相似關(guān)系,提高用戶偏好預(yù)測(cè)及推薦的整體性能,通過調(diào)整用戶的信任度和相似度的參數(shù),控制這兩種關(guān)系在用戶的相關(guān)度評(píng)分score(u,v)中所占的比重,計(jì)算公式見式(10),其中θ為控制相似度的權(quán)重值.
通過計(jì)算n個(gè)用戶之間的相似度,得到用戶相似度矩陣.通過K-means算法對(duì)用戶進(jìn)行聚類,步驟如下:
(1)在同城的n個(gè)用戶中,隨機(jī)抽取k個(gè)用戶的相關(guān)數(shù)據(jù)作為初始的聚類中心 Sλ= {s1,s2,…,sk}.
(2)計(jì)算其他用戶與這k個(gè)初始中心點(diǎn)的距離di,j,根據(jù)距離決定用戶所屬的初始聚類中心簇.
(3)初次距離計(jì)算完成后,得到初始用戶聚類群,計(jì)算每個(gè)群內(nèi)距離的均值點(diǎn),并把新計(jì)算的均值點(diǎn)與上一次聚類的均值點(diǎn)作差.如果差值量在允許范圍內(nèi)則聚類結(jié)束,得到群組的劃分;否則,當(dāng)前均值點(diǎn)將作為新中心簇重復(fù)第二步與第三步.
通過比較均值融合、痛苦避免均值、最開心和最小痛苦策略發(fā)現(xiàn),這些偏好融合策略有各自的缺點(diǎn).如均值策略選擇評(píng)分均值作為群組評(píng)分,會(huì)引起群組中有較高評(píng)分用戶的不滿;痛苦避免均值策略通過設(shè)置痛苦閾值過濾一部分評(píng)分,但閾值的選擇會(huì)影響結(jié)果;最開心策略和最小痛苦策略分別建立在群組成員最樂觀和最悲觀的情況下,且用戶滿意度較低.
通過占比的不同,使用不同的偏好融合策略.首先,設(shè)置一個(gè)偏好評(píng)分閥值ε,將群組中偏好評(píng)分大于ε的成員為高評(píng)分組,小于ε的為低評(píng)分組.統(tǒng)計(jì)群組g中餐廳類別i的偏好評(píng)分情況,根據(jù)餐廳類別i中高評(píng)分所占比重的不同,使用式(11)中不同的計(jì)算式作為群組g對(duì)某類餐廳i的偏好評(píng)分.
其中:rg,i為群組g對(duì)餐廳類別i的偏好評(píng)分,hi為餐廳類別i中偏好評(píng)分大于ε的高評(píng)分組成員,li為餐廳類別i中偏好評(píng)分小于ε的低評(píng)分組成員,gi為群組g中去過餐廳類別i的成員.這種融合策略通過分組和所占比重的不同,能夠較好地避免均值策略等其他策略中存在的不足,從而進(jìn)行更好的偏好融合,提高推薦的準(zhǔn)確率.
使用Pearson相似度公式(式(12))計(jì)算兩兩群組間的相似度.
其中:rg,i為群組g對(duì)餐廳類別i的偏好評(píng)分,為群組g對(duì)所有餐廳類別的平均偏好評(píng)分,Iuv代表用戶u和用戶v共同評(píng)分過的餐廳類別的交集.
找到每個(gè)群組的相似度最高的群組g’,群組g對(duì)餐廳類別i的預(yù)測(cè)評(píng)分可用式(13)表示.
實(shí)驗(yàn)部分使用的數(shù)據(jù)集是大眾點(diǎn)評(píng)數(shù)據(jù)集,包括用戶信息和商家的屬性信息.用戶信息包括用戶的ID、對(duì)餐廳的評(píng)分、評(píng)論時(shí)間等信息,商家的屬性信息包括商家的ID、餐廳名稱、位置(城市、經(jīng)緯度等)、餐館的種類以及標(biāo)簽等信息.數(shù)據(jù)集包含13218個(gè)用戶對(duì)170類餐廳的評(píng)分.實(shí)驗(yàn)采取隨機(jī)劃分的方式將數(shù)據(jù)集中80%的數(shù)據(jù)作為訓(xùn)練集,20%的數(shù)據(jù)作為測(cè)試集.
準(zhǔn)確度在目前群組推薦算法中使用頻繁,但由于群組推薦與傳統(tǒng)推薦在推薦對(duì)象上有所不同,所以需改進(jìn)原始的準(zhǔn)確度公式以適應(yīng)滿足群組推薦的要求.在餐廳群組推薦中,使用均方根誤差(RMSE)進(jìn)行衡量.
5.3.1 K-means聚類的K值對(duì)SSE的影響
聚類中聚類數(shù)目(K)對(duì)誤差平方和(SSE)的影響如圖1所示.群組劃分的數(shù)量會(huì)影響最終推薦的效果,圖1中SSE的值隨著K的增加而下降,在K為25時(shí),SSE的降幅逐漸趨于平穩(wěn),聚合效果達(dá)到最佳. 因此,后續(xù)實(shí)驗(yàn)中將K設(shè)置為25.5.3.2 用戶信任度影響因素對(duì)RMSE的影響
圖1 聚類中K值對(duì)SSE的影響Fig. 1 Influence of K value on SSE in clustering
該實(shí)驗(yàn)分別單獨(dú)考慮了用戶的公平性(λ1)、準(zhǔn)確性(λ2)和影響力(λ3)因素,并與綜合考慮這3個(gè)因素得到的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比(圖2).
從圖2中可以得出,單獨(dú)考慮用戶的公平性、準(zhǔn)確性或影響力得到的實(shí)驗(yàn)結(jié)果較差,綜合考慮用戶信任度的3個(gè)影響因素可以得到更優(yōu)的實(shí)驗(yàn)結(jié)果.這也驗(yàn)證了前面提到的從多方面考慮用戶信任度的影響因素比傳統(tǒng)的單方面考慮用戶信任度的推薦方法結(jié)果更好.綜合考慮的最優(yōu)實(shí)驗(yàn)結(jié)果的λ值分別為λ1=0.4,λ2=0.4,λ3=0.2.
圖2 用戶信任度影響因素的RMSE比較Fig. 2 Comparison of RMSE values of influencing factors of user trust
5.3.3 用戶相關(guān)度中的參數(shù)θ對(duì)RMSE的影響
用戶相關(guān)度中的參數(shù)θ對(duì)RMSE的影響如圖3所示.當(dāng)θ=0.6,即相似度權(quán)重為0.6時(shí),信任度權(quán)重為0.4時(shí),RMSE取得最小值,此時(shí)推薦結(jié)果最準(zhǔn)確.這從側(cè)面說明在該數(shù)據(jù)集中,用戶間的相似度對(duì)推薦結(jié)果有決定性作用.
圖3 用戶相關(guān)度中的參數(shù)對(duì)RMSE的影響Fig. 3 Influence of parameters in user relevance on recommendation results
5.3.4 不同融合策略的比較
不同融合策略的RMSE比較如圖4所示.
圖4 不同融合策略的RMSE比較Fig. 4 Comparison of RMSE values of different fusion strategies
從圖4可以看出,4種融合策略的RMSE的值隨著聚類數(shù)目的增加而降低,在相同的聚類數(shù)目下,本文提出的改進(jìn)比重融合策略得到的RMSE值低于其他3種常見的融合策略,并在聚類數(shù)目為25時(shí)取得最佳RMSE值,推薦結(jié)果達(dá)到最優(yōu).
5.3.5 不同推薦算法的比較
為了驗(yàn)證本文提出的融合用戶偏好和信任關(guān)系的混合群組推薦算法(UPTGRR),實(shí)驗(yàn)選取文獻(xiàn)[9]中提出的融合傳統(tǒng)信任關(guān)系的協(xié)同過濾算法(TUBCF)、傳統(tǒng)協(xié)同過濾算法(UBCF)、基于Kmeans聚類的協(xié)同過濾推薦算法(K-UBCF),以及文獻(xiàn)[10]提出的結(jié)合用戶特性和群組興趣變化的組推薦算法(GRAUG),比較不同算法的RMSE,結(jié)果如圖5所示.
圖5 不同算法的RMSE值比較Fig. 5 Comparison of RMSE values of different algorithms
從圖5中可以看出,這幾種算法隨著聚類數(shù)目的增加RMSE的值逐漸減小,并在聚類數(shù)目達(dá)到25時(shí)趨于穩(wěn)定.與其他算法相比,本文提出的融合用戶偏好和信任關(guān)系的混合群組推薦算法在RMSE值上更小,說明該算法可以提高推薦準(zhǔn)確性,產(chǎn)生更好的實(shí)驗(yàn)結(jié)果.
本文研究了用戶對(duì)餐廳類別偏好度和用戶間信任關(guān)系的影響因素,提出了融合用戶偏好和信任關(guān)系的混合群組餐廳推薦算法.將用戶對(duì)不同餐廳類別的偏好評(píng)分代替原始的用戶對(duì)餐廳的評(píng)分,降低了數(shù)據(jù)的稀疏性;在計(jì)算用戶信任度時(shí),從公平性、準(zhǔn)確性和影響力方面考慮其對(duì)用戶信任度的影響;計(jì)算用戶間相似度時(shí),考慮了時(shí)間以及用戶共同評(píng)分過的餐廳所屬類別的相似度的影響;對(duì)同城的用戶進(jìn)行聚類后,使用改進(jìn)的比重偏好融合策略預(yù)測(cè)群組偏好,改善了群組推薦的性能.下一步的研究工作是挖掘用戶更多的信息獲取用戶偏好,提高推薦的準(zhǔn)確度.