朱欣娟,熊依倫
(西安工程大學(xué) 計算機科學(xué)學(xué)院/陜西省服裝設(shè)計智能化重點實驗室,陜西 西安 710048)
隨著人與人之間的聯(lián)系越來越緊密,群體活動的發(fā)展逐漸多樣化。在日常生活中,朋友外出就餐、微信讀書等群體活動需要有一個滿意的結(jié)果來權(quán)衡群組內(nèi)用戶的差異性??紤]到群體成員的偏好是復(fù)雜和相互沖突的,群組推薦系統(tǒng)通過群組內(nèi)用戶與項目的交互作用[1]向單個群組推薦項目來最大程度地滿足群體的喜好。如何權(quán)衡群組間用戶的差異性并為群組推薦一個滿意的項目,逐漸成為一個具有挑戰(zhàn)性的研究課題[2]。
群組推薦首要步驟是群組識別。依據(jù)群組內(nèi)相似度可分為隨機群組和相似群組。隨機群組中成員隨機聚集在一起,例如餐廳的顧客。隨機分配群組的方式,無法匯聚興趣相似的用戶,無法提升推薦質(zhì)量。相較于隨機群組,許多學(xué)者嘗試使用聚類算法來構(gòu)建相似群組進行推薦[3]。例如采用K-means聚類[4]、密度峰值聚類[5]或者馬爾可夫聚類[6]完成群組劃分。眾多研究表明,群組內(nèi)相似度越高,推薦準(zhǔn)確率也就越高。
推薦方法是群組推薦系統(tǒng)的重要組成部分,目前應(yīng)用比較廣泛的就是將個性化推薦算法應(yīng)用到群組領(lǐng)域,主要思想是將單個群組視為一個用戶并使用傳統(tǒng)協(xié)同過濾算法為該群組生成推薦。協(xié)同過濾又分為基于內(nèi)存的協(xié)同過濾與基于模型的協(xié)同過濾?;谀P偷膮f(xié)同過濾的推薦效果要優(yōu)于基于內(nèi)存的協(xié)同過濾[3],因此受到廣泛關(guān)注。基于主題的推薦方法是基于模型的協(xié)同過濾的一種,通過群組主題來學(xué)習(xí)群組成員的個人影響,例如PIT模型[7]。考慮到群體動態(tài)的內(nèi)在復(fù)雜性,群體偏好不能直接建模。因此準(zhǔn)確表征用戶偏好是獲得群體偏好的重要步驟,對群體成員之間的交互進行建模至關(guān)重要[8]。融合策略作為獲得群組偏好的關(guān)鍵部分,分為靜態(tài)融合策略與動態(tài)融合策略。靜態(tài)融合策略提前指定用戶所占比重,忽略群組成員動態(tài)性或者經(jīng)驗的重疊[9],例如專家策略[10]等。動態(tài)融合策略使得群組推薦效果更好,例如納什均衡策略、注意力機制等。納什均衡策略將博弈論的思想融入群組偏好融合中,使得推薦效果相較于靜態(tài)策略得到提升。李琳等將群組滿意度的問題轉(zhuǎn)化為求解納什均衡的問題,有效緩解群組用戶之間偏好不一致的問題[11]。目前,越來越多的學(xué)者將深度學(xué)習(xí)的技術(shù)應(yīng)用到群組推薦領(lǐng)域,來獲得更好的推薦性能[12]。例如CAO等提出AGREE(attentive group recommendation)模型來學(xué)習(xí)群組中每個用戶的影響力權(quán)重,以此融合策略匯聚群組偏好,提高群組推薦準(zhǔn)確率,但忽略了用戶間交互對群組偏好的影響[13]。SIG(Social-Enhanced Attentive Group Recommendation)模型則利用用戶的社會關(guān)注者信息增強個體用戶表征,有助于捕獲用戶個人偏好,較好地解決用戶間交互對群組偏好的影響[14]。GUO等則提出一種社會自我注意網(wǎng)絡(luò)來模擬群體成員的投票方案,綜合考慮了群體間的社會影響和動態(tài)權(quán)重調(diào)整,模擬群體的復(fù)雜決策過程[15]。JIA等設(shè)計了一個成員級超圖卷積網(wǎng)絡(luò)來學(xué)習(xí)群組成員的個人偏好,捕獲用戶與物品之間的跨群體協(xié)作關(guān)系,以此提高群組推薦準(zhǔn)確率[16]。這些深度學(xué)習(xí)的技術(shù)使得群組中用戶影響力權(quán)重動態(tài)化,充分考慮了群組動態(tài)性對于群組決策的影響。
隨著時間的推進,用戶不斷與外界產(chǎn)生交互行為,用戶興趣也隨著時間演化[17]。對于一些時尚化產(chǎn)品或動態(tài)性對象,用戶對某一產(chǎn)品的偏好一定程度上反映了群組對某產(chǎn)品的偏好。若用戶偏好無法正確表示,也會影響群組偏好表示,最終導(dǎo)致群組推薦準(zhǔn)確率不高。例如某用戶在以往的購物歷史中,更加傾向購買棕色衣服,而在最新的時間段內(nèi),此用戶熱衷購買天藍(lán)色衣服,隨著時間變化,用戶的興趣逐漸從棕色衣服轉(zhuǎn)換為天藍(lán)色衣服。單個用戶興趣遷移如何影響群組決策是值得研究的問題。目前的群組推薦領(lǐng)域中,此類問題尚未得到較好的解決。有學(xué)者嘗試將時間因素[18]融入推薦模型中,例如孫明陽等將群組內(nèi)用戶偏好與興趣點空間和時間特性等因素進行融合,實現(xiàn)動態(tài)興趣點群組推薦,該方法將時間特征局限于某個特定時間段,對各時間段內(nèi)興趣點進行加權(quán)求和[19]。陶永才等利用成員興趣地點隨時間變化這一特征,對成員簽到地點對應(yīng)時間軌跡進行聚類,形成群組數(shù)據(jù)集,其主要應(yīng)用場景為用戶某一天內(nèi)不同時間點的不同興趣點進行推薦[20]。上述2種方法聚焦于將某天劃分為多個時間段進行考慮,而對于大型數(shù)據(jù)序列中依存關(guān)系無法有效捕獲。因此,群組推薦中如何更好地模擬用戶隨時間演化的偏好遷移,以及如何獲得更加全面的用戶偏好表示[21]及其對群組決策產(chǎn)生的影響是一個重大挑戰(zhàn)。
綜上所述,現(xiàn)有群組推薦系統(tǒng)面臨的問題如下:1)采用預(yù)定義策略融合群組成員的個人偏好,群組內(nèi)成員權(quán)重沒有依據(jù)實際情況發(fā)生變化,無法反映群組決策過程的動態(tài)性[22];2)群組推薦系統(tǒng)中并未過多考慮單個用戶隨時間演化興趣偏好遷移過程,無法準(zhǔn)確表征用戶偏好。針對上述問題,本文提出一種融合時間序列和注意力機制的群組推薦算法TAGR。模型中使用循環(huán)神經(jīng)網(wǎng)絡(luò)GRU(gate recurrent unit)建模用戶興趣隨時間的演化,從時間序列中捕捉用戶興趣遷移過程,通過聚合的方式準(zhǔn)確表征用戶的興趣偏好[23]。同時,利用注意力機制融合群組偏好,以動態(tài)加權(quán)的方式強化組內(nèi)具有代表性的用戶,利用項目和群組之間的交互信息對群組偏好進行建模。
群組識別作為群組推薦的首要步驟,分為實際群組和虛擬群組。在很多情況下,需要構(gòu)建虛擬群組進行推薦。為了獲得高相似度群組,本文采取層次聚類進行虛擬群組的構(gòu)建。層次聚類算法基于簇間的相似度在不同層次上分析數(shù)據(jù),從而形成樹形的聚類結(jié)構(gòu)。其主要思想是將每個樣本歸為一類,計算每兩個類之間的距離,也就是樣本與樣本之間的相似度。再尋找各個類之間最近的兩個類,歸為一類。之后重新計算新生成的這個類與各個舊類之間的相似度,并不斷重復(fù)上述步驟,直到所有樣本點歸為一類。可設(shè)立一個閾值,當(dāng)最近兩個類的距離大于這個閾值,迭代終止。相似度(D)計算公式為
式中:n為單個群組內(nèi)用戶的數(shù)量;pk和qk分別為數(shù)據(jù)對象p和q的第k個維度。
群組偏好來源于群組內(nèi)用戶的偏好融合。許多融合策略采用預(yù)定義策略來聚合成員評分,例如最大值等。預(yù)定義策略忽視用戶與項目之間的交互性,沒有充分考慮群體決策的影響因素。在某個群組中,可能某個用戶對商品的影響力較大,該用戶對商品的話語權(quán)也就更高,按照預(yù)定義策略,無法體現(xiàn)出該用戶的影響力。結(jié)合注意力機制的群組推薦很好地解決了上述問題,但在成員偏好中忽略了用戶興趣遷移過程。為解決上述問題,構(gòu)建了融合時間序列的群組推薦模型TAGR,如圖1所示。
圖 1 TAGR方法結(jié)構(gòu)圖Fig.1 Structure diagram of TAGR method
為了捕捉用戶興趣偏移過程,更好地表征用戶偏好,在輸入層提取每個用戶各時刻的行為,經(jīng)過嵌入層獲得用戶各時刻行為向量,輸入GRU中。利用GRU獲取每個時刻用戶行為的興趣偏好,并聚合各時刻興趣偏好作為用戶偏好。其次利用注意力機制學(xué)習(xí)群組內(nèi)用戶偏好權(quán)重,結(jié)合用戶偏好得到群組偏好向量。將單個群組看成單個用戶進行個性化推薦,獲取推薦結(jié)果。
圖1中,G={U1,U2,…,Un}為群組用戶;et為某個用戶t時刻的行為。為了更好地體現(xiàn)用戶興趣偏好遷移的過程,采用GRU訓(xùn)練用戶偏好遷移過程,GRU結(jié)構(gòu)如圖2所示。
圖 2 GRU結(jié)構(gòu)圖Fig.2 GRU structure diagram
將用戶瀏覽過的項目按照瀏覽時間做排序,把原始的id類行為序列特征轉(zhuǎn)換成嵌入行為時間序列。將行為時間序列輸入GRU中,并提取每個時刻下,此用戶行為背后潛藏的興趣狀態(tài)。從連續(xù)的用戶行為中提取一系列的興趣狀態(tài)。其公式為:
zt=σ(etWxz+ht-1Whz+cz)
rt=σ(etWxr+ht-1Whr+cz)
式中:et為GRU的輸入,表示用戶第t時刻行為向量;rt表示第t時刻輸入信息與之前記憶的結(jié)合程度;zt表示前一時刻的狀態(tài)信息被帶入到當(dāng)前狀態(tài)中的程度;ht為第t時刻隱藏狀態(tài);Wxz、Whz、Wxr、Whr、Wxh、Whh分別為權(quán)重矩陣;cz、cr、ch分別為偏置矢量。隱藏狀態(tài)ht捕捉行為之間的依賴關(guān)系,表示t時刻對于上一時刻有效偏好信息的獲取,無效信息進行遺忘,以此表示t時刻用戶興趣偏好。將每個GRU單元的ht累加作為此用戶偏好xn,即
xn=∑t=0ht
結(jié)合注意力機制,獲得此用戶在本項目所占權(quán)重,將此權(quán)重作為用戶偏好權(quán)重,融合用戶偏好作為群組偏好,即
o(j,n)=hTReLU(svij+suxn+b)
式中:sv、su分別為項目嵌入和用戶嵌入轉(zhuǎn)換到隱藏層的注意力網(wǎng)絡(luò)的權(quán)重矩陣;b為隱藏層的偏置矢量;ij為當(dāng)前第i用戶與第j項目的交互編碼,使用ReLU作為激活函數(shù),然后投影到具有權(quán)重矢量h的注意力得分o(j,n);n′為群組內(nèi)用戶下標(biāo),最后使用softmax函數(shù)對得分進行歸一化。
式中:a(j,n)為群組內(nèi)所有用戶的注意力權(quán)重;tk為第k群組與項目j的交互編碼,以此表示單個群組普遍偏好。gk(j)作為第k群組偏好輸入至推薦模型中。
本文選擇神經(jīng)協(xié)同過濾(neural collaborative filtering,NCF)框架對嵌入(項目、組)和交互函數(shù)進行端到端學(xué)習(xí)。NCF是一個用于項目推薦的多層神經(jīng)網(wǎng)絡(luò)框架[24],將用戶嵌入與項目嵌入輸入特定神經(jīng)網(wǎng)絡(luò)中,利用用戶與項目的交互數(shù)據(jù)訓(xùn)練模型。
將上文所獲取的群組偏好矢量gi點乘項目j的嵌入矢量,并將其與用戶i和項目j的嵌入矢量進行拼接,即
所得f0將作為隱藏層輸入,使用ReLU函數(shù)作為非線性激活函數(shù),即
式中:Wh為隱藏層第h層的權(quán)重矩陣;bh為第h層偏置矢量;fh為第h層輸出神經(jīng)元。最后將最后一層神經(jīng)元作為預(yù)測函數(shù)的輸入,即
ylj=WTfh
所得ylj為最終的群組-項目的預(yù)測,WT為最后一層權(quán)重矩陣。通過上述公式,得到最終預(yù)測結(jié)果。
利用GRU與注意力機制來獲得群組偏好表示。在GRU中,獲取單個用戶偏好表示,其時間復(fù)雜度為a(d×v),其中d為單個用戶某時刻項目嵌入維度,v為用戶與項目的交互次數(shù)。之后利用注意力機制獲取群組偏好,其時間復(fù)雜度為a(d×v×n×t),n代表群組內(nèi)人員數(shù)量,t代表項目數(shù)量。
Goodbook數(shù)據(jù)集來源于goodreads網(wǎng)站,包含10 000本最受歡迎圖書的6百萬評分?jǐn)?shù)據(jù),從中截取了3 434個用戶的22 279條用戶交互記錄,其中用戶交互記錄按時間順序排列。MovieLens 數(shù)據(jù)集是由GroupLens項目組制作的公開數(shù)據(jù)集,包含6 000名用戶對4 000部電影的100萬條評分?jǐn)?shù)據(jù),從中截取了3 380個用戶的42 105條用戶交互記錄,用戶交互記錄按照時間順序排序。數(shù)據(jù)如表1所示。
表 1 數(shù)據(jù)集統(tǒng)計信息表
實驗在Ubuntu18.04操作系統(tǒng)下運行,Pytorch1.9.1 GPU基礎(chǔ)鏡像,GPU計算型GN7/8核/32 GiB/5 Mbps。本文對Goodbook和MovieLens數(shù)據(jù)集采用層次聚類的方法來進行群組劃分,通過實驗選取相似度閾值為0.3,將單個群組用戶數(shù)量為1的群組剔除。并將數(shù)據(jù)集按照2∶8的比例隨機劃分為測試集與訓(xùn)練集,每個模型計算5次后取其平均值作為最終實驗結(jié)果,模型epochs設(shè)置為35。實驗參數(shù)[14]如表2所示。
表 2 模型參數(shù)設(shè)置
本文所使用的評價指標(biāo)分別是命中率HR(hit ratio,記為HR) 和 歸 一 化 折 扣 累 積 增 益NDCG (normalized discounted cumulative gain,記為NOCG)。公式中HR用來衡量推薦項目的命中率,測量了推薦的準(zhǔn)確性,指標(biāo)數(shù)值越大說明效果越好;NoH表示點積數(shù)量;TN表示測試項目集合;N為Top-N,表示推薦項目的個數(shù)。計算公式為
NDCG用來衡量列表的排序質(zhì)量,越接近1說明推薦越準(zhǔn)確;DCG為折損累計增益,對每一次收益添加一個折損值;IDCG為理想狀態(tài)下最大的DCG值。計算公式為
為了評估本算法的性能,將本文算法與NCF[24]、Popularity[25]、AGREE[13]、FastGR[26]等多種方法進行比對,以此驗證算法的有效性。
1) NCF:基于神經(jīng)網(wǎng)絡(luò)的協(xié)同過濾,將組視為用戶,作為網(wǎng)絡(luò)輸入,從組項歷史數(shù)據(jù)中學(xué)習(xí)交互功能。
2) Popularity:根據(jù)項目的受歡迎程度向用戶和群組推薦。由于受本數(shù)據(jù)集的影響,項目的受歡迎程度依據(jù)其在訓(xùn)練集中的交互次數(shù)來衡量。
3) AGREE:該模型首次將注意力機制引入群組推薦中,主要依據(jù)用戶與項目的歷史交互數(shù)據(jù)為每個成員動態(tài)分配權(quán)重。
4) GREE:GREE刪除了AGREE模型中注意力網(wǎng)絡(luò),采用統(tǒng)一權(quán)重。
5) NCF+avg:NCF與平均值的結(jié)合,將個體的偏好得分平均為組偏好得分。這種方法的假設(shè)是每個成員對最終群體決策的貢獻相等。
6) FastGR:一種基于神經(jīng)協(xié)同過濾的群組推薦算法,利用卷積神經(jīng)網(wǎng)絡(luò)提取用戶特征。
實驗效果如表3,在Goodbook數(shù)據(jù)集上,將本模型TAGR和其他多個模型進行對比實驗??梢钥闯?當(dāng)K=5時,TAGR模型相較于Popularity、GREE、AGREE、NCF、NCF+AVG、FastGR,在指標(biāo)HR上分別提升了16.97%、8.48%、4.70%、8.97%、6.93%、4.04%,在指標(biāo)NDCG上分別提升了12.47%、7.48%、5.01%、7.16%、5.66%、3.10%。當(dāng)K=10時,TAGR模型相較于Popularity、GREE、AGREE、NCF、NCF+AVG在指標(biāo)HR上分別提升了17.33%、5.53%、3.30%、5.89%、4.80%、1.76%,在指標(biāo)NDCG上分別提升了11.47%、4.36%、3.69%、4.68%、3.92%、2.48%。
表 3 實驗結(jié)果表
在MovieLens數(shù)據(jù)集上,將本模型TAGR和其他多個模型進行對比實驗。當(dāng)K=5時,TAGR模型相較于Popularity、GREE、AGREE、NCF、NCF+AVG、FastGR在指標(biāo)HR上分別提升了11.04%、5.50%、4.14%、5.73%、4.52%、1.74%,在指標(biāo)NDCG上分別提升了8.95%、3.14%、2.34%、3.05%、3.78%、2.29%。當(dāng)K=10時,TAGR模型相較于Popularity、GREE、AGREE、NCF、NCF+AVG在指標(biāo)HR上分別提升了10.89%、6.92%、4.87%、5.36%、5.24%、1.38%,在指標(biāo)NDCG上分別提升了9.91%、4.71%、3.74%、4.96%、4.31%、0.37%。
綜上可知,本文所提出的TAGR模型在HR與NDCG指標(biāo)上均高于選取的基線算法,提升了群組推薦的準(zhǔn)確率。實驗中NCF與NCF+AVG的實驗數(shù)據(jù)較低,主要原因在于采用靜態(tài)策略融合群組成員偏好,忽略了群組用戶對項目的影響力。而AGREE模型采用注意力機制進行成員偏好融合,提升推薦性能,但是忽略了用戶偏好遷移過程,無法準(zhǔn)確表征用戶偏好。FastGR模型采取卷積神經(jīng)網(wǎng)絡(luò)優(yōu)化了模型,提取了用戶特征,但同樣也忽略了用戶偏好遷移過程。本模型TAGR通過時間序列捕捉用戶興趣偏移過程,準(zhǔn)確表征用戶偏好,并利用注意力機制對群組成員進行偏好融合,以此獲得準(zhǔn)確性更高的群組推薦結(jié)果。為了進一步研究模型的有效性,將本文模型TAGR與AGREE模型在Goodbook數(shù)據(jù)集上進行比較。圖3、4顯示了在最佳參數(shù)設(shè)置下,TAGR與AGREE在每次訓(xùn)練迭代中HR與NDCG的變化趨勢。
(a) K=5
圖3(a)、4(a)中可以看出,當(dāng)K=5時,經(jīng)過25次迭代后,TAGR模型的HR與NDCG逐漸趨于穩(wěn)定。圖3(b)、4(b)中可以看出,當(dāng)K=10時,經(jīng)過27次迭代后,TAGR模型的HR與NDCG逐漸趨于穩(wěn)定。說明在Goodbook數(shù)據(jù)集上,TAGR模型效果比AGREE模型效果更優(yōu)。證明本模型可以有效捕捉用戶興趣遷移過程,得到更為準(zhǔn)確的群組偏好表示,提高了推薦的準(zhǔn)確率。
為了驗證時間序列對模型是否有促進作用,本文采取相關(guān)消融實驗進行驗證,結(jié)果如表4所示。
表 4 消融實驗結(jié)果
TAGR-A表示TAGR模型去除注意力機制的方法,此模型在群組內(nèi)得到每個用戶偏好后,不再使用注意力機制模擬用戶與項目之間的交互。TAGR-T表示在TAGR模型去除時間序列的方法。TAGR-T的實驗數(shù)據(jù)略優(yōu)于TAGR-A,主要原因在于TAGR-A中去除注意力機制,群組的偏好融合采用靜態(tài)策略,群組的偏好準(zhǔn)確性的丟失相較于TAGR-T模型中單個用戶偏好準(zhǔn)確性的丟失影響更大。表4數(shù)據(jù)表明,TAGR模型優(yōu)于TAGR-A和TAGR-T,驗證了捕獲用戶興趣偏移過程可以更為準(zhǔn)確地表征用戶偏好,也證明了注意力機制對于單個群組內(nèi)用戶的偏好權(quán)重起到促進作用。
本文針對傳統(tǒng)的預(yù)定義策略過于單一,忽視用戶與項目之間的交互性,同時無法捕捉時間推移所造成的用戶偏好遷移,采用GRU捕捉用戶興趣偏移過程,融合用戶交互記錄作為用戶偏好,更為準(zhǔn)確地表征用戶偏好,并結(jié)合注意力機制來獲取群組內(nèi)各用戶對于此項目的偏好占比權(quán)重。在此基礎(chǔ)上,采用神經(jīng)協(xié)同過濾算法學(xué)習(xí)群組與項目交互。實驗驗證本文所提出的模型優(yōu)于基線模型,提升了群組推薦準(zhǔn)確率。但此模型對于用戶社交關(guān)系對群組偏好融合的影響尚未考慮。在未來的研究中,會將用戶社交關(guān)系融入推薦算法中,進一步提升群組推薦準(zhǔn)確率。