趙永建,楊振國,劉文印
(廣東工業(yè)大學(xué) 計算機學(xué)院,廣東 廣州 510006)
協(xié)同過濾(Collaborative Filtering, CF)是一種經(jīng)典而流行的推薦策略?;谟脩舻臍v史數(shù)據(jù)和鄰居信息來預(yù)測用戶可能感興趣的項目,可以發(fā)現(xiàn)用戶的需求和潛在的偏好,從而改善用戶體驗,增強用戶粘性和忠誠度。
基于條目的CF和基于用戶的CF是2種典型的協(xié)同過濾策略,它們分別從查找與用戶歷史項相似的項和從目標(biāo)用戶中查找歷史項相似的用戶的角度出發(fā),實現(xiàn)準(zhǔn)確推薦?;跅l目的CF在商業(yè)中得到了廣泛的應(yīng)用,具有巨大的商業(yè)價值,其不可預(yù)測性和可擴展性引起了人們的廣泛關(guān)注。例如,Kabbur等[1]提出了一個因子條目相似度模型(Factored Item Similarity Model, FISM),該模型學(xué)習(xí)了條目的嵌入向量表示,并將2個條目之間的相似度建模為它們的嵌入向量的內(nèi)積。然而,F(xiàn)ISM基于這樣的假設(shè):用戶配置文件的所有歷史項對目標(biāo)項的貢獻(xiàn)是相等的。例如,要預(yù)測用戶對一部浪漫電影的偏好,將一部恐怖電影與另一部浪漫電影放在同等重要的位置是不可取的。為此,He等[2]提出了一個神經(jīng)關(guān)注條目相似度(NAIS)模型來區(qū)分歷史交互條目對目標(biāo)條目貢獻(xiàn)的不同重要性。但是,NAIS過分關(guān)注于區(qū)分歷史項對目標(biāo)項的貢獻(xiàn),而忽略了它們對用戶興趣的差異化貢獻(xiàn)。例如,一個科幻迷通常已經(jīng)看過或讀過一些科幻電影或書籍,他或她可能也看過或讀過一些其他類型的電影或書籍,如卡通。就用戶興趣的建模而言,科幻類的條目應(yīng)比其他類型的條目貢獻(xiàn)更大,因為用戶的主要興趣是科幻。這種直覺促使作者通過考慮歷史條目對用戶興趣的不同貢獻(xiàn)來建模以表達(dá)它們之間的潛在關(guān)系。
在這項工作中,提出了一個雙向條目注意網(wǎng)絡(luò)(DIAN),該方法聯(lián)合模擬歷史條目和目標(biāo)條目之間相似性的神經(jīng)注意模型(NAIS)[2]和建模歷史條目之間的相似性的自注意力模型(SAIS),以便對用戶個人資料中歷史項對目標(biāo)項的重要性以及這些項之間的潛在關(guān)系進(jìn)行建模。特別是,DIAN使用雙歸一化機制改進(jìn)了自注意力網(wǎng)絡(luò),這不僅解決了標(biāo)準(zhǔn)的自注意力機制會懲罰活躍用戶的問題,而且使模型提取用戶興趣更加準(zhǔn)確有效。因此,DIAN同時具有SAIS和NAIS模型的優(yōu)勢,能在保持提取主要興趣的前提下根據(jù)不同的目標(biāo)條目聚合個性化的興趣向量。
這項工作的主要貢獻(xiàn)概括如下:(1) 本文提出了一種雙歸一化自注意力網(wǎng)絡(luò),具體的是使用雙歸一化機制改進(jìn)了標(biāo)準(zhǔn)的自注意力網(wǎng)絡(luò)。將改進(jìn)后的自注意力模型應(yīng)用于推薦系統(tǒng),不僅能從歷史條目中提取用戶的興趣表示,還能使模型不受用戶歷史條目數(shù)量的影響。(2) 通過將神經(jīng)注意模型與雙歸一化自注意力條目相似性模型結(jié)合,考慮歷史項與目標(biāo)項之間的關(guān)系,以及歷史條目之間的潛在關(guān)系,提出了一個雙向條目注意網(wǎng)絡(luò)(DIAN)。(3) 對真實數(shù)據(jù)進(jìn)行的大量實驗表明,在用戶興趣表征學(xué)習(xí)中考慮歷史項之間潛在關(guān)系是十分重要的。
在本節(jié)中簡要總結(jié)了隱式協(xié)同過濾和神經(jīng)注意力網(wǎng)絡(luò)的相關(guān)工作。
隱式反饋的協(xié)同過濾[2]經(jīng)常被表述為一個學(xué)習(xí)排序問題,通常被稱為個性化排序或一類CF[3],在top-N推薦上采用基于排名的評估協(xié)議。top-N推薦方法需要考慮丟失的數(shù)據(jù)(即負(fù)面的反饋)[4]。為了解決這個問題,文獻(xiàn)[5]建議將所有丟失的數(shù)據(jù)視為負(fù)實例,文獻(xiàn)[6]建議從丟失的數(shù)據(jù)中抽取負(fù)實例。這2個開創(chuàng)性的工作定義了隱式反饋的條目推薦模型。利用隱式反饋建立模型具有較強的說服力和實用性。
注意力機制[7-8]與人類的視覺注意有著相似的直覺。注意力機制可以快速提取稀疏數(shù)據(jù)的重要特征,并已成為捕獲其依賴關(guān)系的基本組件。自注意力機制[9]是注意力機制的一個變體,引起了研究者的廣泛關(guān)注,并已成功應(yīng)用于計算機視覺[10]、自然語言處理、機器翻譯[11]等諸多領(lǐng)域。Zhang等[10]提出了SAGAN(Self-attention Generative Adversarial Networks)模型來學(xué)習(xí)圖像內(nèi)部表征中的全局、長期依賴關(guān)系。Vaswani等[11]指出機器翻譯模型可以通過自我關(guān)注達(dá)到最先進(jìn)的結(jié)果。Zhang等[12]提出了一種AttRec模型,將自注意力機制應(yīng)用于關(guān)注用戶的歷史短期行為,以提取用戶的短期興趣。
FISM是基于條目的CF模型,是提出DIAN方法的基礎(chǔ)。FISM通過條目嵌入向量的內(nèi)積來計算條目相似度,可以處理大規(guī)模數(shù)據(jù)集以及捕獲未交互的條目之間的關(guān)系。FISM的預(yù)測模型為
FISM的局限性在于建模用戶興趣表征時,它假定所有歷史條目對目標(biāo)條目做出同等貢獻(xiàn)。為了解決這個問題,He等[2]提出了NAIS來區(qū)分歷史項對目標(biāo)項的不同貢獻(xiàn)。形式上,NAIS定義如式(2)~(4)所示。
其中,aij表示歷史條目j對目標(biāo)條目i貢獻(xiàn)的個性化權(quán)重,通過式(3)和式(4)計算得到。借用函數(shù)f ()這樣的方式計算aij的基本原理是即使目標(biāo)項不在歷史項中,即目標(biāo)條目不是用戶交互過的條目,它仍然可以獲得它們之間的權(quán)重;β是aij的歸一化平滑指數(shù);w1和b1分別是將輸入投影到隱藏層的權(quán)重矩陣和偏置向量;是將隱藏層投影到輸出注意權(quán)重的向量;式(2)中的表示用戶u在目標(biāo)條目i上的個性化興趣表征,該表征是通過用戶的歷史交互項和目標(biāo)項的嵌入向量聚合而來的。
在這一節(jié)中,介紹本文提出的雙向條目注意網(wǎng)絡(luò)(DIAN),在介紹DIAN之前,首先討論了解決NAIS局限性即提取用戶主要興趣的注意力機制的設(shè)計,并提出了雙歸一化自注意力網(wǎng)絡(luò)。然后詳細(xì)說明了模型參數(shù)的優(yōu)化。
每個用戶都有很多興趣,用戶對每個興趣的喜愛程度卻不同,一般有主次之分。NAIS過分關(guān)注于區(qū)分歷史項對目標(biāo)項的貢獻(xiàn),而忽略了它們對用戶興趣的差異化貢獻(xiàn)。為了解決NAIS的缺陷,本文引入了自注意力機制[11],稱為雙歸一化自注意力條目相似性(SAIS)模型。它著眼于從用戶的歷史條目中提取用戶的興趣表示。自注意力機制,也稱為內(nèi)注意機制,旨在通過自身的點積,逐漸更多地關(guān)注重要的特征。因此,本文使用自注意力機制來處理用戶的歷史行為數(shù)據(jù),并提取用戶主要的興趣點,以減輕用戶實際上不感興趣或興趣較低的歷史交互項的影響。
(1) SAIS模型的設(shè)計1。本文引入自注意力機制建模用戶的主要興趣,即獲取用戶歷史交互項之間的條目相似性(也可稱為注意力權(quán)重)。注意力權(quán)重能區(qū)分歷史條目對用戶興趣的不同重要性,可以用來提取用戶的主要興趣。具體地說,設(shè)計1(見圖1)中的自注意力模塊的輸入由查詢(Q ),鍵(K)和值(V)組成;輸出是值(V)的加權(quán)和,其中加權(quán)的權(quán)重矩陣就是注意力權(quán)重(auj)。在不失一般性的前提下,讓q表示用戶u所有歷史交互條目嵌入向量的集合矩陣,矩陣的每一行都為一個歷史條目的嵌入向量。模型的輸入可以表示為
圖 1 雙歸一化自注意力條目相似性(SAIS)模型的結(jié)構(gòu)Fig.1 The architecture of dual normalization self-attention item similarity (SAIS) model
首先,通過共享參數(shù)的非線性變換將輸入投影到同一共享空間。WQWKWVQ
其中, , , 分別是 ,K,V的投影變換權(quán)重矩陣;Relu是激活函數(shù)。然后,計算歷史條目j對用戶u興趣表示的差異化貢獻(xiàn)的注意力權(quán)重,
其中,softmax是歸一化函數(shù);auj表示用戶u對歷史項目j偏好的注意力權(quán)重;是縮放自注意力權(quán)重的縮放因子,起到調(diào)節(jié)作用,使得內(nèi)積不至于太大;在softmax之前應(yīng)用掩蔽操作(mask),掩蔽關(guān)聯(lián)矩陣的對角線,以避免查詢(Q )和鍵(K)的相同向量之間的高匹配分?jǐn)?shù)。用戶u對條目i的偏好能被定義為
其中,auj是一個可訓(xùn)練的參數(shù);很明顯,當(dāng)auj固定為1時,SAIS可以恢復(fù)為FISM,系數(shù)1 /|R|τ作為歸一化機制被轉(zhuǎn)化到了auj中。
SAIS模型的目標(biāo)是提取用戶的主要興趣,使模型更關(guān)注用戶感興趣的條目。但實踐中,作者發(fā)現(xiàn)在設(shè)計1中使用softmax函數(shù)進(jìn)行歸一化不能很好地處理歷史項數(shù)量較多的用戶。而大多數(shù)推薦系統(tǒng)的應(yīng)用場景中,用戶的活躍程度或歷史交互條目的數(shù)量變化都較大。因此,softmax會限制自注意力網(wǎng)絡(luò)在推薦系統(tǒng)中的性能表現(xiàn)。
(2) SAIS模型的設(shè)計2。為解決設(shè)計1的限制,根據(jù)參考文獻(xiàn)[2],本研究在softmax函數(shù)的分母中引入了一個平滑因子。具體地說,本文在標(biāo)準(zhǔn)的自注意力網(wǎng)絡(luò)之后添加了一個隱藏層(見圖2),有效地減輕了對活躍用戶注意力權(quán)重的懲罰。隱藏層由一個調(diào)整后的s oftmax′函數(shù)組成。隱藏層的輸入是自注意力機制的輸出和矩陣q的點積,即設(shè)計1的輸出。最終,用戶u對條目i的偏好能被定義為其中,表示用戶u對歷史項目j偏好的注意力權(quán)重;γ是 a′uj歸一化的平滑指數(shù),在[0,1]范圍內(nèi)設(shè)置的超參數(shù),顯然,當(dāng)γ設(shè)置為1時,它恢復(fù)為softmax函數(shù);w2和b2分別是將輸入投影到隱藏層的權(quán)重矩陣和偏置向量;是將隱含層元素輸出到雙歸一化自注意力網(wǎng)絡(luò)輸出層的向量;借用函數(shù)g()的方式計算的原理是引入非線性規(guī)則,增加模型的泛化能力;公式(9)中的表示用戶的主要興趣表征,由用戶歷史交互條目的嵌入向量聚合而來。實驗發(fā)現(xiàn)當(dāng)γ<1時模型能實現(xiàn)比標(biāo)準(zhǔn)的softmax函數(shù)更好的性能(實現(xiàn)結(jié)果在4.8節(jié))。
圖 2 softmax′的結(jié)構(gòu)Fig.2 The architecture of softmax′
最終的SAIS算法模型(見圖1)中使用了2次歸一化機制,一次專注于從歷史條目中提取用戶的興趣表示,另一次使模型不受用戶歷史條目數(shù)量的影響,本文稱這種機制為雙歸一化自注意力網(wǎng)絡(luò)(如圖1設(shè)計2)。作者認(rèn)為這種設(shè)計可以把適用于圖像領(lǐng)域的自注意力網(wǎng)絡(luò)很好地遷移到機器學(xué)習(xí)中,特別對文本數(shù)據(jù)或者數(shù)目變化較大的數(shù)據(jù)效果可能更好。SAIS能提取用戶的主要興趣,使模型推薦的條目更符合用戶的興趣要求。
給定了NAIS和SAIS模塊,可以清楚地看到這兩個模型可以相互補充,本文提出的雙向條目注意網(wǎng)絡(luò)(DIAN)模型通過與神經(jīng)張量網(wǎng)絡(luò)(NTN)[13]相似的方式將2個模塊結(jié)合在一起(見圖3)。具體地,DIAN的定義如式(15)所示。
圖 3 雙向條目注意網(wǎng)絡(luò)(DIAN)模型的結(jié)構(gòu)Fig.3 The architecture of dual-aspect item attention network (DIAN)model
其中,α是設(shè)置在[0,1]范圍內(nèi)的參數(shù),用來控制2個模塊的影響,當(dāng)α=0時DIAN可以省略為SAIS模型,當(dāng)α=1時DIAN可以省略為NAIS模型。DIAN將用戶的主要興趣向量添加到NAIS聚合的用戶對目標(biāo)項目i的個性化興趣表示中。DIAN認(rèn)為歷史條目對目標(biāo)條目和用戶興趣的貢獻(xiàn)均存在差異性。DIAN除了關(guān)注目標(biāo)條目外,更加關(guān)注用戶感興趣的條目。DIAN雙向關(guān)注用戶的歷史條目,能更多地挖掘歷史條目中的隱藏信息。
優(yōu)化推薦模型的兩種主流方法是逐點學(xué)習(xí)排名優(yōu)化算法和成對學(xué)習(xí)排名優(yōu)化算法。根據(jù)作者的知識和經(jīng)驗,兩種學(xué)習(xí)類型之間沒有永久的贏家,而且性能在很大程度上取決于預(yù)測模型和數(shù)據(jù)集。在本文中,選擇了逐點對數(shù)損失函數(shù),它已經(jīng)被廣泛用于最近提出的神經(jīng)推薦模型[2,14]中并表現(xiàn)出良好的性能。它將模型的學(xué)習(xí)作為二分類任務(wù),最小化目標(biāo)函數(shù)如式(16)所示。
其 中 Θ={{pi},{qj},WQ,WK,WV,w1,b1,h1,w2,b2,h2}表示所有可訓(xùn)練的參數(shù);n表示訓(xùn)練實例的總數(shù)量;λ是控制 L2正則化強度的超參數(shù),可以防止過擬合;R+和R-分別是正例子和負(fù)例子的集合。值得注意的是,DIAN是隱式反饋的推薦模型,在數(shù)據(jù)集中沒有顯式的負(fù)例子。根據(jù)參考文獻(xiàn)[14],本文在用戶歷史沒有交互的條目中隨機抽取一定數(shù)量的條目作為負(fù)例子。逐點學(xué)習(xí)排名優(yōu)化算法通過正負(fù)對訓(xùn)練的方式,使模型對正例子的偏好越來越高,對負(fù)例子的預(yù)測分?jǐn)?shù)越來越低。
本文采用隨機梯度下降(Stochastic Gradient Descent, SGD)的一種變體Adagrad[15]來優(yōu)化模型的參數(shù),它為每個參數(shù)應(yīng)用自適應(yīng)學(xué)習(xí)率。在每個訓(xùn)練時期,本文首先生成所有負(fù)面實例,然后將它們與正實例一起饋送到訓(xùn)練算法中以進(jìn)行參數(shù)更新,對于每個正實例(u, i),本文隨機將用戶之前從未交互過的X項作為負(fù)實例進(jìn)行隨機抽樣。在本文的實驗中,將X設(shè)置為5,這是一個經(jīng)驗數(shù)。
由于深度神經(jīng)網(wǎng)絡(luò)模型的非線性和逐點學(xué)習(xí)排名損失函數(shù)的非凸性,梯度下降方法會很容易地陷入次優(yōu)的局部最優(yōu)解。因此,模型參數(shù)的初始化在模型的最終性能中起著至關(guān)重要的作用。根據(jù)經(jīng)驗,當(dāng)所有模型參數(shù)隨機初始化時,模型會遇到收斂慢和性能差的問題。本文通過使用FISM的嵌入?yún)?shù)來初始化模型(NAIS, SAIS, DIAN)解決了上述難題。因為當(dāng)獲取用戶興趣的表示時,F(xiàn)ISM能平等地對待用戶的所有歷史項。
在本節(jié)中進(jìn)行了大量的定量和定性實驗,以評估所提出的推薦系統(tǒng)模型的性能。
(1) MovieLens[14]數(shù)據(jù)集包括來自6 040個用戶對3 706部電影的1 000 209個評分,每個用戶至少有20個評級。對于隱式推薦任務(wù),通過跟隨[2, 14]將評級轉(zhuǎn)換為0或1,表明用戶是否對該項目進(jìn)行了評級。
(2) Pinterest[16]數(shù)據(jù)集都是隱式反饋數(shù)據(jù),包含來自55 187個用戶對9 916張圖像的1 500 809個評級。每次評級就代表用戶和條目進(jìn)行了交互。
本文使用留一法的策略評估本文提出的模型??紤]到數(shù)據(jù)集條目的數(shù)量多,為每個用戶排列所有條目是非常耗時的。本文遵循參考文獻(xiàn)[17]中的策略,即隨機抽樣99個用戶沒有交互的條目,并將測試(目標(biāo))條目在100個條目中進(jìn)行排序。本文使用命中率(Hit Rate,HR)和歸一化折損累計增益(Normalized Discounted Cumulative Gain,NDCG)2個指標(biāo)客觀度量模型的性能。HR@10衡量的是模型中排名前10的項目的命中率(即積極的例子出現(xiàn)在前10)。NDCG@10度量推薦結(jié)果與用戶興趣之間的相關(guān)性,越大越好。這2個指標(biāo)可以客觀準(zhǔn)確地評價算法模型推薦的條目是否符合用戶的興趣,在推薦系統(tǒng)中得到了廣泛的應(yīng)用[1,2,10,12,16]。
(1) POP:該方法根據(jù)條目的受歡迎程度對條目進(jìn)行排名,并向用戶推薦最受歡迎的條目。
(2) ItemKNN[18]:該方法根據(jù)候選項與歷史項的相似性提出建議,是一種標(biāo)準(zhǔn)的基于條目的協(xié)同過濾方法。該方法通過余弦相似度估量條目的相似性。
(3) MF-BPR[19]:該方法通過優(yōu)化成對貝葉斯個性化排序損失函數(shù)(BPR)來學(xué)習(xí)矩陣分解(MF)模型,使正例子與負(fù)例子之間的距離越來越大。該方法是推薦中應(yīng)用最廣泛的方法之一。
(4) MF-eALS[6]:該方法用逐點式交替最小二乘法(eALS)優(yōu)化MF模型,并提出將所有缺失的數(shù)據(jù)視作負(fù)例子。
(5) MLP[14]:該方法利用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行推薦并且取得了很好的性能。
(6) FISM[1]:該方法將條目相似矩陣通過兩個低維潛在因子矩陣的乘積來學(xué)習(xí),并提出使用結(jié)構(gòu)方程建模方法學(xué)習(xí)低維潛在因子矩陣。這是一個最先進(jìn)的基于條目的CF模型。
(7) NAIS[2]:該方法通過在FISM模型中加入注意力網(wǎng)絡(luò)以區(qū)分不用歷史條目對目標(biāo)條目的差異化貢獻(xiàn),從而獲得最先進(jìn)的性能。
在文中沒有特別提及時,本文使用以下默認(rèn)設(shè)置報 告D I A N 的 性能: β=γ=0.8,α =0.5,λ =0,d=e=a=16,學(xué)習(xí)率是0.01,以及使用FISM嵌入進(jìn)行預(yù)訓(xùn)練。在實驗中 β,γ是平滑指數(shù),d是式(9)中的縮放因子,e和a被設(shè)置為一樣的值,它們分別表示嵌入尺寸和注意力因子。λ表示正則化系數(shù),對于每種方法,本文首先訓(xùn)練它而不進(jìn)行正則化(λ設(shè)為0);如果觀察到過擬合(即訓(xùn)練損失持續(xù)減少,但性能變差),則在[10–8, 10–7, ···,1]范圍內(nèi)微調(diào)λ。本文使用Tensorflow軟件實現(xiàn)SAIS和DIAN模型,并且對于每個正例子隨機抽取5個負(fù)例子去優(yōu)化式(16)。
圖4顯示了測試階段各種方法的性能,從中可以觀察到一些現(xiàn)象。(1) SAIS的性能優(yōu)于FISM,說明了雙歸一化自注意力網(wǎng)絡(luò)的有效性。由于SAIS關(guān)注的是符合用戶主要興趣的目標(biāo)條目,而NAIS關(guān)注的是與用戶歷史條目相似的目標(biāo)條目,后者范圍明顯比前者大,因此SAIS性能劣于NAIS是意料之中的。(2) 本文提出的DIAN顯著優(yōu)于NAIS和SAIS,說明了同時考慮用戶檔案中的歷史條目對目標(biāo)條目貢獻(xiàn)的差異性以及這些條目之間的潛在聯(lián)系很有意義。
圖 4 測試每一種模型(FISM, NAIS, SAIS, DIAN)在不同數(shù)據(jù)集的性能Fig.4 Testing Performance of FISM, NAIS, SAIS and DIAN on different datasets
為了評估預(yù)訓(xùn)練策略的有效性,本文在表1中總結(jié)了有無預(yù)訓(xùn)練的SAIS和DIAN的性能,可以看到一些結(jié)論。(1) 對于4種模型,使用FISM嵌入的預(yù)訓(xùn)練策略性能均有顯著提高。除了性能改進(jìn)以外,模型參數(shù)的初始化可以避免SGD優(yōu)化模型陷入局部性能最小值,并使模型快速收斂。(2) DIAN在進(jìn)行或不進(jìn)行預(yù)訓(xùn)練的情況下都比其他方法的性能好。特別是在MovieLens數(shù)據(jù)集上,在沒有進(jìn)行預(yù)訓(xùn)練的情況下,DIAN的性能也優(yōu)于其他進(jìn)行預(yù)訓(xùn)練的模型,作者認(rèn)為這得益于同時注意歷史項、目標(biāo)項和歷史項、目標(biāo)用戶的差異化關(guān)系。
表 1 每一種方法有無預(yù)訓(xùn)練的性能Table 1 Performance of the approaches with or without pre-training %
本文在表2中報告了2個基準(zhǔn)數(shù)據(jù)集上幾種先進(jìn)推薦算法的性能。從表2中可得出以下結(jié)論。(1) 具有注意力機制的方法(SAIS,NAIS和DIAN)具有更好的性能,這得益于注意力能夠區(qū)分條目的差異化貢獻(xiàn)。(2) DIAN在2個數(shù)據(jù)集上均獲得了最高的HR和NDCG分?jǐn)?shù),并且與其他方法相比有了顯著改進(jìn)(其中,相對于最先進(jìn)的NAIS在2個數(shù)據(jù)集上分別平均提升了1.83%),從而證明了DIAN的提出很有意義和價值。(3) 在基線方法之間,基于用戶的CF模型(MF,MLP)和基于條目的CF模型(FISM)之間沒有明顯的優(yōu)勝者。具體而言,在Pinterest數(shù)據(jù)集上,F(xiàn)ISM的性能優(yōu)于基于用戶的CF模型,而在MovieLens數(shù)據(jù)集上,基于用戶的CF模型的性能優(yōu)于FISM。這表明基于用戶的協(xié)同過濾也具有不可忽視的優(yōu)勢,基于用戶和基于條目的CF的結(jié)合或者在基于用戶的CF中引入注意力機制將是本文作者未來研究探討的方向。
表 2 比較幾種最先進(jìn)推薦算法的推薦準(zhǔn)確性Table 2 Recommendation accuracy scores of compared methods %
DIAN模型具有2個超參數(shù),包括NAIS的平滑指數(shù)β和SAIS的平滑指數(shù)γ。2個參數(shù)的影響如圖5所示,從中可以看出SAIS和NAIS在數(shù)據(jù)集上有相似的表現(xiàn)。如 果 將β 和γ 設(shè) 置 為1,則 意 味 著 使 用 標(biāo) 準(zhǔn)softmax函數(shù)對注意力權(quán)重進(jìn)行歸一化,性能會急劇下降。作者認(rèn)為原因是不同用戶歷史交互項的數(shù)量差異很大,這與參考文獻(xiàn)[2]的發(fā)現(xiàn)是一致的。
圖6顯示了負(fù)實例采樣率對DIAN模型的影響,從圖中可以清楚地看到,每個正實例只有一個負(fù)采樣不足以實現(xiàn)良好的性能,對負(fù)實例進(jìn)行更多的采樣非常重要。對于這2個數(shù)據(jù)集,DIAN模型的每個正實例采樣的負(fù)實例的最佳數(shù)量約為5個。
此外,嵌入尺寸的大小對性能的影響見表3。從表3中可以看出在所有情況下,本文提出的DIAN模型都實現(xiàn)了最佳的性能。特別地,與NAIS不同,DIAN不受較小的嵌入尺寸的限制,并且在嵌入尺寸較小時具有良好的性能。在所有的結(jié)果中,DIAN相對于NAIS平均提升了1.9%以上,證明了雙歸一化自注意網(wǎng)絡(luò)的有效性,能輔助DIAN從模型的輸入中挖掘出更多的隱藏信息。
本文將自注意力網(wǎng)絡(luò)引入基于條目的CF的推薦系統(tǒng)中并對標(biāo)準(zhǔn)的自注意力網(wǎng)絡(luò)進(jìn)行改進(jìn),提出了更適用于推薦系統(tǒng)的雙歸一化自注意力網(wǎng)絡(luò)。在此基礎(chǔ)上還提出了一個雙向條目注意網(wǎng)絡(luò)(DIAN),它通過考慮用戶的歷史條目分別對目標(biāo)條目和用戶興趣的差異化貢獻(xiàn)來建模用戶的個性化興趣表示。在2個真實數(shù)據(jù)集上進(jìn)行的大量實驗證明了DIAN模型的有效性,且證明了該模型具有良好的競爭力。
這項工作側(cè)重于僅基于條目建模條目的關(guān)系,但基于用戶的協(xié)同過濾確實能發(fā)現(xiàn)許多條目的隱藏關(guān)系。將來,作者計劃在2個方面改進(jìn)DIAN。一是,嘗試把用戶鄰居信息輸入到模型中;二是,探索對抗性的個性化排名學(xué)習(xí),以研究可能的性能改進(jìn)。
圖 5 NAIS的平滑指數(shù)β和SAIS的平滑指數(shù)γ對模型性能的影響Fig.5 Impact of smoothing exponent β in NAIS and smoothing exponent γ in SAIS
圖 6 每個正實例采樣的負(fù)實例的個數(shù)影響Fig.6 Performance of DIAN model for the number of negative instances per positive instance
表 3 嵌入尺寸對模型性能的影響Table 3 Impact of embedding size on the performance %