楊金勞 ,劉虹明 ,2
(1.山西運(yùn)城農(nóng)業(yè)職業(yè)技術(shù)學(xué)院,山西 運(yùn)城 044000;2.華北理工大學(xué) 礦業(yè)工程學(xué)院,河北 唐山 063210)
信息時(shí)代的發(fā)展,推薦系統(tǒng)通過(guò)用戶(hù)對(duì)項(xiàng)目的行為和偏好,將信息搜索轉(zhuǎn)變?yōu)樾畔⒅鲃?dòng)發(fā)現(xiàn),從而針對(duì)性地生成推薦[1]。隨著用戶(hù)組建群組越來(lái)越普遍,向群組直接生成推薦建議可以減少感興趣項(xiàng)目的搜索過(guò)程和檢索時(shí)間[2],因此,群組推薦成為新的挑戰(zhàn)。
與個(gè)體推薦不同,群組推薦需減少?zèng)_突盡可能滿(mǎn)足群內(nèi)所有組員的偏好需求,同時(shí)還需有效的評(píng)分融合方法以更好的表達(dá)群組偏好[3]。文獻(xiàn)[3]提出協(xié)同過(guò)濾與推薦內(nèi)容相融合的群組推薦方法,通過(guò)對(duì)生成的雙列表進(jìn)行融合重排列得到最終推薦;文獻(xiàn)[4]采用三種矩陣分解策略對(duì)群組進(jìn)行協(xié)同過(guò)濾推薦,最后對(duì)重新合成的群組評(píng)分特征矩陣再分解得到最終群推薦;文獻(xiàn)[5]基于相似矩陣的稀疏分解提出群推薦算法,對(duì)群內(nèi)評(píng)分信息的不同類(lèi)型具有較好的挖掘適應(yīng)性,且對(duì)具列相關(guān)的矩陣分解推薦效果較好;文獻(xiàn)[6]根據(jù)社會(huì)關(guān)系與群組偏好交互影響,提出合并了分歧、社會(huì)及專(zhuān)家三大要素的一致性函數(shù),在要素量化基礎(chǔ)上使用一致性函數(shù)將要素合并為單一值,該方法可以有效地將群內(nèi)成員的個(gè)人評(píng)分合并為群推薦列表,取得較好的群組推薦性能;文獻(xiàn)[7]提出基于非對(duì)稱(chēng)因子約束的群組協(xié)同過(guò)濾推薦方法,通過(guò)表示用戶(hù)間相互影響力的影響因子和反映用戶(hù)評(píng)分習(xí)慣差異的偏移因子來(lái)約束相似度矩陣的構(gòu)建,從而將用戶(hù)間的不對(duì)稱(chēng)關(guān)系引入到相似矩陣中,文獻(xiàn)[8]根據(jù)群組內(nèi)用戶(hù)的簽到偏好,由傳統(tǒng)協(xié)同過(guò)濾和TF-TD思想挖掘成員的可能感興趣點(diǎn)(項(xiàng)目)及評(píng)分,并對(duì)組內(nèi)成員的興趣偏好進(jìn)行混合融合,形成群組的推薦列表,其模型的推薦準(zhǔn)確率有明顯提高;文獻(xiàn)[9]融合群組的情境信息以提高模型的推薦準(zhǔn)確度,首先挖掘用戶(hù)的行為偏好及相似度,并進(jìn)行聚類(lèi),然后將情境數(shù)據(jù)融入到群組的行為特征發(fā)現(xiàn),最后由群組的歷史評(píng)分根據(jù)協(xié)同過(guò)濾思想形成預(yù)測(cè)推薦,模型對(duì)移動(dòng)模式下的群組推薦具有較好的適用。但已有算法方法仍存在數(shù)據(jù)稀疏和群內(nèi)成員相互關(guān)系不能很好利用的問(wèn)題,文獻(xiàn)[11]基于多個(gè)推薦結(jié)果評(píng)價(jià)指標(biāo),在一個(gè)相同的實(shí)驗(yàn)平臺(tái)和實(shí)驗(yàn)環(huán)境下進(jìn)行各種推薦算法的比較,實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),使用協(xié)同過(guò)濾算法與偏好矩陣分解相結(jié)合并對(duì)推薦結(jié)果進(jìn)行整合,得到的群推薦對(duì)數(shù)據(jù)稀疏和推薦精度有明顯的提高改善。為此,以融入群組信息的矩陣分解為基礎(chǔ)模型,提出基于改進(jìn)矩陣分解的群組信息推薦算法,算法將用戶(hù)的群組偏好信息引入聯(lián)合矩陣分解,并生成個(gè)人預(yù)測(cè),然后采用均值與最小痛苦策略融合的滿(mǎn)意平衡策略進(jìn)行個(gè)人評(píng)分融合,以更有效的實(shí)現(xiàn)群組推薦,對(duì)比實(shí)驗(yàn)驗(yàn)證了算法的有效性。
設(shè)系統(tǒng)中 N 個(gè)用戶(hù)為 U={u1,u2,L,uN},M 個(gè)項(xiàng)目為 V={v1,v2,L,vM},用戶(hù)偏好評(píng)分 R={Ri,j}N×M,Ri,j表示 ui對(duì) vj的偏好值,G={g1,g2,L gl,L,gL}為L(zhǎng)個(gè)群組,群組矩陣I={Il,i},Il,i=1說(shuō)明ui在群 gl中,否則}表示用戶(hù)ui和um的共有群 GIi,m≠φ,表明兩用戶(hù)存在相關(guān)性 Si,m=Sim(ui,um),Si,m組成相關(guān)矩陣S={Si,m}。群組偏好評(píng)分RG={RGi,j},RGl,j為群gl的所有成員對(duì)vj的評(píng)分。在充分考慮群組相關(guān)特征的基礎(chǔ)上,文中算法的群組推薦框架,如圖1所示。
圖1 基于改進(jìn)矩陣分解的群組推薦框架Fig.1 Group Recommendation Framework based on Improved Matrix Decomposition
根據(jù)圖1框架,算法根據(jù)用戶(hù)評(píng)分及其入群信息通過(guò)矩陣分解生成群組推薦,整個(gè)過(guò)程主要由用戶(hù)相關(guān)性計(jì)算、矩陣分解和評(píng)分合成三部分組成,相關(guān)性主要根據(jù)群組和用戶(hù)入群情況等信息計(jì)算;然后將關(guān)聯(lián)信息融入矩陣分解,計(jì)算群內(nèi)單用戶(hù)的偏好評(píng)分;最后將單用戶(hù)評(píng)分通過(guò)合適的評(píng)分合成策略合成群組的最終評(píng)分及群推薦列表。
不同用戶(hù)加入同一群組的情況在一定程序上反映了兩個(gè)用戶(hù)之間的相關(guān)性,而這種共有群組越多,其興趣或?qū)δ稠?xiàng)目的評(píng)分則可能越相似[5],為此,構(gòu)建群組-用戶(hù)關(guān)系圖,如圖2所示。以更好的描述用戶(hù)之間有關(guān)群組信息的關(guān)聯(lián)性,圖中虛線(xiàn)表示兩用戶(hù)擁有著共同的群組,則相關(guān)性Si,m:
圖2 群-用戶(hù)間的二維關(guān)系圖Fig.2 Group-User Two-Dimensional Relationship
在保持原矩陣分解的全局最優(yōu)特征的基礎(chǔ)上,將群組結(jié)構(gòu)先驗(yàn)信息集成到矩陣分解中,得到潛在的稀疏特征矩陣。設(shè)R={Ri,j}中的元素相互獨(dú)立且服從均值為,方差為的高斯分布[8],通常用戶(hù)間的相關(guān)性越高,其特征向量間越相近[9],協(xié)同過(guò)濾推薦中,將群組結(jié)構(gòu)信息計(jì)算得到的相關(guān)矩陣集成到矩陣分解,并施加范數(shù)約束,則群組評(píng)分預(yù)測(cè)可以建模為:
ij=0。βc—組信息作用參數(shù);γ、λ—正則化系數(shù)。
分別固定式(5)中的p和q并求解另一個(gè)變量的令偏導(dǎo)數(shù)為 0,即:
則可以求解兩個(gè)特征矩陣為:
群推薦算法的最后一步是進(jìn)行個(gè)人預(yù)測(cè)評(píng)分的合成,以獲取最終群組對(duì)項(xiàng)目的評(píng)分,根據(jù)矩陣分解方法過(guò)程,用戶(hù)ui對(duì)項(xiàng)目vj的預(yù)測(cè)評(píng)分可以表示為:
均值策略和最小痛苦策略是群組推薦中常見(jiàn)的根據(jù)群內(nèi)個(gè)人評(píng)分計(jì)算群組的最終推薦預(yù)測(cè)并形成推薦列表的方法。均值策略以群組內(nèi)成員個(gè)人評(píng)分的平均值作為群組的最終預(yù)測(cè),其計(jì)算公式為:
最小痛苦策略將最終的組預(yù)測(cè)與群組內(nèi)當(dāng)前評(píng)分滿(mǎn)意度差的成員的評(píng)分意見(jiàn)一致,其以成員評(píng)分的最小值為最終群組評(píng)分,計(jì)算公式:
但均值策略更注重群組內(nèi)所有成員的平均偏好滿(mǎn)意度,既不能保證部分成員的最優(yōu)滿(mǎn)意度,也可能忽略了少數(shù)成員的不滿(mǎn)意度;而最小痛苦策略確保組內(nèi)盡可能少的成員對(duì)推薦項(xiàng)目不滿(mǎn)意,但卻可能會(huì)忽略大多數(shù)成員對(duì)推薦項(xiàng)目的感受。為此,融合上述兩種常見(jiàn)合成策略的優(yōu)點(diǎn),采用能夠平衡組內(nèi)成員局部滿(mǎn)意度與整體滿(mǎn)意度之間關(guān)系的修正滿(mǎn)意平衡策略,其定義為:
式中:S—群內(nèi)成員數(shù)。根據(jù)后續(xù)實(shí)驗(yàn)可以看到,按Ball,j照滿(mǎn)意度平衡策略計(jì)算的結(jié)果更能反映群組成員總體興趣。
根據(jù)修正滿(mǎn)意平衡策略,獲取群組的最終融合評(píng)分,并形成群推薦,整個(gè)過(guò)程,如表1所示。
表1 改進(jìn)矩陣分解群組推薦Tab.1 The Proposed Group Recommendation Algorithm
目前還沒(méi)有公開(kāi)的推薦領(lǐng)域數(shù)據(jù)集用于算法實(shí)驗(yàn)驗(yàn)證,現(xiàn)有的國(guó)內(nèi)外學(xué)術(shù)研究主要使用來(lái)自網(wǎng)站或問(wèn)卷調(diào)查。為此,從網(wǎng)站爬取并篩選了13597個(gè)用戶(hù)和5108972編學(xué)術(shù)文章,群組3916個(gè),用戶(hù)收藏文章信息7839301次。選取了推薦準(zhǔn)確率[5],召回率[8]和歸一化折損率[10]三個(gè)評(píng)價(jià)指標(biāo)進(jìn)行推薦效果評(píng)價(jià)[11]。
選用UserKNN和PMF方法作為個(gè)人評(píng)分階段與文中算法(記為JPD)的對(duì)比算法,以修正的滿(mǎn)意平均策略為評(píng)分合成方法,以WBF[7]、TSBook[5]和MultiRec[6]三種新群推薦方法進(jìn)行整體性能比較。實(shí)驗(yàn)中訓(xùn)練集和測(cè)試集隨機(jī)劃分,各占總數(shù)據(jù)集的80%和20%,矩陣分解的最大迭代次數(shù)為200,UserKNN算法中鄰居用戶(hù)數(shù)設(shè)置為30,實(shí)驗(yàn)結(jié)果為20次實(shí)驗(yàn)的平均值。
推薦個(gè)數(shù)為d={10,20,30,40}時(shí)各算法在不同評(píng)價(jià)指標(biāo)下的推薦結(jié)果,如圖3所示。圖中UK_Avg、UK_Min和及PMF_Avg、PMF_Min為分別UserKNN和PMF算法采用均值及滿(mǎn)意均衡策略進(jìn)行評(píng)分合成。從圖中整體實(shí)驗(yàn)結(jié)果可以看出,文中算法在評(píng)價(jià)指標(biāo)下的推薦效果均優(yōu)于其他方法,說(shuō)明以用戶(hù)相關(guān)性形式將群組信息引入可以有效提高基于矩陣分解的群推薦的推薦效果。
圖3 各算法在不同d下的Precision和RecalFig.3 Precision and Recal under Different d
在使用改進(jìn)矩陣分解群組成員個(gè)人評(píng)分基礎(chǔ)上,實(shí)驗(yàn)測(cè)試了文中修正滿(mǎn)意平衡策略與與常用的融合策略歸一化折損率,實(shí)驗(yàn)結(jié)果,如圖4所示。
圖4 各評(píng)分合成策略的歸一化折損率Fig.4 Normalized Discounted Cumulative Gain for Each Strategy
由圖4可以看出在實(shí)驗(yàn)三組不同規(guī)模群組下,修正的評(píng)分融合策略表現(xiàn)的效果最好。最小痛苦以少數(shù)意見(jiàn)決定群組選擇,均值策略注重整體滿(mǎn)意度,乘法策略對(duì)成員偏好差別較大的群組推薦結(jié)果不理想,最開(kāi)心策略?xún)H注重成員的最大滿(mǎn)意度;改進(jìn)均值策略易被少數(shù)不滿(mǎn)意成員的評(píng)分影響整個(gè)群組推薦評(píng)分,而修正策略較好的平衡了整體滿(mǎn)意度與局部滿(mǎn)意度,推薦項(xiàng)目更符合群組整體偏好,推薦結(jié)果更加準(zhǔn)確。
取λV=λU=0.001,d=20時(shí)各算法的群組推薦性能比較,如表1所示。從表中可以看出,WBF、TSBook、MultiRec三種算法及文中算法在各指標(biāo)上的推薦性能均優(yōu)于UserKNN和PMF算法。而與WBF、TSBook和MultiRec算法相比,算法在精確率和召回率上均優(yōu)化于三種比較方法,說(shuō)明文中算法的推薦結(jié)果在推薦順序滿(mǎn)意度上與WBF、TSBook和MultiRec三種算法相當(dāng),而在推薦精度上明顯優(yōu)于三種比較算法。
表2 推薦算法性能比較實(shí)驗(yàn)結(jié)果(%)Tab.2 Results of Performance Comparison(%)
隨著網(wǎng)絡(luò)群組功能的興起,向用戶(hù)所在的群組直接生成推薦建議則進(jìn)一步減少了用戶(hù)搜尋其感興趣項(xiàng)目的搜索過(guò)程和檢索時(shí)間,為此,提出基于改進(jìn)矩陣分解的群組推薦算法,算法以融入群組特有信息的矩陣分解為基礎(chǔ)模型,根據(jù)用戶(hù)間的共有群信息計(jì)算其相關(guān)性,并集成到矩陣分解中以生成群內(nèi)單用戶(hù)的偏好評(píng)分,然后采用三種策略進(jìn)行評(píng)分融合。實(shí)驗(yàn)結(jié)果表明,提出的改進(jìn)矩陣分解算法在選定評(píng)價(jià)指標(biāo)上的群組薦表現(xiàn)更優(yōu)。但算法還需進(jìn)一步分析融合廣泛存在的其它社會(huì)化群組信息,以提高算法的推薦性能。