吳彥文,寧 彬,李 斌
(華中師范大學(xué) 物理科學(xué)與技術(shù)學(xué)院,武漢 430079)
絕大多數(shù)推薦系統(tǒng)都是為個(gè)人推薦而設(shè)計(jì)的,通過(guò)挖掘個(gè)人的興趣愛(ài)好可以向個(gè)人推薦電影,音樂(lè),書(shū)刊等.在某些情況下針對(duì)一個(gè)群體也可以使用推薦技術(shù),例如一群朋友聚會(huì)計(jì)劃去餐廳吃飯,可以為群體提供可供參考的餐廳或者餐品信息.傳統(tǒng)的組推薦采取群組成員偏好融合的方式,其基本思想是提出融合模型,在用戶偏好提取階段對(duì)用戶的偏好進(jìn)行模型融合,但是這種方式不適合群組成員差異度較大的情況.群組差異度較大時(shí),采取去除差異而強(qiáng)行融合成一種偏好,這樣會(huì)大大降低推薦的準(zhǔn)確度.此外,現(xiàn)有的組推薦技術(shù)在研究為群組成員提供更為準(zhǔn)確的推薦時(shí),忽略了對(duì)推薦結(jié)果的解釋,降低了推薦的透明度以及用戶對(duì)推薦的滿意度[1].為了解決上述問(wèn)題,本文提出一種彌補(bǔ)群組成員差異的可解釋性組推薦方法,將群組劃分為相似性群組和差異性群組,對(duì)于不同的群組采取不同的推薦方法,并開(kāi)展數(shù)據(jù)實(shí)驗(yàn)對(duì)提出算法的可行性進(jìn)行驗(yàn)證.
當(dāng)前,關(guān)于群組推薦的研究主要集中在相似群組的推薦,基于偏好融合的群組推薦,基于群組成員決策的群體推薦等[2,3].
相似群組的推薦是最早的組推薦研究之一.例如王海艷等為了找到具有較高用戶相似性的群組,在進(jìn)行用戶關(guān)系融合時(shí),將用戶的關(guān)注信息、興趣信息、標(biāo)簽信息等多個(gè)維度的顯式信息都考慮在內(nèi)[4].上述方法能夠有效提高群組推薦的精確度,但對(duì)群組中單個(gè)成員的偏好考慮較少,降低群組成員對(duì)推薦結(jié)果的滿意度.
在研究融合群組偏好方向,Zhang Yiru等認(rèn)為不能將群組偏好融合看成是簡(jiǎn)單的投票問(wèn)題,從投票視角出發(fā)的建模無(wú)法構(gòu)成在大量信息存在下偏好的最優(yōu)表示,應(yīng)當(dāng)考慮偏好關(guān)系中的不確定性,并以信念函數(shù)理論為基礎(chǔ)構(gòu)建了偏好融合模型[5].胡川等提出一種改進(jìn)的偏好融合方法,同時(shí)通過(guò)實(shí)驗(yàn)得出了“群組偏好與個(gè)人偏好具有相似性”的結(jié)論,并將該結(jié)論應(yīng)用在融合模型中,提高了推薦的準(zhǔn)確率[6].但是上述的偏好融合方法有一個(gè)共同的缺點(diǎn):在群組差異度較大的情況下群組的偏好融合越困難,并且模型融合的數(shù)據(jù)越稀疏,群組成員對(duì)融合貢獻(xiàn)就越少,降低了推薦的精度.
同時(shí),在研究群組決策方向,Delic A等分析了由200人組成的55個(gè)群組的決策過(guò)程,得出“群組達(dá)成決策不僅取決于決策任務(wù)的類型,還取決于組成該群組的群組和個(gè)人特征”的結(jié)論,并以旅行團(tuán)目的地推薦為例對(duì)該結(jié)論進(jìn)行了驗(yàn)證[7];Tran使用注意力機(jī)制來(lái)捕獲組中每個(gè)用戶的影響,具體來(lái)說(shuō)即使模型通過(guò)學(xué)習(xí)組中每個(gè)用戶的影響權(quán)重,并根據(jù)其成員的權(quán)重偏好向組推薦項(xiàng)目[8];Nicola Capuano等從模糊數(shù)學(xué)的角度來(lái)評(píng)估群組成員的影響力,并在計(jì)算群組成員影響力時(shí)將用戶個(gè)性和人際信任考慮在內(nèi)[9].這些在群組決策方向提出的方法或模型可以動(dòng)態(tài)調(diào)整組推薦,但是在群組差異很大的情況會(huì)導(dǎo)致共識(shí)偏差很大,結(jié)果依然會(huì)降低推薦滿意度.
可見(jiàn),組推薦方面的研究雖然眾多,但組推薦效果卻差強(qiáng)人意.而當(dāng)前用可解釋性的推薦方法來(lái)解決推薦的滿意度是一個(gè)熱點(diǎn),張永峰對(duì)推薦模型的可解釋性做出了研究,他利用詞組情感分析技術(shù)從大規(guī)模的用戶評(píng)論中提取產(chǎn)品屬性詞和表達(dá)不同情感的屬性,引入顯式變量,在此基礎(chǔ)上提出了一種基于詞組情感分析的顯式變量分解模型,提高了推薦的滿意度[1].這類算法在個(gè)人推薦領(lǐng)域得到廣泛的應(yīng)用,但在群組推薦領(lǐng)域應(yīng)用還較少,F(xiàn)ernando等提出一種群組的協(xié)同過(guò)濾推薦的計(jì)算方法,也指出推薦的可解釋性是組推薦新的挑戰(zhàn)[10].
綜上,本論文擬研究彌補(bǔ)群組成員差異、實(shí)現(xiàn)滿意度高的組推薦方法.為此,首先提出一種自適應(yīng)劃分群組的方法,通過(guò)群組成員差異度計(jì)算,把群組分為差異性群組和相似性群組,分而治之.
1)對(duì)于相似性群組,本文采用融合偏好,依據(jù)決策權(quán)重生成推薦列表.其大體過(guò)程是通過(guò)群組成員間信任值計(jì)算出成員在群組中的決策權(quán)重,然后結(jié)合群組成員預(yù)測(cè)評(píng)分得到成員個(gè)人推薦列表和不推薦列表,并對(duì)成員列表項(xiàng)目的得分進(jìn)行決策權(quán)重加權(quán),最后對(duì)全部群組成員的推薦和不推薦列表進(jìn)行混合,生成群組的TopN項(xiàng)推薦列表.
2)對(duì)于差異性群組,其成員的偏好具有多樣性,為了彌補(bǔ)群組成員的差異,本文提出一種考慮成員信任值的群組LDA模型(Group LDA Model Considering Member Trust Value).該模型先根據(jù)觀點(diǎn)檢測(cè),對(duì)群組成員偏好和觀點(diǎn)概率分布建模,構(gòu)建出<概念;主題;情感>三元組,然后利用該模型對(duì)候選項(xiàng)目進(jìn)行評(píng)分預(yù)測(cè),選取最高概率的評(píng)分作為對(duì)該項(xiàng)目的評(píng)分,其次結(jié)合概念、主題和情感標(biāo)簽生成可解釋性推薦詞組,最后根據(jù)預(yù)測(cè)評(píng)分結(jié)合可解釋性詞組生成群體推薦列表,以期提高推薦的精度和滿意度.
本文根據(jù)群組成員之間的差異性情況采用不同的推薦策略,對(duì)本文問(wèn)題給出形式化的定義如下.首先,系統(tǒng)中用戶由U={u1,u2,…,uU}表示,項(xiàng)目由E={e1,e2,…,eE}表示,R={Ri,j}U×E指用戶ui對(duì)項(xiàng)目ej的評(píng)分值組成的矩陣.另外,有關(guān)群組信息,系統(tǒng)中的群組由G={g1,g2,…,gG}來(lái)表示,其中,如果Gl,i=1表示用戶ui加入了群gl,否則Gl,i=0.系統(tǒng)中用戶的評(píng)論由由D={d1,d2,…,dD}表示.任意評(píng)分Ri,j都與用戶ui對(duì)項(xiàng)目ej的評(píng)論du,i相關(guān)聯(lián).給定對(duì)項(xiàng)目ei的評(píng)論Di,每一條評(píng)論d∈Di都由一組詞語(yǔ)表示,即d={w1,w2,…,w|d|}.
對(duì)于任意一條評(píng)論,按照如下標(biāo)準(zhǔn)定義其中包含主題、特征和情感.定義一個(gè)主題z作為分詞的概率分布,一條評(píng)論存在K個(gè)主題,z?{1,2,…,K}.定義一個(gè)概念為圍繞著主題特征的嚴(yán)格指示詞,由c表示,一條評(píng)論包含一個(gè)概念.情感定義為概率分布在正面和負(fù)面的情感標(biāo)簽.每一個(gè)分詞wj都附有情感標(biāo)簽lj,當(dāng)分詞wj表示負(fù)面情緒時(shí)lj=-1、當(dāng)分詞wj表示正面情緒時(shí)lj=1.本文將一條評(píng)論所包含的觀點(diǎn)v定義為有限混合三元組由概念、主題和情感組成<概念;主題;情感>,v=〈c,z,l〉.同時(shí)由于評(píng)論都是較短文本,本文假定在每個(gè)用戶評(píng)論d中僅存在一個(gè)觀點(diǎn)vd.
項(xiàng)目e∈E可以表示為視點(diǎn)上的混合,項(xiàng)目e中的觀點(diǎn)的概率分布由πe表示,主題在觀點(diǎn)上的概率分布由μ表示,概念在觀點(diǎn)上的概率分布由λ表示.對(duì)于用戶評(píng)論中的分詞,本文由φ表示概念,主題和情感標(biāo)簽上的概率分布,該分布由超參數(shù)β上的Dirichlet分布導(dǎo)出[11,12].
為了更好的描述本文所提出的彌補(bǔ)群組成員差異的可解釋性組推薦方法,給出下面一些定義.
定義1.評(píng)分矩陣X∈RM×N通過(guò)正交非負(fù)矩陣分解得到3個(gè)非負(fù)矩陣,表示如式(1)所示.其中,U∈RM×K表示用戶的潛在特征、E∈RL×N表示項(xiàng)目的潛在特征、S∈RK×L為評(píng)分矩陣X的特征矩陣.
X≈USET
(1)
定義2.若群組中兩用戶ui和uj同時(shí)加入的群組gii,j,可以表示為式(2),gii,j的集合則由GIi,j表示.
gii,j={Gl,i=1∧Gl,j=1}
(2)
定義3.如果任意兩個(gè)用戶ui和uj的共同加入群集GIi,j≠?,表明用戶ui和用戶uj之間具有社交關(guān)聯(lián)性[13],那么就認(rèn)為在群組決策時(shí),用戶ui會(huì)對(duì)用戶uj的做出的決定有一定信任值,并且這種信任關(guān)系是相互的.群組gl中任意兩用戶ui和uj的信任值Ti,j可以表示為式(3):
Ti,j=Trust(ui,uj),GIi,j≠φ
(3)
本研究充分考慮了群組成員間可能存在較大的偏好差異,在組推薦過(guò)程中引入群組成員差異度計(jì)算,并以此為基礎(chǔ)將群組分為差異性群組和相似性群組,對(duì)兩種性質(zhì)的群組采用不同的推薦方法.本文所提出的方法框架如圖1所示.本文所提的彌補(bǔ)群組成員差異的可解釋性組推薦方法主要包括以下步驟:
圖1 推薦框架
1)衡量用戶間信任值.計(jì)算任意兩用戶之間的信任值,將同時(shí)考慮用戶分別加入群組的數(shù)量、用戶同時(shí)加入群組的數(shù)量、用戶同時(shí)加入群組的規(guī)模等信息.
2)計(jì)算群組中用戶之間的差異度.任意兩個(gè)用戶之間的差異性從他們之間的信任值、用戶過(guò)往體驗(yàn)過(guò)的物品和用戶對(duì)該物品的打分中得出.
3)相似性群組的推薦.相似性群組的推薦過(guò)程包括成員決策權(quán)重計(jì)算、個(gè)人推薦和不推薦列表的生成和決策權(quán)重混合的群組TopN推薦列表生成.
4)相似性群組的推薦.相似性群組的推薦包括對(duì)用戶評(píng)論的特征檢測(cè)和情感分析、構(gòu)建<概念;主題;情感>三元組及其分布的求取、候選項(xiàng)目評(píng)分預(yù)測(cè),最后生成TopN推薦和對(duì)推薦結(jié)果的解釋.
不同層次的社會(huì)信任關(guān)系對(duì)用戶決策的影響不同[14].本文通過(guò)用戶的群組信息來(lái)計(jì)算任意兩用戶的信任值,群組信息包括每個(gè)用戶分別加入的群組數(shù)量、兩用戶同時(shí)加入群組的數(shù)量以及兩用戶同時(shí)加入群組的規(guī)模信息都被考慮在內(nèi).某個(gè)群組規(guī)模很小,說(shuō)明這個(gè)群組的所有成員可能具有較高的親密度,則可以認(rèn)為加入該群組的用戶ui會(huì)對(duì)同樣加入該群組的用戶uj擁有較大的信任值.相反,如果用戶ui和用戶uj如果都在某個(gè)規(guī)模較大的群組,則認(rèn)為群組成員之間的關(guān)系比較松散、互相之間的信任值也較低.本文計(jì)算用戶ui和用戶uj之間的信任值為式(4):
(4)
其中,|gl|表示群gl內(nèi)擁有的成員數(shù)目.
本文依據(jù)對(duì)群組成員間差異度的計(jì)算將群組分成差異性群組和相似性群組,針對(duì)兩類的群組采用不同的推薦策略.
在一個(gè)群組中如果用戶ui和uj對(duì)項(xiàng)目ek的打分都屬于系統(tǒng)高分或者低分,認(rèn)為他們具有相似性,如果用戶ui對(duì)項(xiàng)目ek打高分、而用戶uj打低分,則認(rèn)為他們具有差異性.用戶ui和用戶uj的差異性可以用余弦相似度來(lái)計(jì)算,見(jiàn)式(5):
(5)
其中,Eui∪Euj表示用戶ui和用戶uj打分項(xiàng)目的交集,same(Eui∩Euj)表示用戶ui和用戶uj打同樣高分或低分的集合,contrary(Eui∩Euj)表示用戶ui和用戶uj打相反分?jǐn)?shù)的集合.
將成員之間的信任值考慮進(jìn)來(lái),本文采用帶信任度權(quán)值的余弦相似度.帶信任度權(quán)值的余弦相似度計(jì)算公式如式(6)所示:
(6)
計(jì)算整個(gè)群組用戶的差異度,如式(7)所示,如果simgl大于0,則認(rèn)為群組gl為相似性群組,反之則為差異性群組.
(7)
對(duì)于相似性群組,本文采用基于評(píng)分預(yù)測(cè)的方法的生成的個(gè)人推薦列表和不推薦列表,然后通過(guò)決策權(quán)重加權(quán)來(lái)生成群組的TopN推薦結(jié)果.
計(jì)算用戶ui在群組gl中的決策權(quán)重由用戶在群組中的平均信任值給出,如式(8)所示.當(dāng)用戶ui群組中的平均信任值越高,群組中其它用戶在做決策時(shí)會(huì)更加考慮用戶ui的決定.
(8)
在計(jì)算群體中各個(gè)成員的決策權(quán)重之后,利用預(yù)設(shè)個(gè)人推薦系統(tǒng)進(jìn)行評(píng)分預(yù)測(cè).本文將系統(tǒng)中評(píng)分多的成員分成一組,并將組內(nèi)成員的評(píng)分作為源評(píng)分矩陣;將群組gl中所有成員分為另一組,并將該群組中成員的評(píng)分作為目標(biāo)矩陣,利用源矩陣對(duì)目標(biāo)矩陣評(píng)分,預(yù)測(cè)得到群組中每個(gè)成員的項(xiàng)目評(píng)分列表.具體步驟如下:
第1步.抽取目標(biāo)矩陣用戶偏好S.
(9)
(10)
(11)
(12)
(13)
(14)
第3步.評(píng)分預(yù)測(cè)
(15)
O為目標(biāo)最優(yōu)函數(shù), ‖·‖F(xiàn)表示Frobenious矩陣范式.
評(píng)分預(yù)測(cè)矩陣R同樣可以可以表示為R=U1S1E1.其中,U1、S1、E1由式(15)通過(guò)梯度下降法的優(yōu)化算法、使用非負(fù)性的KKT互補(bǔ)條件求解得到[16].
在得到群組中每個(gè)成員的項(xiàng)目評(píng)分列表后,將預(yù)測(cè)評(píng)分屬于系統(tǒng)高分的項(xiàng)目作為該成員的推薦列表、預(yù)測(cè)評(píng)分屬于系統(tǒng)低分的項(xiàng)目作為該成員的不推薦列表.每個(gè)成員的推薦列表進(jìn)行決策權(quán)重的加權(quán)后,對(duì)群組內(nèi)所有成員的推薦和不推薦列表混合、出現(xiàn)在多個(gè)成員的項(xiàng)目的得分進(jìn)行疊加形成群組推薦列表和不推薦列表,最后剔除同時(shí)在群組推薦列表和群組不推薦列表的項(xiàng)目、將群組推薦列表中剩余的項(xiàng)目按評(píng)分排序后作為T(mén)opN推薦結(jié)果.
對(duì)于差異性群組,用戶偏好存在較大的差異,個(gè)人推薦列表中包含的項(xiàng)目重合度較低,最終生成的群組TopN推薦列表評(píng)分普遍不高、群組成員對(duì)推薦結(jié)果的滿意度也不高.因此,本文提出一種考慮成員信任值的群組LDA模型,該模型通過(guò)對(duì)評(píng)論短文本的特征檢測(cè)和情感分析提取構(gòu)建<概念;主題;情感>三元組,然后應(yīng)用Gibbs EM采樣近似得到模型中隨機(jī)變量的后驗(yàn)分布[17],最后依據(jù)分布對(duì)候選項(xiàng)目進(jìn)行評(píng)分,將評(píng)分高的項(xiàng)目作為推薦結(jié)果、并結(jié)合三元組生成推薦解釋.
第1步.特征檢測(cè)及情感分析
本文對(duì)推薦平臺(tái)中使用描述性關(guān)鍵字作為活動(dòng)的概念,Ci特征存在于活動(dòng)e的評(píng)論中.為了從群成員評(píng)論d∈Di中提取出其對(duì)應(yīng)的概念,本文使用word2Vec來(lái)計(jì)算給定概念c∈Ci和群成員評(píng)論d之間的相似度.由于分詞的質(zhì)量隨著訓(xùn)練數(shù)據(jù)量的增加而顯著增加,本文對(duì)word2Vec的訓(xùn)練使用維基百科的數(shù)據(jù)進(jìn)行訓(xùn)練.然后使用訓(xùn)練好的word2Vec模型來(lái)預(yù)測(cè)群成員評(píng)論中給定的概念e和評(píng)論中每個(gè)字符的相似度.相似度計(jì)算公式見(jiàn)式(16):
(16)
其中Nd表示評(píng)論中的字符數(shù).給定候選概念εi,與d最相似的概念將被視為相關(guān)概念.通過(guò)根據(jù)候選概念和群成員評(píng)論之間的相似性對(duì)文檔進(jìn)行排序,找到每個(gè)群成員評(píng)論的相關(guān)概念,并在評(píng)論文本中選取一個(gè)合適的觀點(diǎn)為主觀點(diǎn)vd,表示為<概念;主題;情感>三元組.
第2步.Gibbs EM采樣
由于隨機(jī)變量之間存在著未知關(guān)系,本文使用Gibbs EM采樣去條件近似得到隨機(jī)變量的后驗(yàn)分布.采樣的目標(biāo)是近似得到后驗(yàn)分布p(V,Z,L|W,ε,R,F).采樣程序分為3個(gè)步驟:
1)給定群成員u和活動(dòng)e,采樣觀點(diǎn)f(u,e)的條件概率,給定當(dāng)前的觀點(diǎn)狀態(tài),即P(f(u,e)=y|f(u,e),W,V,R);
2)給定推斷主題和情感標(biāo)簽的值,在每個(gè)d∈D中對(duì)觀點(diǎn)v的條件概率進(jìn)行采樣,即P(vd=v|V-d,ε,W,Z,R);
3)給定當(dāng)前的觀點(diǎn)狀態(tài),對(duì)于字符wj,用情感來(lái)對(duì)主題zj的條件概率進(jìn)行抽樣,情感標(biāo)簽lj轉(zhuǎn)換標(biāo)簽xj,即p(zj=k,lj=l,xj=x|v,X-j,L-j,Z-j,W,R,F).
具體描述如下:給定用戶u和活動(dòng)e,首先在不帶(u,e)對(duì)f-(m,e)的采樣得到fu,e.因此對(duì)于用戶u對(duì)活動(dòng)e的觀點(diǎn),得到p(f(u,e)=y|f(u,e),W,V,R)如式(17)所示:
p(f(u,e)=y|f(u,e),W,V,R)∝
(17)
(18)
其中Tu,u′表示用戶u和u′之間的信任值;Fu表示群組中的信任關(guān)系.
對(duì)于用戶u為活動(dòng)e撰寫(xiě)的評(píng)論d,推斷所有其他隨機(jī)變量都得出觀點(diǎn)vd=v的條件概率,即式(19):
p(vd=v|V-d,ε,W,Z,R)∝
(19)
p(zj=k,lj=l,xj=x|v,X-j,L-j,Z-j,W,R,F)∝
(20)
給定上述的條件概率,針對(duì)每個(gè)評(píng)分r估計(jì)群組中用戶的觀點(diǎn)分布θr,v,每個(gè)項(xiàng)目e的觀點(diǎn)分布πi,主題的概率、觀點(diǎn)和分詞所表示的情感φ,觀點(diǎn)在概念上的分布λ和主題在觀點(diǎn)上的分布μ,針對(duì)每個(gè)評(píng)分r估計(jì)群組中用戶的觀點(diǎn)分布θr,v計(jì)算如式(21)所示:
(21)
第3步.推薦結(jié)果及解釋生成
(22)
對(duì)每個(gè)候選評(píng)分r排序p(rg,e=r|g,e),可以選擇具有最高概率的評(píng)分作為預(yù)測(cè)頻分,同時(shí)選取有高概率得高分的候選項(xiàng)目作為推薦結(jié)果TopN,并結(jié)合觀點(diǎn)三元組<概念;主題;情感>進(jìn)行解釋.
本文在實(shí)驗(yàn)中使用了Amazon Fine Food Reviews數(shù)據(jù)集.該數(shù)據(jù)集最早于2013年由Kaggle發(fā)布,并在2017年5月1日對(duì)該數(shù)據(jù)集發(fā)布了更新版本,本文使用的是這一更新版本(見(jiàn)表1).該數(shù)據(jù)集包含256059個(gè)用戶、74258件商品和568454條評(píng)論.評(píng)論信息不僅包括文本,還包括用戶對(duì)商品的數(shù)字評(píng)分,數(shù)字評(píng)分從1~5.但是該數(shù)據(jù)集并不包含群組信息,本文借鑒文獻(xiàn)[18]中的方式對(duì)數(shù)據(jù)集重構(gòu)、進(jìn)行群組劃分:如果用戶ui和用戶uj購(gòu)買(mǎi)了相同的商品,則將用戶ui和用戶uj劃分到以該商品建立的一個(gè)群組.通過(guò)群組劃分,重構(gòu)的數(shù)據(jù)集中的256059個(gè)用戶共形成了10619個(gè)群組,規(guī)模最大的群組有913個(gè)成員,規(guī)模最小的群組有10個(gè)成員.本文從重構(gòu)的數(shù)據(jù)集中隨機(jī)選擇80%的數(shù)據(jù)作為訓(xùn)練集,20%的數(shù)據(jù)作為測(cè)試集.
表1 數(shù)據(jù)集群組信息
對(duì)于推薦效果的評(píng)估,本文使用平均絕對(duì)誤差MAE(Mean Absolute Error)、準(zhǔn)確率Precision@N和召回率Recall@N作為的評(píng)價(jià)指標(biāo).
MAE計(jì)算如公式(23)所示:
(23)
精確率和召回率表示如公式(24)和公式(25)所示:
(24)
(25)
其中,erecommend表示向群組g推薦的商品的集合,ebuy表示在測(cè)試集中群組g所有用戶購(gòu)買(mǎi)過(guò)的商品的集合.
對(duì)于一個(gè)給定的群組,首先會(huì)計(jì)算群組差異度simgl,進(jìn)行群組類別的判定,然后根據(jù)群組所屬的類別采用對(duì)應(yīng)的推薦策略.
通過(guò)群組劃分共得到10619個(gè)群組,計(jì)算每個(gè)群組的差異度,最終這10619個(gè)群組中有8316個(gè)相似性群組、2303個(gè)差異性群組.
對(duì)差異性的群組,本文提出了一種考慮成員信任值的群組LDA模型.在LDA主題模型中,主題的數(shù)量會(huì)對(duì)實(shí)驗(yàn)有很大的影響.為找到本文所提出模型的最佳參數(shù),在重構(gòu)的數(shù)據(jù)集上使用Recall@10下的召回率進(jìn)行實(shí)驗(yàn),來(lái)對(duì)主題個(gè)數(shù)的影響進(jìn)行評(píng)估.實(shí)驗(yàn)結(jié)果如圖2所示.可以看出,主題數(shù)量K應(yīng)設(shè)置為20.
圖2 不同主題數(shù)量的Recall@10
本文使用3個(gè)對(duì)比方法,分別是AVE-CF、GD-MVL、和PF.
1)AVG-CF:群組中所有成員對(duì)項(xiàng)目評(píng)分的平均值作為群組對(duì)該項(xiàng)目的評(píng)分,然后利用項(xiàng)目相似性來(lái)生成推薦[2].
2)GD-MVL:采用群組發(fā)現(xiàn)的思想,在計(jì)算相似度矩陣時(shí)考慮了包括用戶的興趣信息和標(biāo)簽信息在內(nèi)的多個(gè)維度的信息[4].
3)PF:在偏好融合時(shí)考慮群組中成員對(duì)群組偏好有不同的影響程度,同時(shí)還考慮了項(xiàng)目熱度,最后利用群組的相似性來(lái)生成推薦[19].
為了評(píng)估本文所提出方法在不同數(shù)據(jù)稀疏度下的表現(xiàn),選取最優(yōu)參數(shù),使用MAE作為評(píng)價(jià)指標(biāo),在Amazon Fine Food Reviews重構(gòu)數(shù)據(jù)集開(kāi)展了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2所示.從實(shí)驗(yàn)結(jié)果可以看出,使用群組成員對(duì)項(xiàng)目的平均分作為預(yù)測(cè)得分的AVG-CF方法總體表現(xiàn)最差,GD-MVL和PF在不同稀疏度下表現(xiàn)接近.本文所提出的方法在數(shù)據(jù)稀疏時(shí),對(duì)于群組的不同情況能自適應(yīng)采用評(píng)分?jǐn)?shù)據(jù)跨域填充或者采用基于群組評(píng)論情感分析的評(píng)分預(yù)測(cè)策略,所以能更好的的應(yīng)對(duì)數(shù)據(jù)稀疏性問(wèn)題.
表2 不同稀疏度下各算法的MAE
為了更好地驗(yàn)證本文提出算法的推薦效果,選取最優(yōu)參數(shù),繼續(xù)在 Amazon Fine Food Reviews重構(gòu)數(shù)據(jù)集進(jìn)行推薦準(zhǔn)確率和召回率的實(shí)驗(yàn),設(shè)置向群組推薦商品的數(shù)量N分別設(shè)置為5、10、15和20.實(shí)驗(yàn)結(jié)果如圖3、圖4所示.
圖3 Top-N精準(zhǔn)率
圖4 Top-N召回率
從圖3、圖4中可以看出:基于協(xié)同過(guò)濾的AVG-CF算法表現(xiàn)較差,因?yàn)閿?shù)據(jù)集中絕大多數(shù)用戶只有10條以下的購(gòu)買(mǎi)、評(píng)論記錄,造成數(shù)據(jù)非常稀疏.本文所提出的算法在數(shù)據(jù)集上效果最好,其次是PF,因?yàn)镻F同樣考慮了群組中的成員對(duì)于決策有不同的影響權(quán)重.由于沒(méi)有考慮成員偏好存在較大差異性的情況,所以在N值較小時(shí),PF的準(zhǔn)確率還要差一些.GD-MVL將最具有相似性的用戶劃分到一個(gè)群組,因此對(duì)于相似性較高的群組推薦效果是很好的,但是成員相似度不高的群組,推薦效果不太理想,所以整體的正確率表現(xiàn)一般.
表3為本文提出的算法在Amazon Fine Food Reviews數(shù)據(jù)集上生成的示例視點(diǎn).第1列出了與視點(diǎn)相對(duì)應(yīng)的概念;第2列列出觀點(diǎn)中的主題,第3列和第4列列出每個(gè)主題的正面和負(fù)面標(biāo)簽的概率,第5列列出每個(gè)觀點(diǎn)的預(yù)測(cè)評(píng)分及其概率.
表3 生成觀點(diǎn)示例
在表3的示例觀點(diǎn)中,看到帶有相關(guān)主題和相應(yīng)情感標(biāo)簽的概念.對(duì)于每個(gè)觀點(diǎn),第2列中的相關(guān)主題有助于解釋第一列中的概念,并且情感標(biāo)簽會(huì)告知用戶觀點(diǎn)中的觀點(diǎn).另外,也可以看到對(duì)于每個(gè)觀點(diǎn),預(yù)測(cè)的評(píng)分與情感極性一致.
本文考慮到在組推薦任務(wù)中群組成員偏好可能相差較大,將群組劃分為相似性群組和差異性群組.在對(duì)群組進(jìn)行劃分時(shí),本文把群組成員的偏好和成員間的社會(huì)信任關(guān)系同時(shí)考慮進(jìn)來(lái).對(duì)相似性群組本文采用基于決策權(quán)重的群組推薦方法;對(duì)差異性群組提出了一種考慮成員信任值的群組LDA模型.該模型有兩個(gè)關(guān)鍵部分:觀點(diǎn)檢測(cè)和評(píng)分預(yù)測(cè).從用戶評(píng)論中構(gòu)建觀點(diǎn)三元組<概念;主題;情感>,同時(shí)提取觀點(diǎn)的概率分布,然后利用該模型對(duì)候選項(xiàng)目進(jìn)行評(píng)分預(yù)測(cè),選取概率較高的評(píng)分作為預(yù)測(cè)評(píng)分,最后依據(jù)評(píng)分得到推薦列表,同時(shí)結(jié)合觀點(diǎn)給出推薦結(jié)果的解釋.
在實(shí)驗(yàn)部分,本文所提出的方法已經(jīng)被證明是有效的.在使用3個(gè)基準(zhǔn)數(shù)據(jù)集進(jìn)行測(cè)試時(shí),發(fā)現(xiàn)相對(duì)于其它方法有較大的提升.本文還表明,群組劃分和社會(huì)信任關(guān)系的使用可以提高推薦的準(zhǔn)確性.與以前使用的簡(jiǎn)單的基于主題解釋相比,使用<概念;主題;情感>三元組可以為群組成員提供的更多信息解釋,從而提升滿意度.
本文工作的局限性在于使用社會(huì)信任關(guān)系的維度較低,當(dāng)前社交網(wǎng)絡(luò)中還廣泛存在眾多其它社會(huì)化信息,這些信息對(duì)組推薦也有一定的影響,因此多維度社會(huì)化信息的篩選以及在組推薦中有效的融合策略需進(jìn)一步研究.同時(shí)在差異性群組的推薦中,本文提出的模型是基于主題模型構(gòu)建,因此主題之間的條件獨(dú)立性原則上可能導(dǎo)致多余的觀點(diǎn)和主題,如何降低這一冗余也將是下一步工作的重點(diǎn).