王 沖,趙藝璇,汪子堯
(桂林電子科技大學(xué)計(jì)算機(jī)與信息安全學(xué)院,廣西 桂林 541004)
伴隨信息時(shí)代的到來,網(wǎng)站日訪問量劇增[1],用戶間交流和上傳行為包含多種類信息,極大影響了目標(biāo)數(shù)據(jù)的檢索效率和質(zhì)量,降低使用者的滿意度,門戶網(wǎng)站存在巨大運(yùn)營(yíng)壓力[2,3]。個(gè)性化數(shù)據(jù)推薦算法可根據(jù)用戶的搜索、購(gòu)買、評(píng)論等數(shù)據(jù)特征,給用戶推薦符合自身需求的項(xiàng)目數(shù)據(jù)。
張祖平[4]等人在分析用戶行為序列中相鄰行為相似性和相關(guān)性的前提下,挖掘詞語之間的結(jié)構(gòu)耦合關(guān)系,輸出深度學(xué)習(xí)下用戶行為推薦結(jié)果,但該方法計(jì)算步驟繁瑣,數(shù)據(jù)推薦準(zhǔn)確率較低;賈俊杰[5]等人從社區(qū)中用戶-項(xiàng)目評(píng)分?jǐn)?shù)據(jù)得到可信度與隱含信任值,憑借用戶推薦能力提取專家數(shù)據(jù)集,融合用戶不同評(píng)分標(biāo)準(zhǔn)完成推薦項(xiàng)目預(yù)測(cè)。但創(chuàng)建數(shù)據(jù)集時(shí)僅考慮了集合內(nèi)的強(qiáng)關(guān)系,數(shù)據(jù)集缺乏多樣性與完整性,造成了數(shù)據(jù)推薦內(nèi)容覆蓋范圍較小的問題。
本文提出一種基于自注意力機(jī)制的網(wǎng)絡(luò)用戶行為數(shù)據(jù)推薦方法。利用自注意力機(jī)制構(gòu)建用戶行為偏好模型,增強(qiáng)人類視覺處理信息的速率與準(zhǔn)確性,運(yùn)用區(qū)間型符號(hào)方法計(jì)算用戶行為的相似度權(quán)重,預(yù)測(cè)用戶行為數(shù)據(jù)評(píng)分,將評(píng)分最高的項(xiàng)目作為推薦信息完成網(wǎng)絡(luò)推送。最終通過仿真對(duì)比,驗(yàn)證了所提方法數(shù)據(jù)推薦的可行性,能夠給用戶提供更加優(yōu)質(zhì)的檢索服務(wù)。
用戶偏好是不斷變化的,當(dāng)用戶關(guān)注某些內(nèi)容時(shí),就會(huì)忽略其它內(nèi)容,故本文引入自注意力機(jī)制構(gòu)建來用戶行為偏好模型,分析用戶行為數(shù)據(jù)之間的內(nèi)在關(guān)聯(lián),獲得更加準(zhǔn)確的用戶行為偏好方向,提升數(shù)據(jù)推薦準(zhǔn)確性。
偏好模型有兩部分:一是用來學(xué)習(xí)用戶潛在偏好的集合Su,集合內(nèi)包含行為特征數(shù)據(jù)嵌入,特征提取、自注意力建模、潛在學(xué)習(xí)四個(gè)階段;二是使用多層全連接神經(jīng)網(wǎng)絡(luò)組成的行為特征集合Sv。
不同的用戶行為都具備相應(yīng)的特征,在導(dǎo)入行為特征信息時(shí),串聯(lián)各個(gè)行為特點(diǎn),編碼為一個(gè)固定長(zhǎng)度的二進(jìn)制數(shù)量[6],將其作為模型輸入值。以單人用戶為例,用戶交互行為導(dǎo)入完畢后,將用戶交互行為的特征矢量記作I=(I1,…,It)。
提取行為特征時(shí),使用全連接神經(jīng)網(wǎng)絡(luò),把用戶的交互行為映射至一維空間,映射過程為
Id=fRelu(WI+b)
(1)
式中,Id是d維空間中用戶i的交互行為特征,fRelu(·)代表激活函數(shù),是Relu的單層全連接神經(jīng)網(wǎng)絡(luò)。
自注意力建模,就是在行為特征從d維空間向z維空間映射時(shí),導(dǎo)入自注意力理念、梳理網(wǎng)絡(luò)用戶行為耦合關(guān)系的過程,自注意力策略原理為
lz=fRelu(WId+b)
(2)
A=softmax(IzW(Id)T)
(3)
Iz=AIz
(4)
式中,W表示權(quán)重矩陣,b是偏置。式(2)是把d維空間的網(wǎng)絡(luò)用戶交互行為特征映射至一維空間。利用式(3)可獲得d維空間中的全部用戶交互行為對(duì)一維空間各用戶交互行為的貢獻(xiàn)權(quán)重,使用softmax函數(shù)歸一化后的矩陣A就是每個(gè)行為之間的注意力權(quán)重。式(4)使用自注意力權(quán)證矩陣A對(duì)z維空間中的行為實(shí)施加權(quán)運(yùn)算,獲得的輸出結(jié)果Iz是最終的網(wǎng)絡(luò)用戶行為特征,下面統(tǒng)一使用fself(·)描述自注意力的運(yùn)算過程。
為了更好地展現(xiàn)用戶行為之間的內(nèi)涵聯(lián)系,使用三次獨(dú)立[7]下的自注意力機(jī)制完成行為建模,計(jì)算公式為
(5)
潛在學(xué)習(xí)是串聯(lián)三次注意力機(jī)制加權(quán)后的行為表現(xiàn)[8],將其當(dāng)作網(wǎng)絡(luò)輸入,獲得網(wǎng)絡(luò)用戶行為的潛在特點(diǎn),詳細(xì)過程為
(6)
將模型的行為特征集合記作
(7)
式中,Ii代表網(wǎng)絡(luò)行為特征數(shù)據(jù)引入模型后的二進(jìn)制矢量。
自注意力模型訓(xùn)練過程的輸入值是用戶交互行為集合與用戶偏好行為,衡量用戶行為偏好和行為特征之間的相似性。將模型函數(shù)表達(dá)式描述成
(8)
利用上述計(jì)算過程即可明確用戶網(wǎng)絡(luò)瀏覽或搜索行為的興趣偏好,為接下來區(qū)間型符號(hào)下網(wǎng)絡(luò)用戶行為數(shù)據(jù)推薦方法提供良好的運(yùn)算基礎(chǔ)條件。符號(hào)數(shù)據(jù)分析是一種探究怎樣在大量數(shù)據(jù)內(nèi)發(fā)現(xiàn)系統(tǒng)知識(shí)理論的策略,使用“數(shù)據(jù)打包”思想,不但完成大規(guī)模樣本空間降維,還能掌握樣本特征,揭示隱藏在數(shù)據(jù)內(nèi)部的規(guī)律[9,10],將打包后的樣本稱作符號(hào)目標(biāo),樣本從初始的“點(diǎn)數(shù)據(jù)”變換成“符號(hào)數(shù)據(jù)”。
如果隨機(jī)變量X服從某個(gè)任意分布,同時(shí)該變量的觀測(cè)值處于[a,b]的取值范圍內(nèi),把X稱作一般分布的區(qū)間型符號(hào)變量,簡(jiǎn)稱為區(qū)間變量;[a,b]是區(qū)間型符號(hào)數(shù)據(jù),即區(qū)間數(shù)。在計(jì)算用戶行為類型方面本文將改進(jìn)傳統(tǒng)Hausdorff距離算法,設(shè)計(jì)區(qū)間型數(shù)據(jù)的新距離計(jì)算方法。假設(shè)A=[a,b]與B=[c,d]是兩個(gè)區(qū)間數(shù),將其看作兩個(gè)緊集[11],那么A、B之間的Hausdorff距離是
|c(A)-c(B)|+|r(A)-r(B)|
(9)
式中,c(X)是區(qū)間數(shù)X的中點(diǎn),r(X)是區(qū)間數(shù)X的半徑,這里X=A或B。由此看出,若兩個(gè)區(qū)間數(shù)變?yōu)閮蓚€(gè)實(shí)數(shù),則式(9)就是兩個(gè)實(shí)數(shù)的絕對(duì)值距離。
設(shè)定A、B是兩個(gè)隨機(jī)區(qū)間數(shù),且數(shù)值內(nèi)部的點(diǎn)數(shù)據(jù)已知,則A、B之間的符號(hào)距離為
(10)
在獲取一般分布區(qū)間型符號(hào)數(shù)據(jù)距離值的前提下,將用戶擬作一個(gè)群組,用戶的網(wǎng)絡(luò)行為當(dāng)作操作項(xiàng)目,拓展傳統(tǒng)K均值聚類方法,引入網(wǎng)絡(luò)用戶行為數(shù)據(jù)推薦。方法包含三個(gè)步驟:使用區(qū)間型符號(hào)數(shù)據(jù)定義用戶對(duì)項(xiàng)目的評(píng)分;明確目標(biāo)群組的最近鄰;預(yù)測(cè)目標(biāo)群組評(píng)分并完成數(shù)據(jù)推薦。
設(shè)群組k內(nèi)的個(gè)體評(píng)分項(xiàng)目為m,倘若個(gè)體i對(duì)項(xiàng)目m的評(píng)分最低分?jǐn)?shù)是ak,m,個(gè)體j對(duì)項(xiàng)目m的評(píng)分最高分?jǐn)?shù)是bk,m,獲得群組k對(duì)項(xiàng)目m評(píng)分的區(qū)間型符號(hào)數(shù)據(jù)為
xk,m=[ak,m,bk,m]
(11)
如果總?cè)航MR內(nèi)共包含N個(gè)群組,總?cè)航M對(duì)項(xiàng)目m的評(píng)分區(qū)間型符號(hào)數(shù)據(jù)為
X=(x1,m,x2,m,…,xN,m)
=([a1,m,b1,m],[a2,m,b2,m],…,[aN,m,bN,m])
(12)
將N個(gè)群組對(duì)項(xiàng)目總數(shù)M的符號(hào)數(shù)據(jù)矩陣描述成
(13)
將群組之間的距離當(dāng)作挑選目標(biāo)群組的最近鄰[12],群組的間距越小,相似性越高。推算群組間距時(shí),隨機(jī)挑選某個(gè)項(xiàng)目m,根據(jù)K均值聚類方法獲得目標(biāo)群組k針對(duì)項(xiàng)目m的相似群組數(shù)據(jù)集Pm,以此類推即可得到目標(biāo)群組k對(duì)各項(xiàng)目的相似群組數(shù)據(jù)集,構(gòu)成集合{Pm}。若群組c處于相似群集合內(nèi),計(jì)算群組c與目標(biāo)群組k的間距
(14)
式中,Xk,m、Xc,m依次代表群組k、c中用戶對(duì)項(xiàng)目m評(píng)分均值,Sk,m、Sc,m依次是群組k、c中用戶對(duì)項(xiàng)目m評(píng)分的標(biāo)準(zhǔn)差。
把相似群集合內(nèi)和目標(biāo)群組間距最短的前n個(gè)群組當(dāng)作群組k的最近鄰,如果群組c處于最近鄰NK中,按照距離越短相似性越高的定理,將群組c與群組k的相似度權(quán)重解析式記作
(15)
式中,D(k,i)為兩個(gè)群組間距的臨界值。
為用戶進(jìn)行相關(guān)的數(shù)據(jù)推薦首先要預(yù)測(cè)目標(biāo)群組對(duì)項(xiàng)目的評(píng)分,預(yù)測(cè)公式為
(16)
式中,wc是兩個(gè)群組的相似度權(quán)重,gc,m是群組c關(guān)于項(xiàng)目m的評(píng)分等級(jí),pk是群組k最近鄰構(gòu)成的數(shù)據(jù)集。
拓展群組評(píng)分等級(jí)gc,m,記作
(17)
式中,nc是群組c對(duì)用戶行為數(shù)據(jù)評(píng)價(jià)的個(gè)體數(shù)量,qc,m(i)是用戶行為數(shù)據(jù)的評(píng)分。
選取預(yù)測(cè)評(píng)分ρ(k,m)最高的前N個(gè)項(xiàng)目,將其看作最優(yōu)的數(shù)據(jù)推薦信息進(jìn)行網(wǎng)絡(luò)推送,實(shí)現(xiàn)網(wǎng)絡(luò)用戶行為數(shù)據(jù)推薦任務(wù)。
為評(píng)估本文數(shù)據(jù)推薦方法的可靠性,對(duì)其進(jìn)行仿真,將文獻(xiàn)[4]深度學(xué)習(xí)法與文獻(xiàn)[5]融合偏置法作為對(duì)比方法,實(shí)驗(yàn)平臺(tái)為Simulink。在充分考慮用戶個(gè)人隱私的基礎(chǔ)上,從Twitter數(shù)據(jù)集獲取實(shí)驗(yàn)信息,表1是數(shù)據(jù)集的基礎(chǔ)內(nèi)容。Twitter數(shù)據(jù)集的評(píng)分范圍是1~5,涵蓋48962個(gè)用戶和136597個(gè)項(xiàng)目,實(shí)驗(yàn)從Twitter數(shù)據(jù)集內(nèi)隨機(jī)挑選8000個(gè)用戶和18500個(gè)項(xiàng)目作為本次實(shí)驗(yàn)的數(shù)據(jù)集。
表1 Twitter數(shù)據(jù)集基礎(chǔ)內(nèi)容
使用平均絕對(duì)誤差(Mean Absolute Error,MAE)指標(biāo)分析三種方法數(shù)據(jù)推薦精準(zhǔn)度,針對(duì)一個(gè)涵蓋O個(gè)評(píng)分的數(shù)據(jù)集,平均絕對(duì)誤差推導(dǎo)過程為
(18)
式中,rp表示目標(biāo)項(xiàng)目的預(yù)測(cè)分?jǐn)?shù),ri是項(xiàng)目的真實(shí)分?jǐn)?shù)。平均絕對(duì)誤差值越小,表明數(shù)據(jù)推薦精準(zhǔn)度越高。
為驗(yàn)證數(shù)據(jù)推薦內(nèi)容的全面性,讓用戶獲得更加舒心的服務(wù)體驗(yàn),設(shè)計(jì)推薦覆蓋率評(píng)估指標(biāo),指標(biāo)計(jì)算公式為:
(19)
式中,E為預(yù)測(cè)評(píng)分的個(gè)數(shù),|Ω|是數(shù)據(jù)集中的總評(píng)分量。覆蓋率數(shù)值越大,表明數(shù)據(jù)推薦的覆蓋性能越優(yōu),用戶得到自身偏好信息的概率越高。
F1是統(tǒng)計(jì)學(xué)用于評(píng)價(jià)模型正確性的指標(biāo),同時(shí)兼顧算法精確率與召回率,用F1指標(biāo)估計(jì)推薦算法的整體性能優(yōu)劣
(20)
式中,precision表示精準(zhǔn)度。
將推薦列表長(zhǎng)度作為實(shí)驗(yàn)?zāi)繕?biāo),選取前4個(gè)項(xiàng)目推薦給用戶。
圖1 三種方法平均絕對(duì)誤差值指標(biāo)對(duì)比
圖1為三種方法的數(shù)據(jù)推薦平均絕對(duì)誤差值對(duì)比示意圖,觀察實(shí)驗(yàn)結(jié)果可知,隨著推薦列表長(zhǎng)度的增加,本文方法與深度學(xué)習(xí)法、融合偏置法相比,平均絕對(duì)誤差值的上下浮動(dòng)最小,誤差值最低,達(dá)到了現(xiàn)實(shí)場(chǎng)景下期望的數(shù)據(jù)推薦精度標(biāo)準(zhǔn)。因?yàn)楸疚姆椒ú捎米宰⒁饬C(jī)制創(chuàng)建用戶行為偏好模型,展現(xiàn)海量用戶行為數(shù)據(jù)背后的隱含關(guān)聯(lián),獲悉用戶網(wǎng)絡(luò)瀏覽與搜索行為偏好,大幅增強(qiáng)數(shù)據(jù)推薦算法實(shí)用性。
三種方法數(shù)據(jù)推薦覆蓋率情況如圖2所示。
圖2 三種方法推薦覆蓋率對(duì)比
可以看到,本文方法針對(duì)大規(guī)模數(shù)據(jù)集的推薦覆蓋率要遠(yuǎn)遠(yuǎn)優(yōu)于兩個(gè)對(duì)比方法,在推薦內(nèi)容全面性方面具有顯著優(yōu)勢(shì)。由于本文方法引入“數(shù)據(jù)打包”概念,使用區(qū)間型符號(hào)算法實(shí)現(xiàn)樣本空間降維,有效保證了數(shù)據(jù)的完整性。而深度學(xué)習(xí)法與融合偏置法在數(shù)據(jù)預(yù)處理階段為提升運(yùn)算速率,剔除了很多數(shù)據(jù)集有用信息,所以推薦覆蓋率較低。
圖3為三種方法的F1值對(duì)比結(jié)果。
圖3 三種方法F1值對(duì)比
從圖3看出,本其它兩種文獻(xiàn)方法的F1均不同程度地小于本文方法,證明在精確率與召回率方面,所提方法依舊具備獨(dú)特優(yōu)勢(shì)。原因在于,本文方法消除數(shù)據(jù)集冗余數(shù)據(jù)的同時(shí),保存了網(wǎng)絡(luò)的強(qiáng)弱關(guān)聯(lián)數(shù)據(jù),增強(qiáng)了數(shù)據(jù)推薦全局可靠性。
數(shù)據(jù)推薦算法是數(shù)據(jù)挖掘的重要分支之一,被大量運(yùn)用于各大電商平臺(tái)及社交軟件中。為了節(jié)約用戶檢索時(shí)間并增強(qiáng)用戶體驗(yàn)感,設(shè)計(jì)一種自注意力機(jī)制下網(wǎng)絡(luò)用戶行為數(shù)據(jù)推薦方法。本文充分改進(jìn)傳統(tǒng)深度學(xué)習(xí)方法不足,通過構(gòu)建自注意力偏好模型來完善數(shù)據(jù)推薦的精準(zhǔn)度,得到令人滿意的推薦結(jié)果。但伴隨用戶與商品信息的激增,方法的訓(xùn)練時(shí)間與運(yùn)算復(fù)雜度也隨之提升,在今后的工作中會(huì)使用并行計(jì)算提高方法的計(jì)算效率。