亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于知識(shí)圖譜嵌入與多神經(jīng)網(wǎng)絡(luò)的序列推薦算法*

        2020-10-10 02:39:48沈冬東汪海濤
        關(guān)鍵詞:圖譜卷積建模

        沈冬東,汪海濤,姜 瑛,陳 星

        (昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院,云南 昆明 650500)

        1 引言

        現(xiàn)有推薦系統(tǒng)的熱門研究方向大致可分為2類:傳統(tǒng)推薦算法[1]和序列推薦算法[2]。傳統(tǒng)的推薦算法主要建模的是用戶長(zhǎng)期穩(wěn)定的偏好,隨著時(shí)間的變化發(fā)生著緩慢的變化。其中基于矩陣分解技術(shù)的推薦方法是該領(lǐng)域最著名的技術(shù)[3]。但是,用戶的行為意圖可能受各種因素的影響,例如,興趣演變、即時(shí)需求等。最近,由于序列推薦算法在建模項(xiàng)目與項(xiàng)目之間的順序關(guān)系方面的優(yōu)勢(shì)而備受關(guān)注,并且這種優(yōu)勢(shì)滿足了探索用戶短期偏好的需求。主要?dú)w功于循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(Recurrent Neural Network)在其他領(lǐng)域的成功應(yīng)用,特別是在自然語(yǔ)言處理NLP(Natural Language Proces- sing)領(lǐng)域[4],基于RNN的方法已經(jīng)成為序列推薦算法的主流模型[5]。

        標(biāo)準(zhǔn)RNN假設(shè)連續(xù)項(xiàng)目之間是分布均勻的。例如,在NLP應(yīng)用程序中,句子中任意2個(gè)詞語(yǔ)之間的間隔可視為是相等的,并且句子中的詞語(yǔ)都經(jīng)過(guò)組織以表達(dá)同一種語(yǔ)義。但是,在推薦系統(tǒng)領(lǐng)域,用戶交互序列要復(fù)雜得多。例如,用戶連續(xù)操作之間的時(shí)間間隔可能有所不同,憑直覺(jué),時(shí)間間隔近的操作傾向于共享更緊密的聯(lián)系。用戶連續(xù)操作之間的意圖也多種多樣,并不共享同一目的。這也導(dǎo)致RNN難以充分地建模用戶的時(shí)間信息和上下文信息。

        相反地,卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Network)在NLP[6]以及計(jì)算機(jī)視覺(jué)CV(Computer Vision)中學(xué)習(xí)上下文信息時(shí)表現(xiàn)出強(qiáng)大的優(yōu)勢(shì)。因此,研究CNN與RNN的結(jié)合將會(huì)對(duì)用戶偏好建模產(chǎn)生有益的影響。但是,用戶偏好建模方法可能會(huì)受到如下假設(shè)的影響,用戶不同時(shí)期的興趣點(diǎn)對(duì)當(dāng)前用戶偏好的預(yù)測(cè)具有同等貢獻(xiàn)。這并不符合現(xiàn)實(shí)世界中的實(shí)際情況,因?yàn)橛脩羝秒S著時(shí)間推移發(fā)生著變化,不同時(shí)期的興趣點(diǎn)對(duì)當(dāng)前偏好的影響大不相同。由于自注意力機(jī)制在NLP領(lǐng)域的成功應(yīng)用[7],本文采用深度學(xué)習(xí)的最新進(jìn)展自注意力機(jī)制來(lái)學(xué)習(xí)不同興趣點(diǎn)對(duì)最終偏好的不同重要性。

        在上述2類熱門研究中,項(xiàng)目相似性的計(jì)算往往占有重要的地位,現(xiàn)有的序列推薦算法常采用基于項(xiàng)目嵌入的方法item2vec[8]來(lái)獲取項(xiàng)目之間的相似性。這類方法只關(guān)注用戶的交互序列來(lái)獲取相似性,而忽略了項(xiàng)目屬性、內(nèi)容之間的聯(lián)系。例如,在電影推薦中,同一導(dǎo)演、同一主演等信息可能成為用戶選擇影片的重要決定因素。因此,使用item2vec生成的項(xiàng)目向量缺乏對(duì)項(xiàng)目?jī)?nèi)容信息的考慮,而且在項(xiàng)目向量生成過(guò)程中往往會(huì)受到數(shù)據(jù)高度稀疏的影響。為了降低這些影響,研究人員通常轉(zhuǎn)向功能豐富的場(chǎng)景,在這些場(chǎng)景中,用戶和項(xiàng)目的屬性信息用于補(bǔ)償數(shù)據(jù)稀疏性并提高推薦的效果[9]。最近的一些研究[10]比僅使用屬性更進(jìn)了一步,其指出屬性不是孤立的而是相互關(guān)聯(lián)的,形成一個(gè)知識(shí)圖譜KG(Knowledge Graph)。通常,KG是有向異構(gòu)圖,其中節(jié)點(diǎn)對(duì)應(yīng)于實(shí)體(項(xiàng)目或項(xiàng)目屬性),而邊對(duì)應(yīng)于關(guān)系。與不使用KG的方法相比,將KG納入推薦可以通過(guò)3種方式使結(jié)果受益[11]:(1)KG中項(xiàng)目之間的豐富語(yǔ)義關(guān)聯(lián)可以幫助探索其潛在的聯(lián)系并提高結(jié)果的準(zhǔn)確性;(2)KG中各種關(guān)系有助于合理地?cái)U(kuò)大用戶的興趣并增加推薦項(xiàng)目的多樣性;(3)KG連接了用戶的歷史喜好和推薦的商品,從而為推薦系統(tǒng)帶來(lái)了可解釋性。知識(shí)圖譜的提出正好為推薦系統(tǒng)注入新的活力,知識(shí)圖譜將海量多源數(shù)據(jù)整合形成一種結(jié)構(gòu)化的知識(shí)圖。通過(guò)對(duì)知識(shí)圖譜中的知識(shí)抽取,得到更加詳盡的項(xiàng)目特征信息,從而使得項(xiàng)目相似性的計(jì)算更加精確,進(jìn)而生成推薦。

        基于上述觀察,本文提出一種基于知識(shí)圖譜嵌入與多神經(jīng)網(wǎng)絡(luò)的序列推薦算法,命名為KG-AttCRNN,以實(shí)現(xiàn)更好的用戶偏好建模,解決用戶序列中的時(shí)間間隔不一致性以及動(dòng)態(tài)意圖不一致性。首先,基于知識(shí)圖譜提出一個(gè)更有效的項(xiàng)目嵌入方法。然后,根據(jù)用戶的歷史交互順序?qū)⒂脩舻男蛄袆澐譃椴煌臅r(shí)期,使用CNN學(xué)習(xí)用戶序列的上下文信息,生成用戶的興趣點(diǎn)向量。最后,使用長(zhǎng)短時(shí)記憶LSTM(Long Short-Term Memory)神經(jīng)網(wǎng)絡(luò)和自注意力機(jī)制動(dòng)態(tài)地融合用戶的興趣點(diǎn),生成用戶偏好,進(jìn)而生成推薦。

        2 相關(guān)工作

        隨著知識(shí)圖譜的研究引入推薦,推薦系統(tǒng)的準(zhǔn)確性和可解釋性得到了很好的提升?;谥R(shí)圖譜的推薦方法大致分為基于本體的推薦[12]、基于開放鏈接數(shù)據(jù)的推薦[13]和基于圖嵌入的推薦。其中基于圖嵌入的技術(shù)在推薦系統(tǒng)研究中扮演著重要的角色,DeepWalk[14]較早將圖嵌入技術(shù)應(yīng)用到推薦系統(tǒng),其將用戶與項(xiàng)目嵌入到同一向量空間,計(jì)算用戶與項(xiàng)目的相似度從而生成推薦。DeepWalk的隨機(jī)游走存在許多的變體,例如node2vec[15]通過(guò)改變隨機(jī)游走的方式來(lái)更深層次學(xué)習(xí)項(xiàng)目之間的相似性。

        具體到序列推薦算法,序列推薦的早期工作幾乎都是基于序列模式挖掘[16]和過(guò)渡建模[17]的,隨著深度神經(jīng)網(wǎng)絡(luò)引入序列推薦,序列推薦算法得到了快速發(fā)展。Hidasi等人[18]首先應(yīng)用遞歸神經(jīng)網(wǎng)絡(luò)建立基于會(huì)話的推薦,顯著優(yōu)于基于項(xiàng)目的方法。Quadrana等人[19]重點(diǎn)關(guān)注一些基于會(huì)話的推薦場(chǎng)景,并開發(fā)了具有跨會(huì)話信息傳輸?shù)姆謱友h(huán)神經(jīng)網(wǎng)絡(luò)。Donkers等人[2]通過(guò)表示各個(gè)用戶來(lái)擴(kuò)展RNN,以便生成個(gè)性化的下一個(gè)項(xiàng)目推薦。Tang等人[20]提出一種卷積序列建模方法,用水平和垂直卷積層來(lái)學(xué)習(xí)用戶的歷史序列。

        盡管這些模型已經(jīng)考慮了用戶的序列信息,但是用戶的順序行為和歷史偏好的動(dòng)態(tài)一致性仍然未被很好地開發(fā)。相比之下,本文通過(guò)整合用戶的不同時(shí)期的興趣偏好進(jìn)行項(xiàng)目推薦,充分考慮了用戶興趣偏好的演變。

        3 基于知識(shí)圖譜嵌入與多神經(jīng)網(wǎng)絡(luò)的序列推薦

        本文提出的序列推薦算法,主要由項(xiàng)目嵌入和用戶偏好學(xué)習(xí)2部分組成,算法的整體流程圖如圖1所示。

        Figure 1 Overall flow chart of the proposed algorithm 圖1 本文算法整體流程圖

        3.1 序列推薦

        3.2 項(xiàng)目嵌入

        在算法第1階段,項(xiàng)目嵌入旨在從項(xiàng)目的大量順序行為中學(xué)習(xí)項(xiàng)目的相似性來(lái)為每一個(gè)項(xiàng)目生成統(tǒng)一表示。序列推薦的先前工作是使用one-hot編碼或在深度學(xué)習(xí)框架中添加額外的嵌入層表示項(xiàng)目[2]。然而,對(duì)于大型推薦系統(tǒng)中的一系列物品,一方面,one-hot編碼可能需要花費(fèi)無(wú)法承受的時(shí)間,并且由于高度稀疏性導(dǎo)致無(wú)法很好地優(yōu)化[21]。另一方面,添加額外的嵌入層可能會(huì)使網(wǎng)絡(luò)在某種程度上失去一定的性能。更重要的是,這2種方法都不能揭示用戶交互序列中隱含的項(xiàng)目順序相似性。在這種情況下,有必要找到一種有效的表示方法,以直接從用戶的交互序列中學(xué)習(xí)高質(zhì)量的項(xiàng)目向量,結(jié)果揭示相似的項(xiàng)目往往彼此接近。近年來(lái),神經(jīng)嵌入技術(shù)在許多領(lǐng)域取得了巨大的成功,如自然語(yǔ)言處理、社交網(wǎng)絡(luò)和推薦。在這些工作中,item2vec[8]是Skip-gram與負(fù)抽樣的重要擴(kuò)展之一,用于為基于項(xiàng)目的協(xié)同過(guò)濾推薦產(chǎn)生項(xiàng)目嵌入。

        item2vec項(xiàng)目嵌入方法僅考慮到用戶的交互序列來(lái)學(xué)習(xí)項(xiàng)目之間的順序相似性。計(jì)算項(xiàng)目相似性不僅應(yīng)考慮項(xiàng)目的順序相似性,還需要考慮到項(xiàng)目之間的內(nèi)容屬性信息。本文提出一種結(jié)合知識(shí)圖譜結(jié)構(gòu)信息的改進(jìn)item2vec來(lái)捕獲項(xiàng)目的相似性,同時(shí)將項(xiàng)目的交互信息與項(xiàng)目本身的信息結(jié)合起來(lái)嵌入到低維空間中,所得向量能很好地揭示項(xiàng)目之間的相似性。

        3.2.1 知識(shí)圖譜抽取序列

        本文首先構(gòu)建知識(shí)圖譜,然后使用node2vec[15]算法思想構(gòu)建隨機(jī)游走序列。以電影特征為例,其中的實(shí)體包括影片、導(dǎo)演、演員類型等,基于電影信息構(gòu)建的知識(shí)圖譜如圖2所示。

        Figure 2 Movie knowledge graph圖2 電影知識(shí)圖譜

        本文使用node2vec中的隨機(jī)游走方式獲取隨機(jī)游走路徑,然后從其中提取出電影實(shí)體序列。node2vec的廣度遍歷和深度遍歷能很好地抽取實(shí)體間的同質(zhì)性和同構(gòu)性。隨機(jī)游走的概率為:

        (1)

        其中,πvx是未歸一化概率,Z表示其中的歸一化常數(shù)。ci表示隨機(jī)游走中的第i個(gè)節(jié)點(diǎn),v和x表示知識(shí)圖譜中的節(jié)點(diǎn),E表示知識(shí)圖譜。對(duì)于常見的隨機(jī)游走,πvx和實(shí)體邊權(quán)重之間的關(guān)系為:πvx=αpq(t,x)·wvx,wvx為節(jié)點(diǎn)v和節(jié)點(diǎn)x之間的權(quán)重。系數(shù)αpq(t,x)計(jì)算方式如下所示:

        (2)

        其中,t表示上一個(gè)節(jié)點(diǎn),x表示隨機(jī)游走中下一個(gè)可能的節(jié)點(diǎn),通過(guò)p和q的值來(lái)控制深度和廣度游走,dtx表示節(jié)點(diǎn)t和x之間的最短距離。本文使用node2vec的深度游走策略獲取得項(xiàng)目序列作為下一步item2vec的輸入,更好地捕獲項(xiàng)目之間的相似性。通過(guò)知識(shí)圖譜的序列抽取得到序列集合Hk={I1,I2,…,Im},其中Ii={x1,x2,…,xn}表示生成的一條隨機(jī)游走序列。

        3.2.2 項(xiàng)目嵌入

        將從知識(shí)圖譜抽取的序列與現(xiàn)有的用戶交互序列相結(jié)合,作為item2vec的輸入,最終得到項(xiàng)目的嵌入向量。知識(shí)圖譜序列能夠彌補(bǔ)采用項(xiàng)目序列嵌入較少考慮項(xiàng)目?jī)?nèi)容信息等缺點(diǎn)。

        神經(jīng)項(xiàng)目嵌入模型類比于詞向量模型,用戶交互的項(xiàng)目隨著時(shí)間自然地形成順序序列,知識(shí)圖譜得到項(xiàng)目序列,將兩者結(jié)合類比于自然語(yǔ)句。同一主演、同一導(dǎo)演和擁有相同上下文信息的項(xiàng)目在嵌入空間上中離得很近。具體來(lái)說(shuō),給定用戶交互序列集合H={S1,S2,…,SN}以及知識(shí)圖譜得到的序列集合Hk={I1,I2,…,IN},item2vec技術(shù)的Skip-gram模型旨在最大化以下目標(biāo):

        (3)

        其中,N是序列Si和Ii的長(zhǎng)度,xi表示序列中的項(xiàng)目,p(xj|xi)定義為softmax函數(shù):

        (4)

        (5)

        其中,σ(x)為sigmoid函數(shù),S表示本文為每個(gè)正樣本繪制的負(fù)樣本數(shù)量,方便優(yōu)化模型。經(jīng)過(guò)上面的一系列變形,目標(biāo)函數(shù)由式(3)變?yōu)槭?5):

        arg maxtarget=

        (6)

        最后,通過(guò)傳統(tǒng)的梯度下降法訓(xùn)練item2vec,并獲得所有項(xiàng)目的高質(zhì)量分布式向量表示。

        在歷史交互序列和知識(shí)圖譜抽取序列的幫助下,使用item2vec可以捕獲項(xiàng)目的相似性,并生成統(tǒng)一的項(xiàng)目表示空間,其中嵌入產(chǎn)生的向量可以解釋項(xiàng)目的相似性和順序關(guān)系。對(duì)于每個(gè)用戶u,可以生成具有嵌入項(xiàng)的交互序列,如下所示:

        Ru={v1,v2,…,vn}

        (7)

        其中,vj表示項(xiàng)目xj的d維潛在向量。

        3.3 偏好學(xué)習(xí)

        在獲得項(xiàng)目的嵌入向量后,本文通過(guò)所提出的序列建模框架建模用戶的個(gè)性化偏好。通過(guò)CNN學(xué)習(xí)用戶興趣點(diǎn)的方法能解決LSTM在建模用戶序列時(shí)忽略時(shí)間間隔不規(guī)則性和用戶意圖不同性的問(wèn)題。時(shí)間間隔近的用戶序列往往共享著相同的興趣點(diǎn),CNN在NLP和 CV中已被證明建模上下文的能力很強(qiáng),而且已有研究證明了CNN在建模序列上下文方面優(yōu)于傳統(tǒng)的RNN[22]。因此,本文將CNN作用于用戶的興趣點(diǎn),充分考慮用戶的上下文信息來(lái)學(xué)習(xí)用戶的興趣點(diǎn)。

        3.3.1 興趣點(diǎn)學(xué)習(xí)

        興趣的學(xué)習(xí)首先需要根據(jù)用戶交互序列時(shí)間戳的信息劃分用戶的交互序列,然后使用CNN學(xué)習(xí)用戶的興趣點(diǎn)。本文將用戶的序列分為長(zhǎng)中短3個(gè)時(shí)期,動(dòng)態(tài)地學(xué)習(xí)用戶的偏好,卷積偏好建模的模型如圖3所示。

        Figure 3 Framework of interest points learning 圖3 興趣點(diǎn)學(xué)習(xí)框架圖

        本文使用一維卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)用戶的興趣點(diǎn),學(xué)習(xí)不同時(shí)間段的興趣點(diǎn)。CNN有良好的兼顧上下文信息的能力,能夠更好地建模用戶在一個(gè)時(shí)間段的興趣點(diǎn),挖掘用戶的興趣偏好。傳統(tǒng)的CNN要獲取充分的上下文信息,需要一個(gè)非常深的網(wǎng)絡(luò)或者非常大的過(guò)濾器。本文將膨脹卷積應(yīng)用到興趣點(diǎn)偏好學(xué)習(xí)中,對(duì)于一維序列輸入X∈RN和濾波器f:{0,…,k-1}∈R,其中,N為輸入的維度,對(duì)該序列的元素的卷積運(yùn)算F定義為:

        (8)

        其中,d表示項(xiàng)目向量維度,k是卷積核大小,s-d·i表示卷積操作過(guò)去的方向。f表示卷積操作中的濾波器,s表示序列中的元素。圖3a中v0表示項(xiàng)目向量,PT+1表示第T+1次輸出結(jié)果,b表示膨脹卷積的膨脹因子。因此,膨脹卷積在每2個(gè)相鄰的濾波器之間引入一個(gè)固定的階躍。當(dāng)b=1時(shí),膨脹卷積變?yōu)橐?guī)則卷積。使用大的膨脹因子可以使頂層的輸出代表更大范圍的輸入,從而有效地?cái)U(kuò)展了CNN的接收范圍。本文的殘差塊包含一個(gè)分支,該分支通過(guò)F的一系列變形,其輸出被添加到塊的輸入中:

        o=Activation(X+F(X))

        (9)

        通過(guò)CNN的學(xué)習(xí),得出用戶u的興趣點(diǎn)序列Pu={P1,P2,…,Pj}。

        3.3.2 偏好學(xué)習(xí)

        用戶的偏好由用戶的興趣點(diǎn)組成,通常使用累加或者全連接層的方法來(lái)實(shí)現(xiàn),這2種方法都缺乏對(duì)用戶偏好的動(dòng)態(tài)融合。本文設(shè)計(jì)了一種自適應(yīng)的信息融合方式,決定哪個(gè)興趣點(diǎn)更重要時(shí),取決于特定的上下文信息。因此,以動(dòng)態(tài)方式進(jìn)行信息融合是有益的,用戶的興趣點(diǎn)隨著用戶交互形成興趣點(diǎn)序列,其中包含相應(yīng)的時(shí)間信息和上下文信息。本文提出基于注意力與雙向長(zhǎng)短時(shí)記憶BiLSTM(Bidirectional Long Short-Term Memory)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)用戶的偏好,算法的框架如圖4所示。

        Figure 4 Dynamic fusion of interest points圖4 興趣點(diǎn)動(dòng)態(tài)融合圖

        如圖4所示,興趣點(diǎn)的動(dòng)態(tài)融合由2部分組成:BiLSTM和注意力機(jī)制。其中BiLSTM通過(guò)充分利用序列的前向和后向上下文信息更好地學(xué)習(xí)用戶偏好。對(duì)興趣點(diǎn)進(jìn)行融合時(shí),每個(gè)交互的隱藏狀態(tài)由先前狀態(tài)hj-1和當(dāng)前興趣點(diǎn)向量Pj所更新。更具體地說(shuō),對(duì)于第j個(gè)興趣點(diǎn),LSTM的學(xué)習(xí)過(guò)程如下所示:

        (10)

        (11)

        (12)

        (13)

        hj=ojtanh(cj)

        (14)

        (15)

        (16)

        上述模型認(rèn)為所有的興趣點(diǎn)對(duì)最終偏好預(yù)測(cè)有著相同的影響程度,更聰明的推薦系統(tǒng)應(yīng)該能區(qū)分不同的興趣點(diǎn)對(duì)當(dāng)前偏好預(yù)測(cè)的重要性,對(duì)所有興趣點(diǎn)分配相同的權(quán)重是不合理的。需要找到合適的方式為興趣點(diǎn)賦予不同的權(quán)重,即:

        (17)

        受近期成功使用注意力機(jī)制的啟發(fā)[7],本文使用自注意力機(jī)制實(shí)現(xiàn)動(dòng)態(tài)權(quán)重的分配。自注意力機(jī)制的權(quán)重計(jì)算公式如下所示:

        a=softmax(w1tanh (w2H))

        (18)

        3.4 算法的訓(xùn)練與優(yōu)化

        將連續(xù)項(xiàng)目嵌入作為網(wǎng)絡(luò)的輸入,輸出為下一個(gè)項(xiàng)目的預(yù)測(cè)。在全局學(xué)習(xí)階段,本文使用均方誤差MSE(Mean Square Error)作為損失函數(shù),其定義為:

        (19)

        其中,ζ()是MSE函數(shù),vt是目標(biāo)用戶u在下次訪問(wèn)時(shí)訪問(wèn)的項(xiàng)目表示,Su表示相互作用序列,Su∈M,其中,M為用戶序列集合,|M|表示序列的數(shù)量。本文使用Adagrad優(yōu)化損失函數(shù)[23],設(shè)置的更多細(xì)節(jié)將在實(shí)驗(yàn)中指定。

        這個(gè)塑膠廠的結(jié)構(gòu)和剛才那個(gè)染料廠大同小異,大帥道:我來(lái)。說(shuō)完從地上撿起石頭,左小龍忙握住他的胳膊,說(shuō),等等。

        3.5 算法描述

        算法基于知識(shí)圖譜嵌入與多神經(jīng)網(wǎng)絡(luò)的序列推薦算法

        輸入:數(shù)據(jù)集S、本體庫(kù)。

        輸出:Top-N推薦列表。

        步驟1將數(shù)據(jù)集S和本體庫(kù)一起構(gòu)建知識(shí)圖譜得到知識(shí)圖K;

        步驟2通過(guò)node2vec改進(jìn)的隨機(jī)游走,從知識(shí)圖譜K中獲得隨機(jī)游走序列集合Hk={I1,I2,…,In}。

        步驟3將獲得的隨機(jī)游走序列集合Hk={I1,I2,…,In}和數(shù)據(jù)集S中用戶交互序列集合H={S1,S2,…,Sn}一起使用item2vec訓(xùn)練獲得項(xiàng)目Ru={v1,v2,…,vn}。

        步驟4按照時(shí)序信息將用戶序列劃分為不同時(shí)期,通過(guò)膨脹一維CNN學(xué)習(xí)用戶興趣點(diǎn)向量,生成不同時(shí)期的興趣點(diǎn)向量集合Pu={P1,P2,…,Pj}。

        4 實(shí)驗(yàn)

        本節(jié)從以下幾個(gè)方面證明所提出模型的有效性:(1)總體推薦性能的比較;(2)知識(shí)圖譜和自注意力機(jī)制對(duì)算法的影響;(3)嵌入維度對(duì)算法性能的分析以及算法冷啟動(dòng)的性能分析;(4)算法的優(yōu)缺點(diǎn)分析。

        4.1 數(shù)據(jù)集

        本文采用真實(shí)世界中的數(shù)據(jù)集MovieLens10M進(jìn)行實(shí)驗(yàn)。MovieLens10M數(shù)據(jù)集是來(lái)自真實(shí)世界中的電影用戶評(píng)分?jǐn)?shù)據(jù)集,包含71 567個(gè)用戶對(duì)10 681部電影的10 000 054個(gè)評(píng)分信息。其中最短的用戶交互序列為20,平均交互序列長(zhǎng)度為115,評(píng)分信息為1~5。

        本文使用Microsoft Satori為數(shù)據(jù)集構(gòu)建知識(shí)圖譜庫(kù)。首先從整個(gè)KG中選擇三元組子集,其關(guān)系名稱包含電影,置信度大于0.9。給定子KG,通過(guò)將所有有效電影/書籍的名稱與三元組(head,film.film.name,tail)或(head,book.book.title,tail)的尾部匹配來(lái)收集電影的ID。為簡(jiǎn)單起見,排除未匹配或有多個(gè)匹配實(shí)體的項(xiàng)目。然后,將電影ID與所有KG三元組的頭部和尾部進(jìn)行匹配,從子KG中選擇所有匹配良好的三元組,并迭代地將實(shí)體集擴(kuò)展到4個(gè)跳躍點(diǎn)。以此構(gòu)建本文的電影知識(shí)圖譜。

        為了確保實(shí)驗(yàn)結(jié)果的可靠性,本文對(duì)數(shù)據(jù)集做如下處理:首先過(guò)濾掉與用戶交互次數(shù)小于5的項(xiàng)目;對(duì)數(shù)據(jù)集隨機(jī)劃分,90%作為訓(xùn)練集,10%作為測(cè)試集。

        4.2 基線方法

        本文將提出的算法與傳統(tǒng)的方法以及基于RNN模型的方法作對(duì)比。基線方法描述如下:

        (1)Item-KNN:為用戶推薦與交互歷史項(xiàng)目相似的Top-k個(gè)項(xiàng)目。

        (2)Exp.Dec.Item-based k-NN[24]:在Item-KNN基礎(chǔ)上加入了指數(shù)衰減分量,用來(lái)懲罰很久前交互的項(xiàng)目。

        (3)Matrix Factorization (MF):是一種廣泛使用的矩陣分解方法,它通過(guò)隨機(jī)梯度下降優(yōu)化成對(duì)排序目標(biāo)函數(shù)。

        (4)Seq.Matrix Factorization[25]:在MF的基礎(chǔ)上加入用戶交互序列信息,擴(kuò)展為序列MF方法。

        (5)GRU[2]:使用了標(biāo)準(zhǔn)的GRU(Gate Recurrent Unit)將用戶交互的項(xiàng)目和其對(duì)應(yīng)的動(dòng)作一起嵌入學(xué)習(xí)用戶的交互模式,最后輸出用戶下一個(gè)可能的交互項(xiàng)目。

        (6)Caser[20]:通過(guò)卷積神經(jīng)網(wǎng)絡(luò)模擬用戶的歷史交互,并通過(guò)最小化交叉熵來(lái)優(yōu)化整個(gè)網(wǎng)絡(luò)。

        4.3 參數(shù)設(shè)置

        本節(jié)討論在算法的設(shè)計(jì)與實(shí)驗(yàn)中,關(guān)鍵參數(shù)的設(shè)置。本文算法主要分為2個(gè)主要部分:項(xiàng)目嵌入和偏好學(xué)習(xí)。在項(xiàng)目嵌入過(guò)程中,獲取知識(shí)圖譜的隨機(jī)游走次數(shù),隨機(jī)游走獲得的序列長(zhǎng)度與數(shù)據(jù)集中的平均長(zhǎng)度保持一致。item2vec訓(xùn)練過(guò)程中,上下窗口大小window-d=4,嵌入維度d=300。在偏好學(xué)習(xí)過(guò)程中,模型的dropout率為0.1。

        4.4 評(píng)估指標(biāo)

        由于推薦系統(tǒng)每次都只能推薦較少的項(xiàng)目,相關(guān)項(xiàng)目應(yīng)該在推薦列表中排名第1。因此,本文使用以下2個(gè)評(píng)估指標(biāo)評(píng)估個(gè)性化的下一項(xiàng)推薦質(zhì)量:

        (1)Recall@20:主要評(píng)估指標(biāo)召回率,是所有測(cè)試案例中前20個(gè)推薦項(xiàng)目中具有所需項(xiàng)目的比例。其中,Recall@20不區(qū)分具有不同排名的項(xiàng)目,只要它們屬于推薦列表即可。

        (2)MRR@20:平均倒數(shù)排名MRR(Mean Reciprocal Rank),其是期望項(xiàng)目倒數(shù)排名的平均值。與Recall度量相同,本文將20設(shè)置為貢獻(xiàn)值,這意味著如果排名高于20,則將倒數(shù)等級(jí)設(shè)置為零??紤]到推薦的順序,MRR會(huì)考慮每個(gè)推薦項(xiàng)目的排名。

        這2個(gè)評(píng)估指標(biāo)越高,表示結(jié)果的表現(xiàn)越好。

        4.5 實(shí)驗(yàn)結(jié)果及分析

        4.5.1 整體性能分析

        本節(jié)首先對(duì)推薦算法的整體推薦性能做分析,然后逐步分析本文算法的有效性。本文算法與基線方法的性能比較如表1所示。

        Table 1 Overall performance analysis 表1 整體性能分析

        為了證明本文算法的有效性,將KG-AttCNN與傳統(tǒng)方法以及在同類型先進(jìn)的下一項(xiàng)方法進(jìn)行比較。表1所示為真實(shí)數(shù)據(jù)集MovieLens上本文算法與多種方法的結(jié)果。從表1實(shí)驗(yàn)結(jié)果可知,加入了時(shí)間因素和序列因素的推薦算法相比傳統(tǒng)算法性能有所提升,Seq.Matrix Factorization與MF以及Exp.Dec.Item-based k-NN與Item-KNN的實(shí)驗(yàn)結(jié)果證明了考慮興趣的衰減和動(dòng)態(tài)變化的有效性。從整體來(lái)看,本文的KG-AttCRNN在推薦系統(tǒng)評(píng)價(jià)指標(biāo)MRR以及Recall上明顯優(yōu)于其他所有方法的。結(jié)果表明,KG-AttCRNN擅長(zhǎng)處理來(lái)自用戶交互的個(gè)性化順序信息。相比較傳統(tǒng)的推薦算法,基于RNN和基于CNN的序列推薦有了顯著的改進(jìn),這得益于知識(shí)圖譜與卷積神經(jīng)網(wǎng)絡(luò)的有效設(shè)計(jì)。本文的KG-AttCRNN能區(qū)別性地融合用戶歷史偏好以及用戶交互的時(shí)間間隔不一致性,從而產(chǎn)生高質(zhì)量的個(gè)性化推薦。

        4.5.2 知識(shí)圖譜與注意力機(jī)制的影響

        為了進(jìn)一步驗(yàn)證本文算法的有效性,本節(jié)對(duì)算法中的每一部分進(jìn)行實(shí)驗(yàn)分析,本文主要考慮的2個(gè)部分為知識(shí)圖譜與自注意力機(jī)制。本文將不加入知識(shí)圖譜嵌入,僅采用用戶交互序列生成項(xiàng)目嵌入的序列推薦算法命名為AttCRNN;在興趣偏好融合方法中未加入自注意力機(jī)制的序列推薦算法命名為KG-CRNN。與本文所提出的KG- AttCRNN做對(duì)比,實(shí)驗(yàn)結(jié)果如表2所示。

        Table 2 Influence of KG and attention mechanism on algorithm performance 表2 KG和注意力機(jī)制對(duì)算法性能的影響

        從表2實(shí)驗(yàn)結(jié)果可以得出,知識(shí)圖譜與自注意力機(jī)制的加入能提高推薦算法的準(zhǔn)確性。AttCRNN僅僅考慮了交互序列中項(xiàng)目的ID信息,并沒(méi)有充分考慮項(xiàng)目自身的內(nèi)容和屬性信息,而知識(shí)圖譜可以加入結(jié)構(gòu)化信息,使得AttCRNN在項(xiàng)目表示時(shí)加入項(xiàng)目的內(nèi)容信息和屬性信息,能夠更準(zhǔn)確地描述項(xiàng)目,其推薦的準(zhǔn)確性也得到了提高。其中,注意力機(jī)制的影響更大,在缺少注意力機(jī)制的情況下,用戶的偏好僅采用隱藏狀態(tài)向量的均值表示,注意力機(jī)制的加入能使算法對(duì)用戶偏好進(jìn)行個(gè)性化的優(yōu)化。從實(shí)驗(yàn)結(jié)果中也能看出,使用CNN與RNN模型的融合能帶來(lái)準(zhǔn)確性的提升。

        4.5.3 嵌入維度及算法冷啟動(dòng)分析

        本節(jié)將對(duì)算法中的嵌入維度及算法冷啟動(dòng)進(jìn)行分析,在其他參數(shù)不變的情況下,將嵌入維度設(shè)置成不同的值來(lái)探索其對(duì)推薦算法的影響,實(shí)驗(yàn)結(jié)果如表3所示。

        Table 3 Impact of embedded dimensions on performance表3 嵌入維度對(duì)性能的影響

        從表3中可以觀察到,隨著維度的升高,算法性能得到提升,但是嵌入達(dá)到一定的限度后主要的評(píng)價(jià)的指標(biāo)Recall@20反而有所降低,而且2個(gè)評(píng)價(jià)指標(biāo)表現(xiàn)出不同的變化趨勢(shì),最佳嵌入維度也不相同。嵌入維度過(guò)大可能導(dǎo)致數(shù)據(jù)的稀疏性,訓(xùn)練難度加大,進(jìn)一步可能會(huì)導(dǎo)致過(guò)擬合發(fā)生。由于該算法的主要評(píng)價(jià)指標(biāo)為召回率,所以本文算法設(shè)置嵌入維度為300與其他方法作對(duì)比。

        本文將測(cè)試數(shù)據(jù)從用戶的第2次交互開始一直到從第50次交互開始來(lái)檢驗(yàn)算法的冷啟動(dòng)效果,實(shí)驗(yàn)結(jié)果如圖5所示。

        Figure 5 Performance analysis of algorithm cold start 圖5 算法冷啟動(dòng)性能分析

        本文提出的算法在新用戶冷啟動(dòng)方面有先天的優(yōu)勢(shì),相比較傳統(tǒng)的協(xié)同過(guò)濾和矩陣分解需要大量的交互記錄生成推薦,該算法可以用已經(jīng)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)來(lái)適應(yīng)新的網(wǎng)絡(luò)。如圖5所示,算法在新用戶冷啟動(dòng)推薦上有較好的推薦效果,在用戶交互記錄不多時(shí),算法退化為僅使用短期偏好進(jìn)行推薦的CNN結(jié)構(gòu);隨著用戶交互記錄的不斷增多,算法的推薦效果不斷提升,優(yōu)于標(biāo)準(zhǔn)的GRU,證明了建模用戶不同興趣點(diǎn)的有效性。

        4.6 算法優(yōu)缺點(diǎn)分析

        本文通過(guò)對(duì)基于RNN的推薦方法進(jìn)行分析和改進(jìn),提出一種基于混合神經(jīng)網(wǎng)絡(luò)與知識(shí)圖譜的序列推薦算法。算法具有推薦準(zhǔn)確度高、能緩解數(shù)據(jù)稀疏性、緩解冷啟動(dòng)問(wèn)題、推薦更具可解釋性等優(yōu)點(diǎn)。但是,算法相比基于RNN的算法加入了CNN、KG與注意力機(jī)制,導(dǎo)致算法需要較長(zhǎng)的訓(xùn)練時(shí)間和更昂貴的硬件設(shè)備。

        5 結(jié)束語(yǔ)

        本文通過(guò)考慮推薦系統(tǒng)領(lǐng)域用戶交互序列特殊的研究點(diǎn),提出一種融合知識(shí)圖譜與深度學(xué)習(xí)的細(xì)粒度序列推薦算法KG-AttCRNN。重點(diǎn)在于通過(guò)對(duì)序列的細(xì)粒度分析,詳細(xì)地建模了用戶的時(shí)間動(dòng)態(tài)性和意圖動(dòng)態(tài)性,彌補(bǔ)了現(xiàn)有方法對(duì)此的忽略,最后的實(shí)驗(yàn)結(jié)果驗(yàn)證了本文算法的有效性。在未來(lái),將考慮用戶交互的項(xiàng)目更細(xì)致的信息,例如用戶停留的時(shí)間、操作的次數(shù)等,更進(jìn)一步地建模用戶的偏好。

        猜你喜歡
        圖譜卷積建模
        基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
        繪一張成長(zhǎng)圖譜
        聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃?chǎng)中做圓周運(yùn)動(dòng)”為例
        從濾波器理解卷積
        電子制作(2019年11期)2019-07-04 00:34:38
        基于PSS/E的風(fēng)電場(chǎng)建模與動(dòng)態(tài)分析
        電子制作(2018年17期)2018-09-28 01:56:44
        不對(duì)稱半橋變換器的建模與仿真
        基于傅里葉域卷積表示的目標(biāo)跟蹤算法
        補(bǔ)腎強(qiáng)身片UPLC指紋圖譜
        中成藥(2017年3期)2017-05-17 06:09:01
        主動(dòng)對(duì)接你思維的知識(shí)圖譜
        一種基于卷積神經(jīng)網(wǎng)絡(luò)的性別識(shí)別方法
        国产精品污www一区二区三区| 亚洲国产精品成人av网| 护士的小嫩嫩好紧好爽| 国产专区国产av| 国产自产av一区二区三区性色 | 中文字幕亚洲综合久久久| 欧美日本精品一区二区三区| 无码国产精品一区二区免费模式| 2022Av天堂在线无码| 久久天堂精品一区专区av| 美腿丝袜在线一区二区| 亚洲人成影院在线观看| 日本欧美在线播放| 成人综合激情自拍视频在线观看 | 亚洲日韩中文字幕无码一区| av人摸人人人澡人人超碰小说| 91免费国产高清在线| 加勒比日韩视频在线观看| 大屁股人妻女教师撅着屁股| jizz国产精品免费麻豆| 日韩人妻av不卡一区二区三区| 亚洲精品第一页在线观看| 亚洲色婷婷一区二区三区| 无码av在线a∨天堂毛片| 青青草好吊色在线视频| 国产老熟妇精品观看| 国产无遮挡a片又黄又爽| 日本丰满少妇高潮呻吟| 喷水白浆视频在线观看| 无码乱人伦一区二区亚洲一 | 日韩精品无码视频一区二区蜜桃| 亚洲一区二区三区在线观看播放| 亚洲av色香蕉一区二区三区潮| 亚洲日韩国产av无码无码精品| а中文在线天堂| 一本久久a久久精品综合| 中文字幕亚洲精品一区二区三区| 特级婬片国产高清视频| 国产传媒在线视频| 精品一级一片内射播放| 熟女无套内射线观56|