鄭 偉,李博涵,2,3,王雅楠,秦小麟,2
1(南京航空航天大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,南京 211106) 2(軟件新技術(shù)與產(chǎn)業(yè)化協(xié)同創(chuàng)新中心,南京 210016) 3(江蘇易圖地理信息科技股份有限公司,江蘇 揚(yáng)州 225000)
在當(dāng)今信息時(shí)代當(dāng)中,電子商務(wù)的發(fā)展十分迅速,并且在日常生活當(dāng)中得到了廣泛的普及,隨著網(wǎng)絡(luò)信息的飛速增長(zhǎng),信息過(guò)載的問(wèn)題日益嚴(yán)重,而推薦系統(tǒng)(Recommender Systems)可以有效緩解該問(wèn)題,因此推薦系統(tǒng)已經(jīng)逐漸成為人們關(guān)注和研究的焦點(diǎn)[1].目前大多數(shù)領(lǐng)域的推薦系統(tǒng)僅僅是針對(duì)單個(gè)用戶進(jìn)行推薦,然而在日常生活中用戶的很多消費(fèi)行為都是以組群的形式參與的,比如多個(gè)用戶一起去聚餐、旅行、看電影、訂外賣等,針對(duì)這種多個(gè)用戶參與的情況,推薦系統(tǒng)則需要考慮到組內(nèi)用戶之間的協(xié)同問(wèn)題,因此其算法設(shè)計(jì)和模型實(shí)現(xiàn)過(guò)程要比單用戶的推薦系統(tǒng)更為復(fù)雜,這種由多個(gè)用戶共同參與的推薦系統(tǒng)被稱之為組推薦(Group Recommendations)[2].組推薦與單用戶推薦在過(guò)程上最主要差別是組推薦需要對(duì)組成員的偏好進(jìn)行融合,并通過(guò)各種形式的融合策略使推薦結(jié)果在總體滿意度、公平性、可理解性方面達(dá)到相應(yīng)的需求.
在組推薦的過(guò)程中,由于群組成員準(zhǔn)備共同進(jìn)行消費(fèi)活動(dòng),所以一般情況下組內(nèi)成員之間會(huì)進(jìn)行一些交互活動(dòng)或?qū)⒁M(jìn)行一些交互活動(dòng),比如互相交流一下自己曾經(jīng)的消費(fèi)狀況或者自己的喜好等,而這些交互活動(dòng)往往會(huì)對(duì)組內(nèi)其他成員的未知偏好造成一定影響,比如現(xiàn)實(shí)生活中存在如下實(shí)例.
例:A、B、C三個(gè)用戶相約看電影.其中,A曾經(jīng)觀看過(guò)電影I并且對(duì)電影I進(jìn)行過(guò)評(píng)分,而B(niǎo)和C并未觀看過(guò)電影I,也就是說(shuō)用戶A對(duì)電影I的偏好已知而用戶B、C對(duì)電影I的偏好未知.因此如果三個(gè)用戶之間關(guān)于電影I發(fā)生交互,那么A對(duì)電影I的偏好(評(píng)分)在交互過(guò)程中將會(huì)在一定程度上影響到B和C對(duì)電影I的未知偏好.
目前大多數(shù)的組推薦算法當(dāng)中,并沒(méi)有考慮到上述這種交互關(guān)系,然而這種交互關(guān)系的影響在組推薦當(dāng)中往往尤為重要,這也是組推薦區(qū)別于單用戶推薦的主要特性之一.雖然已經(jīng)有部分組推薦的研究工作當(dāng)中考慮到了成員交互的這種影響關(guān)系,但是這些研究工作著重研究的是在偏好融合過(guò)程中的組內(nèi)成員影響關(guān)系,其主要思想是根據(jù)組內(nèi)成員的特征、角色、影響力等因素給每個(gè)用戶分配不同的權(quán)重,然后根據(jù)該權(quán)重對(duì)成員的偏好進(jìn)行融合,通過(guò)用戶權(quán)重的方式去體現(xiàn)用戶之間的這種交互關(guān)系,這些方式都無(wú)法體現(xiàn)出群組中已知偏好對(duì)于未知偏好的影響作用.
本文提出的偏好交互模型與以往組推薦中的偏好交互有所不同,模型著重考慮的是偏好交互對(duì)于組內(nèi)成員中未評(píng)分項(xiàng)的影響,也就是說(shuō)如果組內(nèi)的某個(gè)成員對(duì)于特定物品的評(píng)分未知,那么就表明該成員對(duì)于該物品完全不了解,此時(shí)基于情緒傳染以及一致性等社會(huì)現(xiàn)象[3],該成員對(duì)該物品的偏好自然地會(huì)受到組內(nèi)其他已評(píng)分用戶的影響,該種類型的影響區(qū)別于相關(guān)文獻(xiàn)中的用戶權(quán)重的交互方式,因?yàn)閷?duì)于未知的物品,人們對(duì)他人的依賴作用會(huì)加大,從而其潛在偏好不單純受限于組內(nèi)其他用戶在群組中影響力因素的影響.
基于以上考慮,本文的工作主要是針對(duì)在組推薦中組內(nèi)用戶評(píng)分預(yù)測(cè)過(guò)程的優(yōu)化處理,為了在組推薦過(guò)程中體現(xiàn)出以上這種影響關(guān)系,提出了一種融合偏好交互的組推薦算法模型,其主要思想是在用戶評(píng)分預(yù)測(cè)的過(guò)程中加入偏好交互的因素,而并非局限于偏好融合過(guò)程,并通過(guò)用戶的歷史成組信息以及推薦后評(píng)分反饋生成用戶的個(gè)性化組推薦參數(shù),從而在推薦過(guò)程當(dāng)中實(shí)現(xiàn)用戶之間偏好的模擬交互,進(jìn)而提高推薦結(jié)果的真實(shí)滿意度和準(zhǔn)確率,主要有以下貢獻(xiàn):
1)提出了傳統(tǒng)組推薦系統(tǒng)中未考慮到的影響因素,即組內(nèi)已評(píng)分用戶對(duì)未評(píng)分用戶潛在偏好的影響,并分析了其影響對(duì)組推薦的重要性.
2)基于用戶間潛在的偏好影響,設(shè)計(jì)了模擬交互的組推薦偏好預(yù)測(cè)模型.該模型作為一種組推薦偏好預(yù)測(cè)的優(yōu)化,可以與其他組推薦算法結(jié)合從而提高推薦結(jié)果的準(zhǔn)確率.
3)基于上述預(yù)測(cè)模型,提出了一種偏好模擬交互式的組推薦系統(tǒng)框架.通過(guò)該框架,可以將算法模型應(yīng)用到實(shí)際組推薦當(dāng)中,增加其實(shí)用性.
4)將本模型與UBCF與IBCF算法結(jié)合,并通過(guò)使用MovieLens數(shù)據(jù)集對(duì)模型的性能進(jìn)行評(píng)估和驗(yàn)證,實(shí)驗(yàn)結(jié)果表明在存在偏好交互作用的群組當(dāng)中,融合偏好交互的算法的表現(xiàn)明顯優(yōu)于傳統(tǒng)算法.
推薦系統(tǒng)對(duì)于用戶偏好預(yù)測(cè)一般采用協(xié)同過(guò)濾的方法,該方法是通過(guò)相似度測(cè)量去預(yù)測(cè)推薦項(xiàng).按照不同的相似度計(jì)算對(duì)象協(xié)同過(guò)濾主要分為兩種類型:基于用戶的協(xié)同過(guò)濾(UBCF)和基于物品的協(xié)同過(guò)濾(IBCF).當(dāng)擁有用戶-物品評(píng)分矩陣時(shí),需要計(jì)算用戶之間或物品之間的相似度,在推薦系統(tǒng)中通常會(huì)使用皮爾遜相似度,以UBCF為例,皮爾遜相似度計(jì)算用戶u和用戶v之間的相似度公式如下:
(1)
其中ru,i為用戶u對(duì)于物品i的評(píng)分,如果將∑i∈I替換成∑i∈Iu∩Iv,公式則變?yōu)橹豢紤]用戶u,v共同評(píng)分的項(xiàng)目,得到的sim(u,v)取值為-1到1,其值越高表示相似度越高.
在獲得了用戶之間的相似度后,可以得到與目標(biāo)用戶u相似的一組用戶集合S,于是目標(biāo)用戶u對(duì)于物品i的預(yù)測(cè)評(píng)分可以表示為:
(2)
對(duì)于IBCF的相似度計(jì)算以及評(píng)分預(yù)測(cè)公式也可根據(jù)上述方法相似得出,不再羅列.
傳統(tǒng)的推薦系統(tǒng)是針對(duì)單個(gè)用戶進(jìn)行推薦的,那么對(duì)用戶的未評(píng)分項(xiàng)進(jìn)行預(yù)測(cè)之后就可以基于用戶-物品的評(píng)分矩陣進(jìn)行物品的推薦了,然而對(duì)于組推薦而言,推薦的結(jié)果需要滿足所有組內(nèi)成員的需求,因此還需要考慮到對(duì)所有組內(nèi)成員進(jìn)行協(xié)同的問(wèn)題,進(jìn)而需要通過(guò)一定的融合策略對(duì)組內(nèi)成員的偏好進(jìn)行融合.
根據(jù)在組推薦中偏好融合發(fā)生的階段不同,偏好融合的內(nèi)容也不同,主要分為兩類:推薦結(jié)果融合[12]和評(píng)分融合[11].推薦結(jié)果融合是指先根據(jù)組內(nèi)用戶的個(gè)人偏好生成其個(gè)人的推薦列表,然后再對(duì)組內(nèi)所有用戶的個(gè)人推薦列表按照融合策略進(jìn)行融合得到組的推薦列表.評(píng)分融合是指先將組內(nèi)的所有成員的評(píng)分偏好融合成一個(gè)總體的偏好評(píng)分作為群組的評(píng)分,然后再根據(jù)該評(píng)分對(duì)組進(jìn)行進(jìn)一步推薦.由于偏好融合過(guò)程當(dāng)中會(huì)涉及到每個(gè)用戶對(duì)候選物品的評(píng)分,所以對(duì)于用戶未評(píng)分項(xiàng)目經(jīng)常需要先對(duì)其進(jìn)行預(yù)測(cè),然后在對(duì)組成員的偏好進(jìn)行融合,因此該過(guò)程多與協(xié)同過(guò)濾方法結(jié)合來(lái)最終生成組推薦的推薦結(jié)果.
MusicFX[13]是最早的組推薦研究工作之一,它的方法是分析個(gè)人用戶的偏好,為用戶組找到相對(duì)合適的音樂(lè)去播放.PolyLens[15]是單用戶推薦系統(tǒng)MovieLens的一個(gè)擴(kuò)展,它目的是為群組用戶去推薦合適的電影,它是通過(guò)協(xié)同過(guò)濾去預(yù)測(cè)個(gè)人未評(píng)分項(xiàng),融合個(gè)人偏好最終得到組的整體偏好.除此之外,Gartrell等人[16]利用了社會(huì)關(guān)系對(duì)偏好影響的交互作用,他們提出了一種一致性函數(shù),函數(shù)合并了三大要素:分歧要素,社會(huì)要素和專家要素,首先將這三大要素進(jìn)行量化,然后使用一致性函數(shù)將其合并為一個(gè)單獨(dú)的值,該方法可以高效地合并個(gè)人推薦列表.Chen等人[6]提出了一種在組推薦融合中加入交互的方法,他認(rèn)為在群組推薦融合的過(guò)程中不同用戶擁有著不同的群組影響力,并通過(guò)遺傳算法去獲取組內(nèi)成員的權(quán)重,一定程度上提高了偏好融合過(guò)程的公平性.Campos等人[17]用貝葉斯網(wǎng)絡(luò)表示群組成員間的交互及群組決策過(guò)程,通過(guò)貝葉斯網(wǎng)絡(luò)學(xué)習(xí)方法根據(jù)用戶歷史評(píng)分獲取群組成員間的偏好影響關(guān)系.后續(xù)也有很多的研究工作通過(guò)各種方法去獲取組推薦中不同用戶的影響度權(quán)重.
經(jīng)調(diào)研,雖然現(xiàn)有的部分算法提及到了用戶之間的偏好交互,但其交互過(guò)程與本文提出算法模型的交互過(guò)程兩者的立足點(diǎn)不同,之間并不沖突,其主要區(qū)別如下:現(xiàn)有文獻(xiàn)的交互過(guò)程其關(guān)鍵在于權(quán)重,即不同用戶的不同影響力,其交互作用于推薦融合的過(guò)程.本文算法中的交互過(guò)程其關(guān)鍵在于未知偏好受到的影響,其交互作用于評(píng)分預(yù)測(cè)的過(guò)程.綜上,本文中的交互作為傳統(tǒng)組推薦算法的一種補(bǔ)充仍具有一定的研究意義.
在組推薦當(dāng)中,由于參與到推薦的是一組用戶,在群組中用戶之間必然存在互相的關(guān)聯(lián),從而必不可少會(huì)發(fā)生一些交互活動(dòng),群組中某些用戶的未知項(xiàng)在交互的過(guò)程當(dāng)中就會(huì)受到組內(nèi)其他成員的影響,從而改變?nèi)航M成員的偏好,比如,將引言當(dāng)中實(shí)例進(jìn)行展開(kāi)說(shuō)明,由用戶A、B、C組成的群組G準(zhǔn)備共同觀看一場(chǎng)電影,他們對(duì)于Titanic,Star Wars兩部電影的評(píng)分記錄如圖1,其中“?”表示該用戶并未做過(guò)評(píng)分即未觀看過(guò)該部電影.在群組G中,對(duì)于Titanic這部電影只有A對(duì)其進(jìn)行過(guò)評(píng)分,而Star War這部電影只有A、B做過(guò)評(píng)分,因此若該組內(nèi)存在交互作用,那么用戶B、C對(duì)于Titanic的未知評(píng)分將會(huì)受到用戶A對(duì)其的評(píng)分5的影響,用戶C對(duì)于Star War的未知評(píng)分將會(huì)受到用戶A對(duì)其評(píng)分3以及用戶B對(duì)其評(píng)分4的影響.
因此基于上述影響關(guān)系,提出了如下的受到組內(nèi)成員偏好交互影響的評(píng)分預(yù)測(cè)方法,其定義如下:
(3)
其中R(I)u,i表示群組g中的用戶u對(duì)于自己未評(píng)分的物品i受到群組其他成員偏好交互影響的評(píng)分.Ug,i表示在群組g中所有對(duì)物品i評(píng)過(guò)分的用戶集合.wu,v表示用戶v對(duì)用戶u的影響權(quán)重,在現(xiàn)實(shí)的情況下,組內(nèi)用戶之間的影響程度可能并不相同,因此在生成R(I)u,i的時(shí)候應(yīng)考慮到不同用戶影響程度的關(guān)系,下面給出一種隱式獲取wu,v的方法.
在現(xiàn)實(shí)生活中關(guān)系越密切的人往往會(huì)一起活動(dòng)的頻率會(huì)更高,彼此之間的影響程度也會(huì)越大,所以wu,v也可以用來(lái)表示為兩人關(guān)系的親密度,因此可以通過(guò)用戶之間的親密度去近似wu,v的值.如果在沒(méi)有用戶之間親密關(guān)系的數(shù)據(jù)來(lái)源的情況下,對(duì)于wu,v的取值可以基于這樣一種思想:如果用戶之間共同進(jìn)行活動(dòng)的次數(shù)越多,那么用戶之間的關(guān)系越密切,wu,v的取值就越高.因此對(duì)于wu,v定義如下:
wu,v=1+lg(su,v+1)
(4)
其中su,v代表用戶u,v之間共同進(jìn)行活動(dòng)的次數(shù),若wu,v隨著su,v的變大而呈線性方式增長(zhǎng),顯然對(duì)于實(shí)際應(yīng)用來(lái)說(shuō)不太合理,因此對(duì)于su,v的值進(jìn)行了對(duì)數(shù)處理來(lái)限制其增長(zhǎng)速度,隨著模型的不斷被使用,wu,v的值也逐漸趨于穩(wěn)定,不同用戶之間的親密度區(qū)別程度也將更加明顯.此外用戶之間的親密程度并非是一成不變的,隨著時(shí)間和環(huán)境等因素的變化用戶之間的親密度可能會(huì)發(fā)生一些變化,因此在對(duì)su,v取值的時(shí)候可以根據(jù)不同的應(yīng)用場(chǎng)景設(shè)定不同的閾值,在增加閾值之后su,v可以如下定義:在n個(gè)月內(nèi)用戶u,v之間共同活動(dòng)的次數(shù),或在最近的n次活動(dòng)中用戶u,v之間共同活動(dòng)的次數(shù),其中n為所設(shè)定的閾值.
由公式(3)已經(jīng)獲得了經(jīng)過(guò)組內(nèi)成員偏好交互影響的評(píng)分預(yù)測(cè)方法,但是由于用戶本身的個(gè)人喜好不同,對(duì)于用戶的未評(píng)分項(xiàng)目,用戶并不會(huì)完完全全放棄個(gè)人原本的喜好,因此用戶依然會(huì)保留用戶本身對(duì)于某項(xiàng)物品的基本看法,對(duì)于這部分因素對(duì)預(yù)測(cè)評(píng)分的影響,將其定義為自我預(yù)測(cè)部分R(S).對(duì)于自我預(yù)測(cè)部分,一般采用以評(píng)分為基準(zhǔn)傳統(tǒng)的偏好預(yù)測(cè)算法,其中最典型的方法就是協(xié)同過(guò)濾,因此在下文中涉及到R(S)的部分主要應(yīng)用UBCF和IBCF兩種方法進(jìn)行說(shuō)明和解釋.
基于上述基本想法,提出了一種融合偏好交互的組推薦偏好預(yù)測(cè)模型,該模型結(jié)合了用戶在群組活動(dòng)中對(duì)于某件物品的偏好交互影響以及自我預(yù)測(cè)的影響,對(duì)于該預(yù)測(cè)模型給出以下基本公式:
Ru,i=euR(I)u,i+(1-eu)R(S)u,i
(5)
其中Ru,i表示用戶u對(duì)物品i的預(yù)測(cè)評(píng)分,eu表示組內(nèi)偏好交互部分對(duì)于用戶u的影響力,1-eu表示自我預(yù)測(cè)部分對(duì)于用戶u的影響力,整個(gè)偏好交互改進(jìn)的評(píng)分預(yù)測(cè)過(guò)程如算法1所示,該算法是將本模型與UBCF算法結(jié)合來(lái)進(jìn)行說(shuō)明的.之所以應(yīng)用到了eu這個(gè)參數(shù),是因?yàn)榭紤]到用戶在群組中受到他人的影響程度的不同,有些用戶自我意識(shí)比較強(qiáng),對(duì)于自己未知的物品也不太容易受到他人的影響,該類用戶的eu值偏低,而有些用戶則恰好相反,他們對(duì)于未知物品的偏好更容易受到他人的影響,該類用戶的eu值則會(huì)偏高.
算法1.融合偏好交互的UBCF算法 I-UBCF
輸入:未評(píng)分項(xiàng)所屬的用戶u和物品i,以及u所屬的群組g
輸出:未評(píng)分項(xiàng)的預(yù)測(cè)評(píng)分Ru,i
1. RatedGroup←getRatedUsers(g,u,i);
//獲取群組內(nèi)所有除用戶u外對(duì)i評(píng)過(guò)分的用戶集合
2.ifrateGroup == nullthen
3.Ru,i← UBCF(u,i);
//評(píng)過(guò)分的用戶集合為空時(shí)應(yīng)用UBCF方法預(yù)測(cè)ru,i
4.else
5.influencedRating← 0;
6.weightAmount← 0;
7.foreveryRatedUserin RatedGroupdo
8.influencedRating←influencedRating+wu,ratedUser(rratedUser,i-ave(rratedUser));
//累加所有組內(nèi)用戶的影響評(píng)分
9.weightAmount←weightAmount+wu,ratedUser;
//累加所有擁有影響作用的用戶權(quán)重
10.endfor
11.RIu,i←ave(ru) +influencedRating/weightAmount;
//計(jì)算偏好交互部分的評(píng)分
12.RSu,i← UBCF(u,i); //計(jì)算自我預(yù)測(cè)部分的評(píng)分
13.Ru,i←eu*RIu,i+ (1-eu)*RSu,i;
//計(jì)算獲取I-UBCF的預(yù)測(cè)評(píng)分
14.endif
15.returnRu,i; //返回未評(píng)分項(xiàng)的預(yù)測(cè)評(píng)分
將上述公式經(jīng)過(guò)變換,可得:
(6)
算法2.交互參數(shù)eu獲取算法CalculateInteraction
輸入: I-UBCF的自我預(yù)測(cè)部分評(píng)分RSu,i,偏好交互評(píng)分RIu,i
推薦后用戶真實(shí)評(píng)分ru,i
輸出:一次獲取的eu值
1.ifRIu,i!=RSu,ithen
3.ifeus< 0then
4.eus← 0; //小于0的值則賦0
5.elseifeus>1then
6.eus← 1; //大于1的值則賦1
7.endif
8.ifEu.length == 10then
9. removeOldestElement(Eu);
//當(dāng)Eu包含元素滿10個(gè)則刪除最早的元素
10.endif
12.endif
13.eu← sum(Eu) / Eu.length;
//計(jì)算Eu中元素的平均值并賦值給eu
14.returneu; //返回eu的值
(7)
表1 群組g的用戶信息表
Table 1 User information Table of group g
LionKing(1)ForrestGump(2)BraveHeart(3)TwelveMonkeys(4)eurugUser1342.22.40.33.1User23544.10.53.9User34.23.154.20.74.2User422.831.60.22.2User5453.34.20.34.1
表2 群組g的用戶6個(gè)月內(nèi)的成組記錄表
Table 2 Grouped record of group g in 6 months
User1User2User3User4User5User1-20031User220-1250User3012-015User4350-1User510151-
首先根據(jù)表2當(dāng)中的數(shù)據(jù),應(yīng)用公式(4)先計(jì)算獲得群組g中用戶之間的親密度wu,v,比如w1,2=1+lg21因此w1,2=2.32,w1,3=1+lg1因此w1,3=1,其他成員間的親密度也可相似得出.
得到成員之間親密度后便可以對(duì)評(píng)分預(yù)測(cè)中偏好交互部分的評(píng)分進(jìn)行計(jì)算了,以User1對(duì)于Brave Heart的偏好交互部分計(jì)算為例.首先獲取組內(nèi)所有對(duì)Brave Heart評(píng)過(guò)分的用戶,可以得到組內(nèi)用戶User2,User3,User4,因此User1對(duì)于Brave Heart的偏好將受到User2,User3,User4的影響,并獲取User1與他們的親密度分別為w1,2=2.32,w1,3=1,w1,4=1.6,由公式(3)可計(jì)算得User1對(duì)于Brave Heart偏好交互部分的預(yù)測(cè)評(píng)分R(I)1,3=3.3,接下來(lái)將自我預(yù)測(cè)和偏好交互兩部分的評(píng)分進(jìn)行融合,由表2,User1的受交互影響度e1=0.3,用戶通過(guò)協(xié)同過(guò)濾自我預(yù)測(cè)的評(píng)分R(S)1,3=2.2,因此由公式(5)可以計(jì)算獲得通過(guò)偏好交互調(diào)整的User1對(duì)Brave Heart的評(píng)分R1,3=2.5.對(duì)于User1對(duì)Twelve Monkeys的評(píng)分預(yù)測(cè)過(guò)程,由于組內(nèi)不存在曾經(jīng)對(duì)Twelve Monkeys評(píng)過(guò)分的用戶,也就是說(shuō)組內(nèi)所有用戶對(duì)于Twelve Monkeys都不了解,所以對(duì)于Twelve Monkeys的預(yù)測(cè)不存在偏好交互的部分.表中剩余部分的組內(nèi)成員未評(píng)分項(xiàng)的預(yù)測(cè)評(píng)分也可以相似得出,經(jīng)過(guò)上述過(guò)程調(diào)整后的群組g用戶信息如表3,其中下劃線的評(píng)分項(xiàng)表示經(jīng)過(guò)偏好交互調(diào)整的評(píng)分.之后便可以根據(jù)該表去進(jìn)行下一步的推薦.
傳統(tǒng)組推薦系統(tǒng)的生命周期可分為4個(gè)階段:收集群組成員數(shù)據(jù)、獲取群組成員偏好信息、生成組推薦、推薦結(jié)果的評(píng)價(jià)和反饋.文獻(xiàn)[14]中給出了一種基于以上4個(gè)階段的四層組推薦系統(tǒng)框架,融合偏好交互的組推薦算法模型在上述框架的基礎(chǔ)上提出了一種偏好交互式的組推薦系統(tǒng)框架,框架變?yōu)榱宋鍖咏Y(jié)構(gòu),并對(duì)每層的內(nèi)容進(jìn)行了調(diào)整,如圖2.
表3 調(diào)整后的群組g的用戶信息表
Table 3 Adjusted user information Table of group g
LionKing(1)ForrestGump(2)BraveHeart(3)TwelveMonkeys(4)eurugUser1342.52.40.33.1User23544.10.23.9User34.13.454.20.74.2User422.731.60.52.2User5453.64.20.34.1
偏好交互式的組推薦系統(tǒng)和傳統(tǒng)的組推薦系統(tǒng)在框架上主要有以下區(qū)別:
1)在數(shù)據(jù)采集層和數(shù)據(jù)預(yù)處理層上,傳統(tǒng)的組推薦系統(tǒng)只需要處理與用戶的基礎(chǔ)偏好相關(guān)數(shù)據(jù),而偏好交互式組推薦系統(tǒng)還要去獲取群組中用戶之間與交互相關(guān)的數(shù)據(jù),所以偏好交互式框架將這兩層分別分成兩部分,基礎(chǔ)數(shù)據(jù)部分和交互數(shù)據(jù)部分.基礎(chǔ)數(shù)據(jù)部分與傳統(tǒng)的框架類似負(fù)責(zé)處理用戶偏好提取相關(guān)的數(shù)據(jù),交互數(shù)據(jù)部分則是負(fù)責(zé)組內(nèi)用戶與交互數(shù)據(jù)提取相關(guān)的數(shù)據(jù),比如公式(4)中wu,v的獲取與公式(7)中eu的獲取都是在該部分中計(jì)算提取出來(lái)的.
2)傳統(tǒng)組推薦在預(yù)測(cè)用戶未評(píng)分項(xiàng)時(shí)不涉及到偏好交互,所以偏好交互層是提出的框架區(qū)別于傳統(tǒng)框架的核心層,其主要作用是將基礎(chǔ)數(shù)據(jù)和交互數(shù)據(jù)進(jìn)行融合處理,從而生成經(jīng)過(guò)用戶交互處理后的偏好及評(píng)分?jǐn)?shù)據(jù).其中主要包括處理評(píng)分矩陣稀疏問(wèn)題的協(xié)同過(guò)濾(如2.1節(jié)中的UBCF與IBCF)、在群組中結(jié)合交互數(shù)據(jù)對(duì)組內(nèi)用戶進(jìn)行交互處理的交互策略(如應(yīng)用公式(4)獲取R(I)u,i的方法)以及將兩部分?jǐn)?shù)據(jù)進(jìn)行合理整合的整合方法(如應(yīng)用公式(5)的整合公式),最終生成適用本次組推薦的交互式個(gè)性化評(píng)分.
3)推薦的推薦生成層的目的是生成最終適用于本次推薦群組的推薦結(jié)果傳統(tǒng)框架中的生成方法在交互式框架中同樣適用,在評(píng)價(jià)反饋層交互式框架中除了效用評(píng)價(jià)之外還新增了結(jié)果反饋的部分,在推薦之后對(duì)于某些重要數(shù)據(jù)進(jìn)行結(jié)果的反饋,對(duì)于某些自適應(yīng)性的推薦算法,收集來(lái)的數(shù)據(jù)將應(yīng)用到對(duì)模型的調(diào)整及一些參數(shù)的改良,如3.2小節(jié)中用戶的個(gè)性化參數(shù)eu的計(jì)算過(guò)程就需要該層獲取的反饋數(shù)據(jù)去進(jìn)行調(diào)整.
框架之中各部分涉及到的算法和策略,除了可以應(yīng)用上文中提到的算法之外,還可以替換成與組推薦相關(guān)適用于相應(yīng)模塊的其他算法,偏好交互式組推薦系統(tǒng)框架可以作為一種研究和設(shè)計(jì)組推薦系統(tǒng)的新思路,在組推薦的過(guò)程中加入偏好交互的作用,在實(shí)際應(yīng)用中使推薦結(jié)果更滿足用戶需求.
本實(shí)驗(yàn)采用的數(shù)據(jù)集是MovieLens 100K數(shù)據(jù)集,該數(shù)據(jù)集是由GroupLens實(shí)驗(yàn)室在movielens網(wǎng)站上對(duì)大量用戶的電影評(píng)分收集得到,其中包括了943個(gè)用戶對(duì)于1682部電影的共100000條五分制(1-5分)的評(píng)分記錄,并且每個(gè)用戶至少已經(jīng)對(duì)20部電影評(píng)過(guò)分.
現(xiàn)存的與推薦系統(tǒng)有關(guān)的數(shù)據(jù)集當(dāng)中,暫時(shí)還不存在與組推薦相關(guān)的數(shù)據(jù),包括實(shí)驗(yàn)所選取的數(shù)據(jù)集,其中僅包含了與用戶個(gè)人相關(guān)的推薦數(shù)據(jù)并不包括任何組信息,因此需要對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,參照[12]中的處理方法,首先將用戶根據(jù)特定的群組規(guī)模進(jìn)行分組,然后根據(jù)用戶間親密度的正態(tài)分布,隨機(jī)模擬用戶之間的親密度wu,v,同時(shí)在不同的偏好交互影響力eu下對(duì)不同算法進(jìn)行比較.為了對(duì)算法進(jìn)行衡量,實(shí)驗(yàn)采用標(biāo)準(zhǔn)的方法將數(shù)據(jù)集分為兩部分,即在數(shù)據(jù)集當(dāng)中隨機(jī)選擇60%的數(shù)據(jù)作為訓(xùn)練集,40%作為測(cè)試集,算法通過(guò)訓(xùn)練集當(dāng)中的數(shù)據(jù)進(jìn)行推薦,然后根據(jù)測(cè)試集中的數(shù)據(jù)對(duì)推薦結(jié)果進(jìn)行驗(yàn)證.具體的評(píng)價(jià)方法將在5.2中給出.
由于數(shù)據(jù)集的來(lái)源是個(gè)人對(duì)于電影的喜好評(píng)分,并且本身不存在任何與組有關(guān)的信息,自然數(shù)據(jù)當(dāng)中不會(huì)存在任何用戶間的交互因素,因此在上述數(shù)據(jù)集的基礎(chǔ)上模擬出了一種帶有交互因素的數(shù)據(jù)集,通過(guò)收集校園中以組的形式報(bào)名的30名志愿者之間彼此的共同消費(fèi)活動(dòng)記錄以及其個(gè)人性格等因素,據(jù)此提取用戶之間親密度以及參數(shù)eu,然后再根據(jù)收集到的數(shù)據(jù)近似出兩者的高斯分布,進(jìn)一步根據(jù)該分布模擬出數(shù)據(jù)集中用戶之間的交互參數(shù),并根據(jù)該參數(shù)對(duì)測(cè)試集的數(shù)據(jù)進(jìn)行調(diào)整,然后把調(diào)整后的數(shù)據(jù)集作為帶有用戶間交互影響的模擬數(shù)據(jù)集進(jìn)行測(cè)試.
實(shí)驗(yàn)的主要目的是將融合偏好交互的組推薦算法與未加交互的算法進(jìn)行比較,并通過(guò)沒(méi)有交互影響的數(shù)據(jù)集與帶有交互影響的數(shù)據(jù)集分別進(jìn)行評(píng)估,從而證明在組推薦評(píng)分預(yù)測(cè)過(guò)程中加入偏好交互的重要性.
實(shí)驗(yàn)將采用RMSE[6]與nDCG[18]兩種評(píng)價(jià)參數(shù)對(duì)算法模型進(jìn)行評(píng)估,RMSE可以去評(píng)估評(píng)分預(yù)測(cè)的質(zhì)量,它表示物品的預(yù)測(cè)評(píng)分與實(shí)際評(píng)分的均方根誤差,其計(jì)算公式如下:
(8)
其中M表示數(shù)據(jù)集中預(yù)測(cè)的評(píng)分?jǐn)?shù)量,Ru,i表示用戶u對(duì)物品i的預(yù)測(cè)評(píng)分,ru,i為真實(shí)評(píng)分.RSME為一個(gè)非負(fù)值,其值越低表示預(yù)測(cè)值的精度越高.
nDCG是標(biāo)準(zhǔn)的信息檢索評(píng)價(jià)指標(biāo),可以用來(lái)評(píng)價(jià)推薦列表的準(zhǔn)確度,其公式如下:
(9)
其中reli表示推薦列表中第i位的物品的真實(shí)評(píng)分,maxDCGn
表示DCGn所有可能的最大值,即n個(gè)物品當(dāng)中最優(yōu)化的排序得到的DCGn的值,n表示推薦結(jié)果的個(gè)數(shù),本實(shí)驗(yàn)中n=5,它更接近于真實(shí)推薦列表的長(zhǎng)度.為了計(jì)算nDCG需要知道用戶對(duì)于推薦列表中所有物品的真實(shí)評(píng)分,然而在測(cè)試集當(dāng)中僅僅包含了少量的用戶對(duì)于推薦列表中物品的評(píng)分,因此采用[12]中的方法去計(jì)算nDCG,即計(jì)算推薦列表在測(cè)試集當(dāng)中投影的nDCG.
本實(shí)驗(yàn)分別對(duì)無(wú)交互影響的原始數(shù)據(jù)集和經(jīng)過(guò)交互調(diào)整的數(shù)據(jù)集分別進(jìn)行了實(shí)驗(yàn),在不同偏好交互影響力eu以及不同組規(guī)模下,對(duì)傳統(tǒng)協(xié)同過(guò)濾算法與融合偏好交互的算法表現(xiàn)進(jìn)行比較.其中I-UBCF表示基于偏好交互的UBCF算法,I-IBCF表示基于偏好交互的IBCF算法.
圖3 原始數(shù)據(jù)集下RSME值對(duì)比Fig.3 Comparison of RSME in original dataset
圖4 原始數(shù)據(jù)集下nDCG值對(duì)比Fig.4 Comparison of nDCG in original dataset
圖5 經(jīng)過(guò)交互調(diào)整的數(shù)據(jù)集下RSME值對(duì)比Fig.5 Comparison of RSME in adjusteddataset
由圖3可以得出,在原始的數(shù)據(jù)集下,由于傳統(tǒng)的協(xié)同過(guò)濾的評(píng)分預(yù)測(cè)方法與分組無(wú)關(guān),所以其RSME值不會(huì)受到組規(guī)模變化的影響,同時(shí)在交互參數(shù)eu值較低的時(shí)候,基于偏好交互的算法預(yù)測(cè)誤差與傳統(tǒng)方法相差不大,然而在eu值較高的時(shí)候,偏好交互的算的效果卻不如傳統(tǒng)方法.圖4的實(shí)驗(yàn)結(jié)果說(shuō)明,在原始數(shù)據(jù)集中,傳統(tǒng)的組推薦算法給出的推薦列表的準(zhǔn)確率要優(yōu)于經(jīng)過(guò)偏好交互改進(jìn)的算法,并且隨著組規(guī)模的逐漸變大差距就越明顯.因此結(jié)合圖3可以得出,提出的偏好交互改進(jìn)的組推薦算法模型并不適用于無(wú)群組內(nèi)無(wú)交互作用的推薦系統(tǒng)中.但由于模型提出的交互參數(shù)是根據(jù)反饋的方式獲取的,因此隨著模型的使用eu的值會(huì)變得適當(dāng)?shù)?并不會(huì)影響到整個(gè)組推薦系統(tǒng)的效率.
圖5是在經(jīng)過(guò)交互調(diào)整的數(shù)據(jù)集下推薦算法RSME值的對(duì)比結(jié)果,由此可知在存在偏好交互的群組之中,經(jīng)過(guò)偏好交互改進(jìn)的組推薦算法預(yù)測(cè)評(píng)分的誤差更小,尤其是在規(guī)模較大的組群當(dāng)中的表現(xiàn)更好.由圖6,在經(jīng)過(guò)交互調(diào)整的數(shù)據(jù)集中,偏好交互改進(jìn)的推薦算法在推薦列表準(zhǔn)確度上的表現(xiàn)有了明顯的提升,尤其是當(dāng)交互參數(shù)eu以及組規(guī)模較大的時(shí)候,因此結(jié)合圖5可以得出,在存在偏好交互作用的群組當(dāng)中,本文提出的算法優(yōu)勢(shì)更明顯.
圖6 經(jīng)過(guò)交互調(diào)整的數(shù)據(jù)集下nDCG值對(duì)比Fig.6 Comparison of nDCG in adjusteddataset
根據(jù)實(shí)驗(yàn)結(jié)果可以得出結(jié)論,當(dāng)群組之中存在偏好交互影響的應(yīng)用場(chǎng)景之中,偏好交互式的組推薦算法優(yōu)于傳統(tǒng)的組推薦算法.在實(shí)際有關(guān)組推薦的應(yīng)用之中,組推薦的目標(biāo)群體往往是存在社交關(guān)系的一些群體,其中大都會(huì)涉及到用戶之間的交互影響,并且在本模型的推薦算法與用戶交互有關(guān)的參數(shù)eu及wu,v都是通過(guò)自適應(yīng)的方式去獲取的,因此被推薦的群組中無(wú)論涉及到的交互作用有多少,算法模型都會(huì)在推薦系統(tǒng)不斷使用過(guò)程當(dāng)中逐漸調(diào)整使其推薦效果達(dá)到最好,因此本文提出的算法模型在涉及到用戶交互的組推薦場(chǎng)景之中具有一定的實(shí)際意義.
在組推薦之中,用戶的未知偏好往往受到組內(nèi)成員的偏好交互的影響作用較大,基于該想法,本文提出了一種基于偏好交互的組推薦算法模型.算法模型對(duì)組推薦的用戶評(píng)分預(yù)測(cè)過(guò)程進(jìn)行了優(yōu)化,將預(yù)測(cè)過(guò)程分為偏好交互和自我預(yù)測(cè)兩部分,從而將用戶的未知偏好在評(píng)分預(yù)測(cè)過(guò)程當(dāng)中加入群組用戶之間偏好交互的影響作用,使推薦結(jié)果更準(zhǔn)確,減少用戶的交互成本.實(shí)驗(yàn)結(jié)果表明,當(dāng)群組之中存在交互作用的情況下,算法模型將會(huì)明顯提高組推薦的準(zhǔn)確度.
[1] Xu Hai-ling,Wu Xiao,Li Xiao-dong,et al.Comparison study of Internet recommendation system[J].Journal of Software,2009,20(2):350-362.
[2] Garcia I,Pajares S,Sebastia L,et al.Preference elicitation techniques for group recommender systems[J].Information Sciences,2012,189(8):155-175.
[3] Masthoff J,Gatt A.In pursuit of satisfaction and the prevention of embarrassment:affective state in group recommender systems[J].User Modeling and User-Adapted Interaction,2006,16(3):281-319.
[4] Aggarwal C C.Recommender systems:the textbook[M].Springer Publishing Company,Incorporated,2016.
[5] IrfanAli,Sang-WookKim:group recommendations:approaches and evaluation[J].Information Management and Communication,2015:105:1-105:6
[6] Boratto L,Carta S,Chessa A,et al.Group recommendation with automatic identification of users communities[C].IEEE/WIC/ACM International Joint Conference on Web Intelligence and Intelligent Agent Technology,IEEE Computer Society,2009:547-550.
[7] Tang Fu-xi,Liu Ke-jian,Feng Ling,et al.Researchonthe integration strategy of group recommendation based on user′s interactive behaviors[J].Journal of Xihua University (Natural Science),2016,35(3):51-56.
[8] Crossen A,Budzik J,Hammond K J.Flytrap:intelligent group musicrecommendation[C].Proceedings of the 7th International Conference on Intelligent User Interfaces,San Francisco,USA,2002:184-185.
[9] Lieberman H,Van Dyke N,Vivacqua A.Let′s browse:a collaborativebrowsing agent[J].Knowledge-Based Systems,1999,12(8):427-431.
[10] Kim J K,Kim H K,Oh H Y,et al.A group recommendation system for online communities[J].International Journal of Information Management,2010,30(3):212-219.
[11] Garcia I,Sebastia L,Onaindia E.On the design of individual andgroup recommender systems for tourism[J].Expert Systems with Applications,2011,38(6):7683-7692.
[12] Baltrunas L,Makcinskas T,Ricci F.Group recommendations with rank aggregation and collaborative filtering[C].ACM Conference on Recommender Systems,Recsys 2010,Barcelona,Spain,September,2010:407-423.
[13] Mccarthy J F,Anagnost T D.MusicFX:an arbiter of group preferences for computer supported collaborative workouts[C].ACM Conference on Computer Supported Cooperative Work.ACM,2000:363-372.
[14] Zhang Yu-jie,Du Yu-lu,Meng Xiang-wu.Group recommender systems and their applications[J].Chinese Journal of Computers,2016,39(4):745-764.
[15] O'Connor M,Cosley D,Konstan J A,et al.PolyLens:a recommender system for groups of users[C].Conference on European Conference on Computer Supported Cooperative Work.Kluwer Academic Publishers,2001:199-218.
[16] Gartrell M,Xing X,Lv Q,et al.Enhancing group recommendation by incorporating social relationship interactions[C].International ACM Siggroup Conference on Supporting Group Work,Group 2010,Sanibel Island,Florida,Usa,November,2010:97-106.
[17] Campos L M D,Fernández-Luna J M,Huete J F,et al.Managing uncertainty in group recommending processes[J].User Modeling and User-Adapted Interaction,2009,19(3):207-242.
[18] Pessemier T D,Dooms S,Martens L.Comparison of group recommendation algorithms[J].Multimedia Tools & Applications,2014,72(3):2497-2541.
附中文參考文獻(xiàn):
[7] 唐福喜,劉克劍,馮 玲,等.基于用戶交互行為的群組推薦偏好融合策略[J].西華大學(xué)學(xué)報(bào)自然科學(xué)版,2016,35(3):51-56.
[14] 張玉潔,杜雨露,孟祥武.組推薦系統(tǒng)及其應(yīng)用研究[J].計(jì)算機(jī)學(xué)報(bào),2016,39(4):745-764.