冀欣婷,諾明花,2
(1. 內(nèi)蒙古大學(xué) 計(jì)算機(jī)(軟件)學(xué)院,內(nèi)蒙古 呼和浩特 010021;2. 內(nèi)蒙古自治區(qū)蒙古文信息處理技術(shù)重點(diǎn)實(shí)驗(yàn)室,內(nèi)蒙古 呼和浩特 010021)
在如今這個(gè)信息過(guò)載的時(shí)代,推薦系統(tǒng)的身影無(wú)處不在。例如,在電子商務(wù)領(lǐng)域[1],推薦系統(tǒng)可以通過(guò)用戶的購(gòu)買記錄和搜索記錄為用戶提供相似產(chǎn)品和相關(guān)產(chǎn)品;電影、圖書、音樂(lè)[2-3]等網(wǎng)站可以通過(guò)用戶的歷史觀看記錄為用戶提供可能感興趣的其他產(chǎn)品;微博等社交平臺(tái)通過(guò)用戶已關(guān)注的好友或內(nèi)容為用戶推薦相關(guān)好友和其他感興趣的內(nèi)容。這些推薦系統(tǒng)不僅可以緩解信息過(guò)載的問(wèn)題,還能提供個(gè)性化的需求服務(wù)。
推薦系統(tǒng)的主要思想就是通過(guò)挖掘用戶的特征以及物品的特征來(lái)實(shí)現(xiàn)對(duì)特定用戶的推薦。傳統(tǒng)的用戶特征往往只能依靠用戶的固有屬性來(lái)構(gòu)建,如年齡、性別、職業(yè)等,但是這些屬性并不能很好地反映用戶對(duì)于物品的偏好。另外,傳統(tǒng)的推薦系統(tǒng)需要依靠大量的用戶和物品的交互行為來(lái)實(shí)現(xiàn)推薦,如用戶的購(gòu)買記錄或是用戶對(duì)物品的評(píng)分記錄等,推薦的結(jié)果依賴于用戶物品交互矩陣。因此,數(shù)據(jù)的稀疏性以及新用戶的冷啟動(dòng)問(wèn)題給推薦結(jié)果的準(zhǔn)確性和可解釋性帶來(lái)了挑戰(zhàn)。
針對(duì)以上問(wèn)題,本文提出了一種融合標(biāo)簽和知識(shí)圖譜的推薦方法(Combining Tag and Knowledge Graph for Recommendation, CTK),該模型主要包含三個(gè)部分,第一個(gè)部分是將用戶給物品貼的標(biāo)簽嵌入到低維向量空間,從中挖掘用戶的興趣偏好,進(jìn)而作為用戶的特征進(jìn)行推薦。第二個(gè)部分是融合知識(shí)圖譜中豐富的實(shí)體信息,依據(jù)不同的關(guān)系屬性將這些知識(shí)圖譜的實(shí)體進(jìn)行分組卷積(Knowledge graph Grouping Convolutional Neural Network, KGCNN),構(gòu)建物品的特征。此外,本文還提出了一種融合注意力和自注意力的混合注意力模型(Hybrid Attention Model),利用標(biāo)簽和實(shí)體信息挖掘用戶對(duì)物品的偏好以及物品自身特征,在兩者的共同作用之下為物品特征分配混合注意力權(quán)重,從而提高了推薦的個(gè)性化、準(zhǔn)確性和可解釋性。最終在公開的真實(shí)數(shù)據(jù)集MovieLens(1)http://movielens.org.和Last.FM(2)http://www.lastfm.com上證明了CTK模型的有效性。
本文的主要貢獻(xiàn)如下: ①通過(guò)挖掘用戶給物品貼的標(biāo)簽中豐富的語(yǔ)義信息,發(fā)現(xiàn)用戶的興趣偏好,構(gòu)建用戶特征; ②利用知識(shí)圖譜中大量的實(shí)體信息,通過(guò)KGCNN模型更細(xì)粒度地刻畫物品特征; ③提出融合注意力和自注意力的混合注意力模型,為不同的物品特征分配混合注意力權(quán)重。
基于協(xié)同過(guò)濾的推薦算法(Collaborative-Filtering,CF)[4]是最為廣泛使用的一種推薦算法,但是使用CF算法的前提是需要大量的用戶和物品的交互行為所構(gòu)成的(用戶,物品)行為對(duì),這對(duì)于稀疏數(shù)據(jù)和新用戶就會(huì)產(chǎn)生冷啟動(dòng)問(wèn)題[5],并且推薦的可解釋性也較差。當(dāng)然,這些問(wèn)題在基于內(nèi)容的推薦算法(Content-based,CB)[6-8]中也同樣存在。
隨著深度學(xué)習(xí)的不斷發(fā)展,許多深度學(xué)習(xí)的算法[9]融入到推薦系統(tǒng)中,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)[10]由于其具有平移不變性和共享全局參數(shù)的特點(diǎn),可以在降低網(wǎng)絡(luò)復(fù)雜度的同時(shí)更好的提取對(duì)象特征,對(duì)于構(gòu)建用戶特征和物品特征方面有很好的效果。
針對(duì)以上算法的優(yōu)點(diǎn)和缺點(diǎn),目前的推薦算法大多是融合它們的混合推薦算法(Hybrid Recommendation)[11],以此來(lái)避免單個(gè)算法所存在的缺點(diǎn)?;跇?biāo)簽的推薦算法(Tag-based, TB)[8,12]通過(guò)分析用戶的標(biāo)簽所體現(xiàn)出來(lái)的用戶偏好和物品特征,基于二者的相似性為用戶進(jìn)行物品推薦??椎热薣13]提出了一種基于標(biāo)簽權(quán)重評(píng)分的推薦模型,該方法通過(guò)給每個(gè)標(biāo)簽配以相應(yīng)的評(píng)分,來(lái)描述該物品或用戶在該標(biāo)簽上的權(quán)重,從而在獲取用戶最準(zhǔn)確的需求和評(píng)價(jià)后進(jìn)行推薦。王等人[14]對(duì)標(biāo)簽中不同類型對(duì)象構(gòu)建異構(gòu)網(wǎng)絡(luò)模型,將模型中的不同類型頂點(diǎn)進(jìn)行同空間映射,基于同空間映射后的網(wǎng)絡(luò)引入馬爾可夫模型實(shí)現(xiàn)標(biāo)簽評(píng)分和推薦。閏等人[15]提出一種基于標(biāo)簽混合語(yǔ)義空間的音樂(lè)推薦方法,通過(guò)將標(biāo)簽分別映射到流派、情感和上下文三個(gè)語(yǔ)義空間后,計(jì)算用戶和歌曲的相似度,再通過(guò)不同方法將這三個(gè)空間的相似度進(jìn)行融合,從而對(duì)用戶進(jìn)行歌曲推薦。Yang等人[12]針對(duì)用戶-項(xiàng)目的數(shù)據(jù)稀疏性,通過(guò)分析用戶的社會(huì)化標(biāo)簽,再將其嵌入到低維向量空間從而實(shí)現(xiàn)推薦。
2012年谷歌正式提出了“知識(shí)圖譜”這個(gè)術(shù)語(yǔ)[16]。知識(shí)圖譜(Knowledge Graph,KG)可以用來(lái)反映真實(shí)世界中存在的各種實(shí)體(Entity)或概念(Concept),以及它們之間的關(guān)聯(lián)關(guān)系(Relation)。知識(shí)圖譜的提出為推薦系統(tǒng)提供了新的技術(shù),一方面,其知識(shí)庫(kù)包含了大量的實(shí)體,其中有些實(shí)體與推薦物品本身相一致,比如說(shuō)電影名稱、音樂(lè)名稱和書籍名稱等,另一些實(shí)體包含了與推薦物品相關(guān)聯(lián)的屬性,比如導(dǎo)演、主演和發(fā)行商等,通過(guò)從知識(shí)圖譜中抽取這些更加細(xì)粒度的信息作為用戶和物品的屬性特征,加入到傳統(tǒng)模型中,實(shí)現(xiàn)基于特征的推薦方法,從而提高推薦的準(zhǔn)確性。Moreno等人[17]通過(guò)構(gòu)建旅游領(lǐng)域的本體結(jié)合協(xié)同過(guò)濾的混合方法實(shí)現(xiàn)推薦。Passant等人[18]利用已有的音樂(lè)數(shù)據(jù)集,通過(guò)SPARQL語(yǔ)句映射到公開知識(shí)庫(kù)DBpedia中以獲取音樂(lè)資源更為豐富的屬性信息,最后通過(guò)計(jì)算相關(guān)實(shí)體之間語(yǔ)義距離實(shí)現(xiàn)推薦。另一方面,由于知識(shí)圖譜本質(zhì)是一個(gè)存儲(chǔ)實(shí)體與實(shí)體之間關(guān)系的結(jié)構(gòu)化網(wǎng)絡(luò),因此可以將它和用戶行為數(shù)據(jù)集成起來(lái)構(gòu)造用戶-物品網(wǎng)絡(luò),從而擴(kuò)展用戶與物品之間存在的隱藏的關(guān)聯(lián)關(guān)系。Zhao等人[19]將知識(shí)圖譜視為一個(gè)異構(gòu)信息網(wǎng)絡(luò),通過(guò)尋找連接兩個(gè)實(shí)體的一條特定的路徑meta-graph,來(lái)構(gòu)造物品之間的基于meta-graph的特征,從而挖掘物品之間的潛在關(guān)系。Ding等人[20]將多關(guān)系的社交網(wǎng)絡(luò)和用戶的偏好相結(jié)合,對(duì)不同類型的數(shù)據(jù)采用一種通用的表示,然后通過(guò)基于meta-graph的相似度度量方法來(lái)捕獲不同數(shù)據(jù)之間的語(yǔ)義關(guān)系,進(jìn)而實(shí)現(xiàn)推薦。此外,通過(guò)知識(shí)圖譜特征學(xué)習(xí)(Knowledge Graph Embedding)可以將知識(shí)圖譜中的每個(gè)實(shí)體和關(guān)系映射到連續(xù)的低維向量空間進(jìn)行特征表示,不僅保持了原有的結(jié)構(gòu)和語(yǔ)義信息,還對(duì)此進(jìn)行擴(kuò)充。Wang等人[21]提出一種DKN模型,通過(guò)對(duì)新聞標(biāo)題中的單詞和知識(shí)圖譜中的實(shí)體以及相關(guān)上下文實(shí)體進(jìn)行嵌入,經(jīng)過(guò)多通道的卷積網(wǎng)絡(luò)融合(KCNN)實(shí)現(xiàn)新聞推薦。之后Wang等人[22]模擬了用戶興趣在知識(shí)圖譜上的傳播過(guò)程,類似于水波的傳播,以用戶的歷史記錄為中心,在知識(shí)圖譜上向外逐層擴(kuò)散,其擴(kuò)散過(guò)程是衰弱遞減的,將涉及到的實(shí)體推薦給用戶。此外,他們還提出了一種MKR模型[23],推薦系統(tǒng)中的物品和知識(shí)圖譜中的實(shí)體存在大量的重合,因此兩個(gè)任務(wù)是具有相關(guān)性的。一個(gè)是用戶和物品的特征學(xué)習(xí)任務(wù),另一個(gè)是知識(shí)圖譜的三元組特征學(xué)習(xí)任務(wù),再通過(guò)一個(gè)交叉單元將兩個(gè)任務(wù)進(jìn)行連接,最終實(shí)現(xiàn)推薦。
近些年來(lái),注意力(Attention)模型在特征提取方面取得了不錯(cuò)的效果,因此在自然語(yǔ)言處理領(lǐng)域中有著廣泛的應(yīng)用。Vaswani等人[24]提出了Transformer模型,通過(guò)注意力來(lái)表示源序列和目標(biāo)序列之間的全局依賴關(guān)系;Zhou等人[25]設(shè)計(jì)了一個(gè)基于注意力的本地激活單元,從用戶歷史行為中挖掘用戶的興趣偏好;Yuan等人[26]通過(guò)自注意力(self-attention)和深度學(xué)習(xí)建模用戶交互數(shù)據(jù)中的關(guān)聯(lián)關(guān)系,更好地表示用戶的潛在偏好。
本節(jié)將介紹一種融合標(biāo)簽和知識(shí)圖譜的推薦方法,本文將它稱為CTK模型。
CTK模型針對(duì)任意推薦任務(wù)是可以通用的,本文以電影推薦為例展開介紹。在2.1節(jié)中介紹CTK模型框架,2.2節(jié)中介紹用戶標(biāo)簽嵌入部分,然后在2.3節(jié)中介紹融合知識(shí)圖譜的物品特征表示方法,最后在2.4節(jié)中介紹混合注意力模型的相關(guān)細(xì)節(jié)。
融合標(biāo)簽和知識(shí)圖譜的推薦模型CTK如圖1所示,CTK以用戶給物品貼的標(biāo)簽和融合了知識(shí)圖譜中不同關(guān)系對(duì)應(yīng)實(shí)體的物品信息作為輸入,通過(guò)將用戶給物品貼的標(biāo)簽嵌入到低維向量空間中,獲取標(biāo)簽的語(yǔ)義信息,再經(jīng)過(guò)全連接層就得到了用戶特征U;對(duì)于從知識(shí)圖譜中獲得的大量實(shí)體,根據(jù)不同關(guān)系類型分別進(jìn)行實(shí)體嵌入,再通過(guò)KGCNN模型進(jìn)行分組卷積和池化,得到對(duì)應(yīng)實(shí)體的特征。這些特征和標(biāo)簽嵌入一同作為混合注意力模型的輸入,計(jì)算不同實(shí)體的混合注意力權(quán)重。將KGCNN的輸出結(jié)果與其他特征進(jìn)行拼接,送入多層感知器 (Multi-layer Perceptron, MLP)之后再結(jié)合混合注意力權(quán)重得到物品特征I。
圖1 CTK模型
獲得了用戶特征U和物品特征I之后,便可以將它們拼接后送入到全連接層實(shí)現(xiàn)對(duì)用戶的物品推薦,如式(1)所示。
y′=σ(Wconcat(U,I)+b)
(1)
其中,W和b代表特征矩陣的權(quán)重和偏置,通過(guò)模型訓(xùn)練來(lái)不斷修正,將最終輸出的推薦結(jié)果y ′回歸到真實(shí)評(píng)分y,采用均方誤差函數(shù)(MSE)優(yōu)化損失。
標(biāo)簽嵌入部分先將用戶給物品貼的標(biāo)簽映射到潛在的特征向量表示,即標(biāo)簽嵌入矩陣,再將標(biāo)簽嵌入矩陣送入全連接層,輸出最終的用戶特征表示,下面對(duì)標(biāo)簽嵌入部分進(jìn)行詳細(xì)介紹。
首先介紹標(biāo)簽的定義,標(biāo)簽是一種涵蓋了物品屬性和用戶情感的多層面信息,例如,MovieLens的用戶可以為電影標(biāo)注“funny”“toolong”“ChrisColumbus”等標(biāo)簽,來(lái)構(gòu)成(用戶,物品,標(biāo)簽)三元組標(biāo)簽信息;微博允許用戶用標(biāo)簽標(biāo)識(shí)自身特征,用于描述用戶的信息。這些標(biāo)簽作為一種文本信息,其潛在的語(yǔ)義空間既包含了用戶的興趣偏好,也體現(xiàn)了用戶的特征信息,可以更深層次地挖掘用戶之間的相似性,進(jìn)而更加精準(zhǔn)地刻畫用戶特征。我們將標(biāo)簽定義為t=[t1,t2,t3,…,tn],其中,tk表示用戶給物品貼的第k個(gè)標(biāo)簽,t∈Rd,d是標(biāo)簽的維度。然后構(gòu)建標(biāo)簽嵌入矩陣T∈Rm×d,m為用戶標(biāo)注過(guò)的物品的數(shù)量。另外,由于用戶u對(duì)同一個(gè)電影可能會(huì)標(biāo)注多個(gè)標(biāo)簽,因此,這里將用戶對(duì)同一個(gè)電影的多個(gè)標(biāo)簽按照權(quán)重進(jìn)行求和,如式(2)所示。
Tu=∑witi,ti∈tu
(2)
其中,tu是用戶u的標(biāo)簽集合,wi是標(biāo)簽ti歸一化后的權(quán)重,代表了ti對(duì)于用戶u的重要程度。
對(duì)于用戶的其他特征,比如數(shù)據(jù)中可能還包含了用戶ID、年齡、性別等其他信息,同樣可用此方法構(gòu)建相應(yīng)的嵌入矩陣,并在第一層全連接中分別用激活函數(shù)構(gòu)建相應(yīng)的層,如式(3)所示。
UT=ReLU(WTT+bT)
(3)
其中,WT和bT分別為標(biāo)簽嵌入矩陣的權(quán)重和偏置,UT表示標(biāo)簽嵌入矩陣經(jīng)過(guò)ReLU函數(shù)后的標(biāo)簽特征,之后再聯(lián)合其余的各個(gè)特征送入MLP,最終得到用戶特征U,如式(4)所示。
U= MLPL[U1U2…UT]
(4)
其中,Uk表示用戶的第k個(gè)特征,L是MLP隱藏層的層數(shù)。
知識(shí)圖譜由很多(實(shí)體,關(guān)系,實(shí)體)形式的三元組數(shù)據(jù)組成,其中大量實(shí)體之間的關(guān)系對(duì)象可以看作是實(shí)體的屬性,如(Harry Potter and the Sorcerer’s Stone, film director, Chris Columbus)和(Harry Potter and the Sorcerer’s Stone, film stars, Rupert Grint),其中“Chris Columbus”和“Rupert Grint”是不同關(guān)系“film director”“film stars”所對(duì)應(yīng)的屬性值,根據(jù)不同的關(guān)系,實(shí)體可以進(jìn)行更細(xì)粒度的劃分。
得到實(shí)體嵌入矩陣后,再將其送入到分組卷積模型(以下簡(jiǎn)稱KGCNN模型)中求得物品的實(shí)體特征,如圖2所示。
圖2 KGCNN模型
KGCNN模型是CTK框架中的重要組成部分,它是將不同關(guān)系類型對(duì)應(yīng)的實(shí)體嵌入矩陣作為模型的輸入,然后在卷積層通過(guò)不同尺寸的濾波核進(jìn)行特征的提取,再利用最大池化法輸出實(shí)體特征。
對(duì)于物品的其他信息,例如,電影ID、類型等,將其嵌入矩陣送入全連接層后獲得對(duì)應(yīng)的特征。之后再與實(shí)體特征連接,送入到多層感知器,得到物品的特征表示,下面將介紹KGCNN的具體細(xì)節(jié)。
正如前文所講,我們已經(jīng)得到了不同關(guān)系類型對(duì)應(yīng)的實(shí)體嵌入矩陣Er,之后對(duì)于卷積層中的每一層使用濾波器M來(lái)進(jìn)行局部特征抽取,如式(5)所示。
G=Me
(5)
(6)
其中,ReLU是非線性激活函數(shù),⊙代表卷積操作,b是偏置,對(duì)于不同層的卷積滑動(dòng)窗口的大小也是不同的。之后對(duì)實(shí)體嵌入矩陣中每一個(gè)可能的位置進(jìn)行濾波,得到特征表示Sr,如式(7)所示。
(7)
然后使用最大池化法對(duì)最終特征進(jìn)行選擇,如式(8)所示。
(8)
正如前文所講,我們獲得了不同關(guān)系對(duì)應(yīng)的實(shí)體特征,但是不同的特征對(duì)物品的影響程度不同,而且不同的用戶,對(duì)每個(gè)特征的關(guān)注度也不同。比如有的用戶更加在意電影的導(dǎo)演,而有的用戶則更加關(guān)注電影的發(fā)行商,因此為每個(gè)特征分配注意力權(quán)重是十分有必要的。
本文提出的融合注意力和自注意力的混合注意力(Hybrid Attention)模型包含兩個(gè)部分,如圖3所示,第Ⅰ部分是結(jié)合用戶的標(biāo)簽信息獲得注意力權(quán)重,如式(9)、式(10)所示。
圖3 混合注意力模型
(9)
(10)
第Ⅱ部分是通過(guò)不同的實(shí)體特征計(jì)算自注意力權(quán)重,如式(11)所示。
(11)
最終將這兩個(gè)權(quán)重結(jié)合,得到混合注意力權(quán)重,并作用在物品特征S上,經(jīng)過(guò)全連接層后得到最終的物品特征I,如式(12)、式(13)所示。
W和b代表權(quán)重和偏置。
第一個(gè)是Group Lens實(shí)驗(yàn)室提供的MovieLens電影評(píng)分?jǐn)?shù)據(jù)集ml-latest-small[27],該數(shù)據(jù)集包括610名用戶針對(duì)9 742部電影的 100 386個(gè)五星評(píng)分和3 683個(gè)標(biāo)簽。此外,本文還根據(jù)該數(shù)據(jù)集中的電影,通過(guò)對(duì)IMDB網(wǎng)站進(jìn)行網(wǎng)頁(yè)爬取,構(gòu)建電影領(lǐng)域的小型知識(shí)圖譜,其中關(guān)系類型定義為三種: film director、film stars和film publish,共計(jì)4 360個(gè)實(shí)體。
本文使用的第二個(gè)數(shù)據(jù)集是Last.FM,該數(shù)據(jù)集包含1 892個(gè)用戶的社交網(wǎng)絡(luò)標(biāo)簽以及一些歌手的信息。使用Wang等人[23]的知識(shí)圖譜進(jìn)行擴(kuò)展,構(gòu)建音樂(lè)領(lǐng)域的小型知識(shí)圖譜。本文使用的基本數(shù)據(jù)信息如表1所示。
表1 數(shù)據(jù)集和知識(shí)圖譜中的基本數(shù)據(jù)信息
續(xù)表
本文實(shí)驗(yàn)中所用到評(píng)價(jià)指標(biāo)主要有MAE、MSE、P@N和AUC,下面將分別對(duì)其進(jìn)行說(shuō)明。
平均絕對(duì)誤差(Mean Absolute Error,MAE)是絕對(duì)誤差的平均值,平均絕對(duì)誤差能更好地反映預(yù)測(cè)值誤差的實(shí)際情況,數(shù)值越小代表模型越好。
均方誤差函數(shù)(Mean Squared Error,MSE)一般用來(lái)檢測(cè)模型的預(yù)測(cè)值和真實(shí)值之間的偏差,是它們間差值平方的期望值。MSE的值越小,說(shuō)明預(yù)測(cè)模型描述實(shí)驗(yàn)數(shù)據(jù)具有更好的精確度。
準(zhǔn)確率(Precision@N,P@N)是推薦系統(tǒng)中最常用的指標(biāo)之一,它代表前N個(gè)推薦結(jié)果中的相關(guān)物品所占的比率。P@N越大,推薦結(jié)果越好。
AUC(Area Under Curve)被定義為ROC曲線下的面積,它是一類用來(lái)衡量分類好壞的性能指標(biāo),其值越大,代表分類器效果越好。
ConvMF[28]: 第一個(gè)基線是推薦系統(tǒng)中的經(jīng)典模型,它將物品的簡(jiǎn)介作為輔助信息,構(gòu)建了上下文感知的卷積矩陣分解模型。該基線通過(guò)捕獲文件的上下文信息來(lái)增強(qiáng)推薦的準(zhǔn)確性。
MFMP[29]: 該基線是基于Markov矩陣分解的推薦模型,該模型具有清晰的概率公式,可以廣泛地應(yīng)用于協(xié)同過(guò)濾算法。在本實(shí)驗(yàn)中,該基線所包含的數(shù)據(jù)不包括標(biāo)簽和相關(guān)實(shí)體數(shù)據(jù),只利用數(shù)據(jù)集中包含的一些數(shù)據(jù)。
TB[12]: 該基線是基于標(biāo)簽的推薦模型,通過(guò)將標(biāo)簽嵌入到低維向量空間形成用戶特征,然后再送入全連接的多層感知器中,發(fā)現(xiàn)用戶之間的相似性并做出推薦。
NCF[30]: 該基線利用深度神經(jīng)網(wǎng)絡(luò)表示用戶和物品的特征,并構(gòu)建了一個(gè)簡(jiǎn)潔且高效的基于神經(jīng)網(wǎng)絡(luò)的協(xié)同過(guò)濾框架。該基線通過(guò)將標(biāo)簽和知識(shí)圖譜中的相關(guān)實(shí)體分別嵌入到低維向量空間,再在各自的全連接層中形成相應(yīng)的特征表示,然后拼接送入多層感知器,學(xué)習(xí)它們的交互行為,從而實(shí)現(xiàn)推薦。
KCNN[21]: 該基線將不同關(guān)系類型對(duì)應(yīng)的實(shí)體作為多個(gè)通道,并且將它們拼接起來(lái)進(jìn)行卷積,在電影、音樂(lè)、圖書和新聞推薦中有很好的效果。
3.4.1 CTK模型性能測(cè)試
本文按照8:2將實(shí)驗(yàn)數(shù)據(jù)隨機(jī)分為訓(xùn)練集和測(cè)試集,矩陣的嵌入維度(embedding dim)為32,卷積核個(gè)數(shù)為8,滑動(dòng)窗口大小分別為2、3、4、5,MLP的隱藏層為2層,學(xué)習(xí)率為 0.000 2,訓(xùn)練使用Tensorflow的Adam優(yōu)化器。開發(fā)工具為jupyter notebook,運(yùn)行環(huán)境為Windows x64系統(tǒng),使用Tensorflow 1.0和 Python 3.5。
表2展示了其他四個(gè)基線模型和本文CTK模型的MAE、MSE、P@10和AUC的性能指標(biāo)值,由結(jié)果可知,CTK模型在四個(gè)指標(biāo)上相對(duì)于其他模型都取得了最好的效果。其中,TB模型相比MFMP和ConvMF的整體效果提升,證明了標(biāo)簽這一數(shù)據(jù)可以更好地體現(xiàn)用戶特征,在其潛在的語(yǔ)義空間更深層次地挖掘了用戶之間的相關(guān)性。NCF、KCNN和CTK模型的效果證明了知識(shí)圖譜中的實(shí)體嵌入對(duì)于推薦性能的提升。相比較于NCF、KCNN和CTK中的卷積網(wǎng)絡(luò),可以更好地對(duì)實(shí)體中的特征進(jìn)行抽取;并且由于實(shí)體之間關(guān)系屬性的不同,實(shí)體可以更細(xì)粒度地開發(fā)利用。根據(jù)不同關(guān)系屬性對(duì)象, CTK模型對(duì)實(shí)體進(jìn)行分組卷積,將輸出的結(jié)果拼接送入到多層感知器,可以更好地對(duì)物品進(jìn)行特征提取,并且通過(guò)標(biāo)簽和實(shí)體信息挖掘出用戶對(duì)物品的偏好以及物品自身的特征,因此取得了最好的效果。
表2 基線系統(tǒng)和本文CTK模型的實(shí)驗(yàn)結(jié)果
3.4.2 混合注意力模型性能測(cè)試
為了驗(yàn)證本文2.4節(jié)提出的混合注意力(Hybrid Attention)模型的有效性,在MovieLens數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn),所有模型的參數(shù)設(shè)置是一致的,實(shí)驗(yàn)結(jié)果如表3所示。
表3 注意力模型對(duì)比實(shí)驗(yàn)結(jié)果
與傳統(tǒng)的注意力和自注意力模型不同,我們的模型使用局部信息來(lái)計(jì)算權(quán)重,并將權(quán)重作用在整體特征上。例如,傳統(tǒng)的注意力[21,25]模型(Attention)是以用戶特征和物品特征作為輸入,然后將輸出結(jié)果作用于物品特征上;而我們的模型(Attention(our))是將用戶的標(biāo)簽特征和物品的實(shí)體特征作為輸入,然后將輸出結(jié)果作用于物品特征上,以此來(lái)挖掘用戶偏好對(duì)物品特征的影響。同理,在計(jì)算自注意力權(quán)重時(shí),傳統(tǒng)的自注意力[24]模型(Self-attention)是以物品特征作為輸入并將輸出結(jié)果作用于物品特征上;而我們是將實(shí)體特征作為模型(Self-attention(our))的輸入并將計(jì)算結(jié)果作用于物品特征上,體現(xiàn)物品自身特征的不同側(cè)重。實(shí)驗(yàn)結(jié)果表明,我們的模型取得了更好的效果,這驗(yàn)證了將局部信息作用于整體信息可以更好地挖掘特征,減少信息過(guò)多帶來(lái)的消極影響。此外,我們提出的混合注意力模型(Hybrid Attention)在三個(gè)評(píng)價(jià)指標(biāo)上均取得了最好的結(jié)果,驗(yàn)證了該模型的有效性。它不僅可以通過(guò)自注意力提取自身的特征,還可以通過(guò)注意力挖掘用戶對(duì)特征的偏好,最終二者共同作用為物品特征分配權(quán)重,從而提升了模型的準(zhǔn)確度與個(gè)性化。
3.4.3 模型參數(shù)對(duì)實(shí)驗(yàn)的影響
本文在MovieLens數(shù)據(jù)集上針對(duì)知識(shí)圖譜的嵌入規(guī)模以及標(biāo)簽和實(shí)體的嵌入維度對(duì)模型的影響進(jìn)行了實(shí)驗(yàn),結(jié)果如圖4、圖5所示;除此之外,本文還測(cè)試了MLP隱藏層的層數(shù)對(duì)于模型推薦性能的影響,實(shí)驗(yàn)結(jié)果如表4所示。
表4 CTK模型中MLP隱藏層的層數(shù)的對(duì)比結(jié)果
圖4 CTK模型知識(shí)圖譜嵌入規(guī)模的對(duì)比結(jié)果
圖5 CTK模型嵌入維度的對(duì)比結(jié)果
從圖4中可以看到,隨著知識(shí)圖譜的嵌入規(guī)模的增大,各個(gè)實(shí)驗(yàn)指標(biāo)均有所提升,這就證明了知識(shí)庫(kù)中包含的大量實(shí)體以及它們之間的關(guān)系可以為物品提供非常豐富的描述信息,能夠更好地提取物品特征,進(jìn)而提高推薦的性能和可解釋性。
圖5中給出了嵌入維度(embedding_dim)參數(shù)對(duì)于推薦模型的性能影響,我們將嵌入的維度分別定義為32、64、128和256維。實(shí)驗(yàn)結(jié)果表明,隨著嵌入維度的增大,各個(gè)實(shí)驗(yàn)指標(biāo)均有所提升,這是因?yàn)楦蟮那度刖S度就意味著可以編碼更多的有用信息,因此提高了推薦性能。但是可以看到當(dāng)嵌入維度等于256維時(shí),指標(biāo)是有所下降的,這說(shuō)明了當(dāng)嵌入維度過(guò)大時(shí),就會(huì)不可避免地引入更多的噪聲,反而降低了推薦效果。
表4的實(shí)驗(yàn)結(jié)果顯示,MLP可以將模型的嵌入層和池化層提取得到的多個(gè)特征進(jìn)行整合。通過(guò)權(quán)重的學(xué)習(xí),獲得用戶和物品更為重要的特征,進(jìn)而優(yōu)化推薦性能。隨著MLP隱藏層層數(shù)的增加,模型的非線性表達(dá)能力提高,模型的學(xué)習(xí)能力也更強(qiáng)。但是同時(shí)模型的復(fù)雜度也在提高,當(dāng)層數(shù)過(guò)多時(shí),模型學(xué)習(xí)能力太好,參數(shù)太多,反而導(dǎo)致過(guò)擬合問(wèn)題的出現(xiàn),影響推薦效果。
本文提出了一種融合標(biāo)簽和知識(shí)圖譜的推薦方法,根據(jù)標(biāo)簽中的文本信息所蘊(yùn)含的用戶情感和物品偏好,可以更好地挖掘出用戶的潛在特征。而知識(shí)圖譜的融入為物品提供了豐富的信息,這些大量的實(shí)體以及實(shí)體之間的關(guān)系不僅準(zhǔn)確地刻畫了物品特征,還為推薦提供了可解釋性。此外,利用標(biāo)簽和實(shí)體信息,通過(guò)混合注意力模型可以更好地為物品特征分配混合注意力權(quán)重,既包含了用戶的偏好,也挖掘了自身的特征,從而提高推薦的個(gè)性化與準(zhǔn)確性。最終在真實(shí)數(shù)據(jù)集上驗(yàn)證了本文方法的有效性。
由于用戶的偏好會(huì)隨著時(shí)間的推移發(fā)生動(dòng)態(tài)變化,因此如何根據(jù)歷史物品的相關(guān)屬性變化來(lái)預(yù)測(cè)當(dāng)前時(shí)刻用戶的喜好,將成為本文的下一個(gè)研究方向。