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

        ?

        基于注意力機(jī)制與改進(jìn)TF-IDF 的推薦算法

        2021-08-20 04:53:44李昆侖于志波翟利娜趙佳耀
        計(jì)算機(jī)工程 2021年8期
        關(guān)鍵詞:項(xiàng)目組注意力向量

        李昆侖,于志波,翟利娜,趙佳耀

        (河北大學(xué)電子信息工程學(xué)院,河北保定 071000)

        0 概述

        隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,數(shù)據(jù)超載成為當(dāng)今數(shù)據(jù)爆炸時(shí)代面臨的困境之一。為解決數(shù)據(jù)超載難題,推薦系統(tǒng)應(yīng)運(yùn)而生。推薦系統(tǒng)旨在從龐大的數(shù)據(jù)中篩選出用戶感興趣的內(nèi)容并推薦給用戶,使在線用戶快速找到符合他們需要的個(gè)性化信息[1]。經(jīng)過多年發(fā)展,推薦系統(tǒng)的推薦性能得到了極大的提升。目前推薦算法主要分為基于協(xié)同過濾的推薦算法[2]、基于內(nèi)容的推薦算法[3]和混合推薦算法[4]?;趨f(xié)同過濾的推薦算法通過獲取用戶的歷史行為和評(píng)分?jǐn)?shù)據(jù)找到相似用戶,通過獲取相似用戶的喜好并向用戶推薦其未曾瀏覽過的項(xiàng)目。基于內(nèi)容的推薦算法主要依據(jù)用戶已經(jīng)選擇的項(xiàng)目或者評(píng)分,根據(jù)用戶的歷史行為信息去尋找與之相似的項(xiàng)目進(jìn)行推薦?;旌贤扑]算法將不同的推薦算法進(jìn)行融合后再推薦,獲得更好的推薦效果。隨著數(shù)據(jù)不斷增長(zhǎng),數(shù)據(jù)類型也越來越多樣化。傳統(tǒng)推薦算法無法學(xué)習(xí)到用戶或項(xiàng)目的深層次特征。如何充分利用多源異構(gòu)數(shù)據(jù)提高推薦系統(tǒng)性能,成為推薦系統(tǒng)研究的熱點(diǎn)[5]。

        近年來,深度學(xué)習(xí)(Deep Learning,DL)具有自身強(qiáng)大的學(xué)習(xí)能力,在圖像識(shí)別、語音識(shí)別、自然語言處理等領(lǐng)域得到廣泛的應(yīng)用[6]。深度學(xué)習(xí)善于挖掘和學(xué)習(xí)多源異構(gòu)數(shù)據(jù)中深層次的特征,通過將其與推薦系統(tǒng)結(jié)合獲得更高效的學(xué)習(xí)用戶和項(xiàng)目屬性的隱藏特征[7]。因此,越來越多的研究者將深度學(xué)習(xí)應(yīng)用到推薦系統(tǒng)中。盡管將神經(jīng)網(wǎng)絡(luò)應(yīng)用到推薦系統(tǒng)中能有效提高推薦性能,但不是所有的特征交互作用都能對(duì)預(yù)測(cè)結(jié)果做出貢獻(xiàn)。例如,在學(xué)習(xí)用戶或項(xiàng)目特征時(shí),與無用的特征相互作用可能會(huì)引入噪聲從而影響推薦系統(tǒng)性能[8]。

        本文提出一種基于注意力機(jī)制與改進(jìn)TF-IDF的推薦算法AMITI。將注意力機(jī)制引入卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)中,在卷積層前加入注意力網(wǎng)絡(luò),對(duì)經(jīng)過預(yù)處理的項(xiàng)目文本信息進(jìn)行重新賦權(quán)。將多層全連接神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的用戶特征向量和項(xiàng)目特征向量輸入到第2 層注意力機(jī)制中,使多層感知機(jī)(Multilayer Perceptron,MPL)對(duì)注意力分?jǐn)?shù)進(jìn)行參數(shù)化。在完成推薦任務(wù)后,通過將用戶評(píng)分和項(xiàng)目類別與TF-IDF 結(jié)合,分析不同項(xiàng)目類型在推薦結(jié)果中的權(quán)重,獲取用戶對(duì)不同項(xiàng)目類型的偏好程度,并對(duì)推薦結(jié)果進(jìn)行分類。

        1 相關(guān)工作

        1.1 注意力機(jī)制

        注意力機(jī)制(Attention Mechanism)最初被用在圖像處理領(lǐng)域。在對(duì)圖像進(jìn)行處理時(shí)注意力機(jī)制使神經(jīng)網(wǎng)絡(luò)更關(guān)注輸入數(shù)據(jù)的重點(diǎn)內(nèi)容[9]。

        MNIH等[10]將注意力機(jī)制與循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)結(jié)合用于圖像分類,減少了非必要信息的干擾,提高分類的準(zhǔn)確性。注意力機(jī)制被廣泛應(yīng)用于機(jī)器翻譯、特定目標(biāo)情感分析、語音識(shí)別等領(lǐng)域。將注意力機(jī)制引入到神經(jīng)網(wǎng)絡(luò)中,在處理句子分類問題時(shí)使網(wǎng)絡(luò)識(shí)別句子中的重要信息,并對(duì)這些信息給予更高的關(guān)注度,同時(shí)提高神經(jīng)網(wǎng)絡(luò)的可解釋性。夏斌等[11]將注意力機(jī)制引入到RNN,提出ARNN 結(jié)構(gòu)進(jìn)行位置推薦,利用目標(biāo)用戶的歷史簽到數(shù)據(jù)捕獲用戶的生活模式,并向用戶進(jìn)行可解釋性的位置推薦;CHEN 等[12]提出的AFM 模型不僅通過用戶的關(guān)注內(nèi)容整合項(xiàng)目特征,還增強(qiáng)了模型的可解釋性。

        1.2 基于深度神經(jīng)網(wǎng)絡(luò)的推薦算法

        隨著研究的深入,越來越多的深度神經(jīng)網(wǎng)絡(luò)模型被引入到推薦系統(tǒng)中[13]。基于深度學(xué)習(xí)的推薦方法能夠融入多源異構(gòu)數(shù)據(jù)并生成推薦,這些數(shù)據(jù)分為用戶的顯式反饋數(shù)據(jù)如評(píng)分、喜歡/不喜歡;隱式反饋數(shù)據(jù)如瀏覽、點(diǎn)擊等行為記錄;用戶屬性信息如性別、年齡、職業(yè)等;項(xiàng)目屬性信息如項(xiàng)目名稱、簡(jiǎn)介等;社交關(guān)系、標(biāo)簽、評(píng)論等輔助信息[14]。通過構(gòu)建多層神經(jīng)網(wǎng)絡(luò)來輸入項(xiàng)目或用戶的相關(guān)信息,采用回歸等方法對(duì)輸入數(shù)據(jù)進(jìn)行評(píng)分預(yù)測(cè),解決了傳統(tǒng)推薦算法中數(shù)據(jù)稀疏性和冷啟動(dòng)等難題[15]。文獻(xiàn)[16]提出一種基于神經(jīng)協(xié)同過濾的推薦模型(Neural Collaborative Filtering,NCF)。該模型通過一個(gè)并行的神經(jīng)網(wǎng)絡(luò)分別學(xué)習(xí)用戶與項(xiàng)目潛在特征向量,在預(yù)測(cè)層通過MLP將隱向量映射為預(yù)測(cè)值。NCF推薦模型如圖1所示,由兩個(gè)并行的神經(jīng)網(wǎng)絡(luò)組成,用戶和項(xiàng)目的評(píng)分?jǐn)?shù)據(jù)經(jīng)過嵌入層。嵌入層首先輸入數(shù)據(jù)分配索引,用索引構(gòu)建用戶和項(xiàng)目的特征序列;再將該索引轉(zhuǎn)換為具有固定大小的向量。通過嵌入層可將輸入層中高維稀疏的向量映射為低維稠密的向量表示。

        圖1 NCF 模型架構(gòu)Fig.1 NCF model architecture

        用戶和項(xiàng)目數(shù)據(jù)都是通過one-hot 編碼得到稀疏向量,經(jīng)過嵌入層得到用戶嵌入向量pu和項(xiàng)目嵌入向量qν作為多個(gè)全連接層的輸入。利用MLP 學(xué)習(xí)用戶和項(xiàng)目的交互函數(shù):

        其中:fMPL(·)為MLP 網(wǎng)絡(luò)中的激活函數(shù)。利用非線性激活函數(shù)增強(qiáng)模型的非線性和靈活性,定義MLP模型如式(2)~式(4)所示:

        其中:⊙表示元素積操作;yn,fn,wn,bn分別表示第n層的輸出值、激活函數(shù)、權(quán)值矩陣和第n層的偏置向量。

        NCF 模型利用MLP 提取高階特征信息以提高模型的推薦能力。在特征交互過程中并非所有的特征交互作用都能對(duì)預(yù)測(cè)結(jié)果做出貢獻(xiàn),忽視了歷史交互序列中項(xiàng)目對(duì)當(dāng)前預(yù)測(cè)所起的不同作用。因此,將注意力機(jī)制引入神經(jīng)網(wǎng)絡(luò)中為歷史交互序列的項(xiàng)目分配個(gè)性化權(quán)重,并將改進(jìn)TF-IDF 對(duì)推薦結(jié)果分組,向目標(biāo)用戶進(jìn)行項(xiàng)目組推薦。

        2 AMITI 推薦算法

        在NCF 推薦模型的基礎(chǔ)上將用戶和項(xiàng)目的屬性信息作為輸入數(shù)據(jù)u:{u1,u2,…,un},例如,用戶ID、年齡、性別等;項(xiàng)目屬性信息ν:{ν1,ν2,…,νn},例如,項(xiàng)目ID、類型、標(biāo)題等。AMITI 模型架構(gòu)如圖2 所示。

        圖2 AMITI 模型架構(gòu)Fig.2 AMITI model architecture

        引入雙層注意力機(jī)制,一層用于與CNN 結(jié)合構(gòu)建子網(wǎng)絡(luò),使CNN 學(xué)習(xí)項(xiàng)目文本中的重點(diǎn)內(nèi)容;另一層以用戶及項(xiàng)目特征向量作為輸入數(shù)據(jù),利用注意力機(jī)制為用戶歷史交互項(xiàng)目分配個(gè)性化權(quán)重,得到不同項(xiàng)目對(duì)當(dāng)前預(yù)測(cè)偏好所起的作用。將推薦結(jié)果分組,以項(xiàng)目組的形式向用戶展示推薦結(jié)果,增強(qiáng)推薦內(nèi)容的有序性。

        2.1 學(xué)習(xí)用戶和項(xiàng)目潛在特征

        為改善推薦系統(tǒng)中數(shù)據(jù)稀疏的問題,利用用戶和項(xiàng)目的屬性信息進(jìn)行評(píng)分預(yù)測(cè)。將用戶及項(xiàng)目屬性信息經(jīng)過數(shù)據(jù)預(yù)處理后輸入到嵌入層對(duì)屬性信息進(jìn)行編碼,嵌入層將輸入的稀疏向量映射為稠密的低維嵌入向量,得到用戶和項(xiàng)目屬性的嵌入表示pu和qν。在訓(xùn)練剛開始的時(shí)候,嵌入是簡(jiǎn)單的隨機(jī)選擇,隨著訓(xùn)練的進(jìn)行,每個(gè)嵌入的向量都會(huì)得到更新,以幫助神經(jīng)網(wǎng)絡(luò)執(zhí)行其任務(wù)。

        將用戶和項(xiàng)目的嵌入向量pu、qν輸入到并行的多層全連接神經(jīng)網(wǎng)絡(luò)中,分別學(xué)習(xí)用戶和項(xiàng)目非文本屬性的潛在特征向量。

        其中:f(·)為tanh 激活函數(shù);wn和bn分別為需要學(xué)習(xí)的權(quán)值矩陣和偏置。

        2.2 引入注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)

        對(duì)于項(xiàng)目屬性的文本信息如項(xiàng)目標(biāo)題,為了增強(qiáng)網(wǎng)絡(luò)對(duì)文本中重點(diǎn)內(nèi)容的學(xué)習(xí)能力,將注意力機(jī)制與CNN 結(jié)合構(gòu)成提取文本特征的子網(wǎng)絡(luò)。文本卷積神經(jīng)網(wǎng)絡(luò)構(gòu)成如圖3 所示,由注意力層、卷積層、池化層、全連接層組成。

        圖3 文本卷積神經(jīng)網(wǎng)絡(luò)Fig.3 Text convolutional neural network

        注意力層通過對(duì)每個(gè)項(xiàng)目文本的詞向量矩陣賦予注意力權(quán)重以得到更新后的詞向量矩陣。將項(xiàng)目文本內(nèi)容通過嵌入層得到詞向量矩陣E∈?n×d,其中d為詞向量的維度,即把每一個(gè)詞映射為d維向量xj∈?d,n為單詞的個(gè)數(shù);F∈?s×d表示目標(biāo)用戶ui瀏覽過的所有項(xiàng)目所攜帶文本信息的詞向量矩陣,xi為第i個(gè)詞的詞向量表示xi∈?d。計(jì)算目標(biāo)用戶詞向量矩陣F中每個(gè)詞匯的詞向量表示xi與項(xiàng)目所有文本詞向量矩陣E中每個(gè)詞匯xj的注意力分?jǐn)?shù)。

        通過softmax 函數(shù)對(duì)a(xi,xj)注意力分?jǐn)?shù)進(jìn)行歸一化處理,得到每個(gè)詞向量對(duì)應(yīng)的注意力權(quán)重aij。

        其中:aij∈As×d為注意力權(quán)重值,將注意力權(quán)重矩陣As×d與項(xiàng)目原詞向量矩陣F進(jìn)行向量拼接運(yùn)算,得到更新后的項(xiàng)目詞向量矩陣,作為卷積神經(jīng)網(wǎng)絡(luò)的輸入矩陣。

        在卷積層中,每個(gè)神經(jīng)元由卷積核Fj∈?d×m沿著句子的方向從矩陣Fatt的最左邊向右滑動(dòng)。其中卷積核Fj的窗口大小設(shè)置為m,通過卷積操作后獲取句子中每個(gè)單詞的特征表示,再通過激活函數(shù)形成特征圖。第j個(gè)神經(jīng)元產(chǎn)生的特征如式(10)所示:

        其中:*為卷積運(yùn)算;bj為偏置項(xiàng);f為非線性激活函數(shù)ReLU,通過激活函數(shù)f以增強(qiáng)卷積神經(jīng)網(wǎng)絡(luò)的非線性。

        選取最大池化對(duì)卷積層的輸出結(jié)果進(jìn)行池化操作,將特征圖分為若干個(gè)矩形區(qū)域,并對(duì)每個(gè)子區(qū)域輸出最大值。最大池化去除每個(gè)子區(qū)域中對(duì)于當(dāng)前任務(wù)不重要或重復(fù)的特征,保留能表達(dá)文本特征的信息。同時(shí)進(jìn)一步減少參數(shù)數(shù)量,有效提高網(wǎng)絡(luò)特征提取效率。第j個(gè)卷積核的池化結(jié)果如式(12)所示:

        將池化后的輸出結(jié)果輸入到全連接層,與全連接層的權(quán)值矩陣相乘并加上偏置求和,通過ReLU 激活函數(shù)后分類輸出,得到項(xiàng)目文本信息的隱特征,如式(13)所示:

        其中:wj為全連接層的權(quán)重系數(shù);bj為對(duì)應(yīng)的偏置項(xiàng)。將項(xiàng)目非文本屬性特征向量與文本特征向量qtext做向量連接即可得到項(xiàng)目特征q^j。

        2.3 預(yù)測(cè)評(píng)分生成

        在AMITI 模型的預(yù)測(cè)層,利用神經(jīng)注意力網(wǎng)絡(luò)區(qū)分歷史項(xiàng)目的重要性來克服傳統(tǒng)神經(jīng)網(wǎng)絡(luò)推薦模型的局限性。學(xué)習(xí)到用戶特征的隱表示和項(xiàng)目特征的隱表示作為注意力層的輸入,學(xué)習(xí)目標(biāo)用戶對(duì)不同項(xiàng)目的關(guān)注度,不同關(guān)注度對(duì)預(yù)測(cè)下一項(xiàng)目所起的作用不同。用戶ui對(duì)項(xiàng)目νj的注意力分?jǐn)?shù)如式(15)所示:

        其中:w1和b1是需要學(xué)習(xí)的權(quán)重矩陣和偏置項(xiàng),通過Re激活函數(shù)得到當(dāng)前項(xiàng)目對(duì)預(yù)測(cè)下一項(xiàng)目的非線性關(guān)系。即注意力分?jǐn)?shù)值越大,表示用戶ui對(duì)項(xiàng)目νj有更多的關(guān)注度,項(xiàng)目νj對(duì)預(yù)測(cè)下一個(gè)項(xiàng)目所起的作用越大。利用softmax 函數(shù)對(duì)注意力分?jǐn)?shù)進(jìn)行歸一化處理。

        采用均方誤差(Mean Square Error,MSE)作為損失函數(shù)在訓(xùn)練模型的過程中去最小化真實(shí)評(píng)分和預(yù)測(cè)評(píng)分之間的差距。

        其中:yui為用戶對(duì)項(xiàng)目的真實(shí)評(píng)分為用戶對(duì)項(xiàng)目的預(yù)測(cè)評(píng)分。利用隨機(jī)梯度下降方法最小化損失函數(shù)對(duì)目標(biāo)函數(shù)進(jìn)行優(yōu)化,采用反向傳播算法來優(yōu)化學(xué)習(xí)每一層的權(quán)重wn和偏置bn。通過上述算法完成對(duì)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練后,利用模型預(yù)測(cè)用戶對(duì)未評(píng)分項(xiàng)目進(jìn)行評(píng)分,根據(jù)預(yù)測(cè)評(píng)分大小,向目標(biāo)用戶進(jìn)行推薦,產(chǎn)生的推薦結(jié)果用于后續(xù)分組,實(shí)現(xiàn)項(xiàng)目組推薦。

        2.4 TF-IDF 方法的改進(jìn)

        TF-IDF 常被用于文本分類和信息檢索,通常僅考慮文檔數(shù)量和關(guān)鍵詞在文檔中出現(xiàn)的頻率,而當(dāng)字詞擁有評(píng)分?jǐn)?shù)據(jù)時(shí)無法充分利用評(píng)分?jǐn)?shù)據(jù)更準(zhǔn)確地計(jì)算TF-IDF 值。例如,利用TF-IDF 計(jì)算用戶ui觀看電影中喜劇類型gj的TF-IDF 值時(shí),僅將喜劇類型gj在用戶ui瀏覽歷史電影集和整個(gè)數(shù)據(jù)集中出現(xiàn)的頻率代入計(jì)算,并未利用用戶對(duì)喜劇類電影的評(píng)分?jǐn)?shù)據(jù)。當(dāng)喜劇類型gj在用戶瀏覽歷史中出現(xiàn)頻率較低,但用戶對(duì)這類電影的評(píng)分卻較高時(shí),采用傳統(tǒng)的TF-IDF 方法無法準(zhǔn)確地獲取用戶對(duì)喜劇類型gj的偏好程度。

        將評(píng)分?jǐn)?shù)據(jù)引入到TF-IDF 方法中,在評(píng)估字詞重要程度的同時(shí),避免丟失評(píng)分較高的字詞。改進(jìn)的TF-IDF 方法如式(20)所示:

        其中:Suj,wi為詞語wi對(duì)于用戶uj的重要程度,取值是為包含詞語wi的文件評(píng)分和為所有文件的評(píng)分和;|D|為語料庫中文件總數(shù);|{j:wi∈dj}|為包含詞語wi的文件數(shù)量。式(20)中根據(jù)項(xiàng)目所在的數(shù)據(jù)集確定獲取評(píng)分?jǐn)?shù)據(jù)在針對(duì)訓(xùn)練集中指定用戶的歷史項(xiàng)目進(jìn)行統(tǒng)計(jì)時(shí),利用用戶對(duì)其歷史項(xiàng)目的評(píng)分?jǐn)?shù)據(jù)計(jì)算利用改進(jìn)的TF-IDF 對(duì)推薦結(jié)果中項(xiàng)目所含類型進(jìn)行TF-IDF值計(jì)算,通過獲取用戶對(duì)不同類型的偏好程度,實(shí)現(xiàn)項(xiàng)目組推薦。式(20)中的即通過AMITI 模型獲得的目標(biāo)用戶uj對(duì)候選集中項(xiàng)目νs的預(yù)測(cè)評(píng)分。

        式(20)中第一部分為TF-IDF 的詞頻計(jì)算(Term frequency,TF),利用預(yù)測(cè)評(píng)分計(jì)算包含文件wi的項(xiàng)目評(píng)分和在總文件評(píng)分和中的占比,當(dāng)占比較大時(shí)說明含有詞語wi的文件評(píng)分越高,一定程度反映了詞語wi的重要性;第二部分為TF-IDF 的逆向文件頻率(Inverse document frequency,IDF),表示在語料庫的文件總數(shù)|D|中,包含詞語wi的文件數(shù)量越多,對(duì)TF即詞語wi重要性的削弱能力越強(qiáng)。將兩部分相乘得到的值說明用戶對(duì)詞語wi的偏好程度。

        基于TF-IDF 算法的改進(jìn)對(duì)推薦結(jié)果中項(xiàng)目類型進(jìn)行分析,獲取不同項(xiàng)目類型對(duì)用戶的重要程度,實(shí)現(xiàn)推薦結(jié)果的自動(dòng)分組。Top-N 推薦結(jié)果中的同類項(xiàng)目被放入同一組中。用戶最喜歡的某類項(xiàng)目將被優(yōu)先推薦,使用戶能快速找到符合自己興趣的內(nèi)容。改進(jìn)的TF-IDF 算法具體實(shí)現(xiàn)步驟如下:

        步驟1計(jì)算詞頻是在特定文件dj中,包含詞語wi的項(xiàng)目評(píng)分和在用戶瀏覽歷史中所有項(xiàng)目的評(píng)分和中所占比例。

        步驟2計(jì)算逆向文件頻率指數(shù)據(jù)集中項(xiàng)目數(shù)量除以包含詞語wi的項(xiàng)目的數(shù)量,再將得到的商取對(duì)數(shù),如式(22)所示:

        步驟3將詞頻和逆向文件詞頻相乘得到詞語wi在文件dj中的TF-IDF 值

        改進(jìn)后的TF-IDF 在計(jì)算詞頻時(shí)利用評(píng)分?jǐn)?shù)據(jù)反映詞語wi在文件dj中所占比例。而傳統(tǒng)的TF-IDF 詞頻計(jì)算則通過將詞語wi在文件dj中出現(xiàn)的次數(shù)與文件dj中所有詞語出現(xiàn)次數(shù)之和的比,從而獲得詞語wi的詞頻。

        2.5 推薦結(jié)果分組

        利用改進(jìn)TF-IDF 方法獲取用戶對(duì)不同項(xiàng)目類型的喜好程度。以電影推薦為例,選用MovieLens 數(shù)據(jù)集進(jìn)行算法測(cè)試。電影類型詞頻信息如表1 所示。首先對(duì)用戶ui推薦得到N部電影。其次對(duì)推薦結(jié)果中的電影建立電影信息文檔M={m1,m2,…,mN},從電影信息文檔中提取出所包含的電影類型并建立電影類型信息文檔G={g1,g2,…,gN}。最后對(duì)電影類型文檔進(jìn)行詞頻統(tǒng)計(jì),得到推薦結(jié)果中電影類型的詞頻信息。

        表1 電影類型詞頻信息Table 1 Word frequency information of movie genre

        當(dāng)推薦的電影ms包含電影類型gi時(shí)則為1,反之為0。利用改進(jìn)的TF-IDF 對(duì)獲得電影類型詞頻信息進(jìn)行分析,預(yù)測(cè)用戶對(duì)不同電影類型的偏好程度,如式(24)所示:

        圖4 傳統(tǒng)推薦列表和項(xiàng)目組推薦列表Fig.4 The traditional recommendation list and the item group recommendation list

        2.6 AMITI 算法描述

        利用深度神經(jīng)網(wǎng)絡(luò)結(jié)合注意力機(jī)制能有效提升推薦算法對(duì)用戶和項(xiàng)目潛在特征的提取能力,并緩解數(shù)據(jù)的稀疏性問題。依據(jù)項(xiàng)目類型分組將推薦結(jié)果推薦給用戶。AMITI 算法整體實(shí)現(xiàn)步驟如下:

        輸入用戶屬性信息u:{u1,u2,…,un},un表示用戶的第n個(gè)屬性;項(xiàng)目屬性信息ν:{ν1,ν2,…,νn},νn表示項(xiàng)目的第n個(gè)屬性

        輸出生成K個(gè)項(xiàng)目組,每個(gè)項(xiàng)目組含D個(gè)同類項(xiàng)目

        步驟1對(duì)用戶屬性和項(xiàng)目屬性進(jìn)行數(shù)據(jù)預(yù)處理,將其轉(zhuǎn)換成數(shù)字類型。

        步驟2用戶屬性和項(xiàng)目ID 及類型屬性輸入嵌入層,得到低維稠密的嵌入向量pu和qν。將pu和qν分別輸入到并行的多層全連接層中進(jìn)行特征學(xué)習(xí),得到用戶特征和項(xiàng)目非文本屬性向量

        步驟3對(duì)項(xiàng)目名稱做卷積處理,通過注意力機(jī)制對(duì)電影名稱的詞向量矩陣重新賦權(quán),得到更新后的詞向量矩陣

        步驟4將詞向量矩陣輸入卷積神經(jīng)網(wǎng)絡(luò)中提取項(xiàng)目名稱特征并生成特征qtext,再利用tf.concat()函數(shù)合并項(xiàng)目各屬性特征得到最終的項(xiàng)目特征

        步驟5使用注意力機(jī)制為每個(gè)項(xiàng)目分配個(gè)性化權(quán)重得到更新后的項(xiàng)目特征

        步驟6將用戶隱含特征與項(xiàng)目隱含特征作內(nèi)積計(jì)算得到預(yù)測(cè)評(píng)分

        步驟7輸入指定用戶產(chǎn)生Top-N個(gè)推薦結(jié)果,利用改進(jìn)TF-IDF 分析用戶對(duì)不同項(xiàng)目類型的偏好程度值

        步驟8根據(jù)偏好程度值將項(xiàng)目類型降序排列,取前K個(gè)類型作為待推薦項(xiàng)目組的組名,K即為推薦項(xiàng)目組的數(shù)量。

        步驟9在每個(gè)項(xiàng)目組加入D部與組名對(duì)應(yīng)的同類電影,并按每部電影的預(yù)測(cè)評(píng)分降序排列。最終進(jìn)行由K個(gè)項(xiàng)目組構(gòu)成,且每個(gè)項(xiàng)目組包含D部同類型電影的項(xiàng)目組進(jìn)行推薦。

        與傳統(tǒng)的協(xié)同過濾推薦算法相比,AMITI 算法以用戶和項(xiàng)目屬性信息為輸入數(shù)據(jù),經(jīng)過深度神經(jīng)網(wǎng)絡(luò)特征提取產(chǎn)生預(yù)測(cè)評(píng)分,解決了傳統(tǒng)協(xié)同過濾推薦算法中評(píng)分?jǐn)?shù)據(jù)稀疏性問題。與NCF 推薦模型相比,AMITI 算法在深度神經(jīng)網(wǎng)絡(luò)中引入注意力機(jī)制,一方面增強(qiáng)CNN 對(duì)項(xiàng)目文本中重要內(nèi)容的提取能力;另一方面區(qū)分歷史項(xiàng)目對(duì)預(yù)測(cè)下一個(gè)項(xiàng)目所起的不同作用,能有效提高推薦精度。

        3 實(shí)驗(yàn)結(jié)果與分析

        在實(shí)驗(yàn)環(huán)境及所選實(shí)驗(yàn)數(shù)據(jù)集和相應(yīng)的評(píng)價(jià)指標(biāo),對(duì)推薦算法與傳統(tǒng)的推薦算法進(jìn)行對(duì)比分析。

        3.1 實(shí)驗(yàn)環(huán)境及數(shù)據(jù)集介紹

        實(shí)驗(yàn)中使用的計(jì)算機(jī)配置為Intel Core i5-4210U的CPU,8 GB 內(nèi)存,Windows7 旗艦版64 位操作系統(tǒng)。編程語言使用python 語言,版本為python3.6,編譯環(huán)境在Anaconda 的Jupyter Notebook 中實(shí)現(xiàn)。

        實(shí)驗(yàn)選用的數(shù)據(jù)集是美國GroupLens[17]提供的電影數(shù)據(jù)集MovieLens-1M 來驗(yàn)證上述推薦算法的有效性。該數(shù)據(jù)集被廣泛應(yīng)用于推薦系統(tǒng)的實(shí)驗(yàn)中,其中包含6 040 個(gè)用戶對(duì)3 952 部電影的1 000 209 條評(píng)分記錄,評(píng)分范圍為0~5。在6 040 個(gè)用戶中每個(gè)用戶至少對(duì)20 部電影進(jìn)行評(píng)分。在電影訓(xùn)練集中,包含每部電影的元數(shù)據(jù)(電影ID、電影標(biāo)題、上映時(shí)間、電影的所屬類型);在評(píng)分訓(xùn)練集中包含(用戶ID、電影ID、對(duì)應(yīng)的用戶評(píng)分、時(shí)間戳);在用戶訓(xùn)練集中包含關(guān)于用戶的人口統(tǒng)計(jì)學(xué)數(shù)據(jù)(年齡、性別、職業(yè))。該數(shù)據(jù)集的稀疏度在94%左右,在實(shí)驗(yàn)中隨機(jī)選取數(shù)據(jù)中80%作為訓(xùn)練集,20%作為測(cè)試集,通過訓(xùn)練集數(shù)據(jù)訓(xùn)練模型,用測(cè)試集數(shù)據(jù)對(duì)算法的性能進(jìn)行評(píng)價(jià)。

        3.2 評(píng)價(jià)指標(biāo)

        本文采用均方根誤差[18](Root Mean Square Error,RMSE)和平均絕對(duì)誤差[19](Mean Absolute Error,MAE)作為評(píng)價(jià)模型性能的指標(biāo)。對(duì)于測(cè)試集的用戶,用戶u對(duì)物品i的真實(shí)評(píng)分為rui,推薦算法計(jì)算出的預(yù)測(cè)評(píng)分為,則RMSE(RMSE)和MAE(MA)的計(jì)算如式(25)和式(26)所示:

        其中:T為測(cè)試集中含評(píng)分記錄的項(xiàng)目數(shù)量。

        在驗(yàn)證推薦結(jié)果的準(zhǔn)確性后,根據(jù)保留率公式對(duì)最終項(xiàng)目組推薦結(jié)果的可靠性進(jìn)行驗(yàn)證,如式(27)所示:

        其中:R(u)為分組前的推薦結(jié)果;F(u)為最終的推薦結(jié)果。

        3.3 對(duì)比實(shí)驗(yàn)

        為了驗(yàn)證項(xiàng)目組推薦算法得到推薦結(jié)果的準(zhǔn)確性和有效性,在統(tǒng)一的數(shù)據(jù)集MoviesLens 選取以下4 種經(jīng)典的推薦算法與項(xiàng)目組推薦算法進(jìn)行對(duì)比。

        1)ItemCF:基于物品的協(xié)同過濾推薦算法,根據(jù)之前計(jì)算出的物品相似度和用戶歷史行為為用戶生成推薦列表[20]。

        2)CDL:協(xié)同深度學(xué)習(xí)是一種使用堆疊去噪自編碼提取描述文檔特征并結(jié)合用戶歷史評(píng)分?jǐn)?shù)據(jù)產(chǎn)生推薦的模型[21]。

        3)NAIS:融合注意力機(jī)制的基于項(xiàng)目MLP 的協(xié)同過濾推薦模型[22]。

        4)NCF:神經(jīng)協(xié)同過濾推薦算法,利用MLP 神經(jīng)網(wǎng)絡(luò)從用戶和項(xiàng)目的隱向量中學(xué)習(xí)用戶和項(xiàng)目間的交互函數(shù),產(chǎn)生預(yù)測(cè)評(píng)分。

        3.4 結(jié)果分析

        在MovieLens-1M 的電影數(shù)據(jù)集上對(duì)提出AMITI算法進(jìn)行實(shí)驗(yàn)評(píng)估,將RMSE 和MAE 作為評(píng)價(jià)指標(biāo)衡量預(yù)測(cè)評(píng)分的準(zhǔn)確性。在保證實(shí)驗(yàn)數(shù)據(jù)集和實(shí)驗(yàn)環(huán)境相同的情況下,研究以下3 個(gè)超參數(shù)對(duì)AMITI 模型推薦性能的影響。

        1)迭代次數(shù)(epoch):1 個(gè)迭代次數(shù)表示使用訓(xùn)練集中所有樣本在神經(jīng)網(wǎng)絡(luò)訓(xùn)練了1 次。

        2)丟棄率(dropout):在模型參數(shù)較多,訓(xùn)練樣本較少的情況下,訓(xùn)練出的模型易產(chǎn)生過擬合現(xiàn)象。利用丟棄率隨機(jī)抹去一些神經(jīng)元,減少參數(shù)數(shù)量,從而防止過擬合現(xiàn)象的發(fā)生。

        3)學(xué)習(xí)率(learning rate):決定模型的收斂結(jié)果和效率。

        隨著迭代次數(shù)的增加,神經(jīng)網(wǎng)絡(luò)中權(quán)重的更新次數(shù)也隨之增加。因過多的迭代次數(shù)易造成模型的過擬合,導(dǎo)致模型準(zhǔn)確性降低。當(dāng)?shù)螖?shù)大于10時(shí),MAE 和RMES 增大。迭代次數(shù)取不同值時(shí)對(duì)MAE 和RMSE 的影響如圖5 所示。

        圖5 迭代次數(shù)取不同值時(shí)的實(shí)驗(yàn)結(jié)果對(duì)比Fig.5 Comparison experimental results of epoch with different values

        超參數(shù)中丟棄率可防止模型出現(xiàn)過擬合問題,訓(xùn)練時(shí)丟棄率使部分隱層單元停止工作,提高網(wǎng)絡(luò)的泛化能力。從圖6 中可以看出,當(dāng)丟棄率取值為0.5 時(shí)模型效果達(dá)到最佳,即在訓(xùn)練中有一半的神經(jīng)被丟棄,隨著丟棄率的增大,更多神經(jīng)元被丟棄則會(huì)降低神經(jīng)網(wǎng)絡(luò)對(duì)特征的學(xué)習(xí)能力。丟棄率取不同值時(shí)對(duì)MAE 和RMSE 的影響如圖6 所示。

        圖6 丟棄率取不同值時(shí)的實(shí)驗(yàn)結(jié)果對(duì)比Fig.6 Comparison experimental results of dropout with different values

        學(xué)習(xí)率不同取值對(duì)模型性能的影響如圖7 所示。學(xué)習(xí)率為0.000 1 時(shí)模型的效果最佳。隨著學(xué)習(xí)率取值的增大,模型的MAE 和RMSE 隨之增大,學(xué)習(xí)率取值越大易錯(cuò)過局部極小值,導(dǎo)致模型難以擬合。

        圖7 學(xué)習(xí)率取不同值時(shí)的實(shí)驗(yàn)結(jié)果對(duì)比Fig.7 Comparison experimental results of different learning rates

        從圖5~圖7 可以看出,在丟棄率、學(xué)習(xí)率、每批訓(xùn)練大小分別為0.5,0.0001,256 情況下,迭代次數(shù)取值為10,模型的均方根誤差和平均絕對(duì)誤差達(dá)到最低。

        項(xiàng)目組推薦與其他4 種推薦算法的均方根誤差和平均絕對(duì)誤差對(duì)比如圖8 所示。在MovieLens-1M 的數(shù)據(jù)集上,AMITI 算法與ItemCF、CDL、NAIS、NCF 相比,4 種算法RMSE 分別提高了14.09%、4.46%、2.37%、2.04%,MAR分別提高了14.38%、3.65%、2.77%、2.47%。ItemCF 較其他算法的效果較差,MAE 和RMSE 較大;CDL 算法、NAIS 算法和NCF 算法的指標(biāo)相近。AMITI算法相比其他算法提升2%以上,基于注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)提取用戶和項(xiàng)目的隱含特征后一定程度上提高了推薦系統(tǒng)的準(zhǔn)確性。

        圖8 不同推薦算法的RMSE 和MAE 結(jié)果對(duì)比Fig.8 Comparison results of RMSE and MAE of different recommended algorithm

        在計(jì)算用戶的電影類型偏好時(shí)發(fā)現(xiàn)每個(gè)用戶有2~4 個(gè)為特別偏好,確定在最終推薦項(xiàng)目組的數(shù)量設(shè)置推薦效果最佳。Top-N取不同值對(duì)保留率的影響如圖9 所示。將項(xiàng)目組個(gè)數(shù)分別設(shè)置為2、3、4,每個(gè)項(xiàng)目組包含4 部同類型電影,同時(shí)選取不同的Top-N來比較這3 種情況下對(duì)應(yīng)保留率的變化情況。保留率均隨項(xiàng)目組數(shù)量的增大而增大,當(dāng)Top-N取值相同,項(xiàng)目組數(shù)量越少保留率越高,同時(shí)保留率也更快地達(dá)到100%。但如果在最終推薦時(shí)只推薦2 個(gè)項(xiàng)目組,很難覆蓋大部分用戶對(duì)電影類型偏好的需求,將最終推薦項(xiàng)目組的數(shù)量確定為3。

        圖9 Top-N 取不同值對(duì)保留率的影響Fig.9 The influences Top-N with different values on retention rate

        將預(yù)測(cè)評(píng)分較高的電影優(yōu)先推薦給用戶,Top-N選取時(shí)需要滿足N取值盡量小、保留率盡量大。根據(jù)圖9 可知,為了適當(dāng)增加冷門項(xiàng)目出現(xiàn)概率,當(dāng)項(xiàng)目組數(shù)量為3,N=50,同時(shí)保證每次推薦都有1~2 個(gè)項(xiàng)目為隨機(jī)推薦。

        4 結(jié)束語

        本文提出一種基于注意力機(jī)制與改進(jìn)TF-IDF的推薦算法,通過將雙層注意力機(jī)制引入卷積神經(jīng)網(wǎng)絡(luò),提高卷積神經(jīng)網(wǎng)絡(luò)的特征提取能力,并對(duì)項(xiàng)目特征分配不同的偏好權(quán)重以實(shí)現(xiàn)更符合用戶偏好的推薦。在向目標(biāo)用戶進(jìn)行項(xiàng)目推薦時(shí),將評(píng)分?jǐn)?shù)據(jù)和項(xiàng)目類型數(shù)據(jù)與TF-IDF 進(jìn)行結(jié)合,完成對(duì)推薦結(jié)果分組。MovieLens-1M 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,AMITI 算法在一定程度上提高了推薦準(zhǔn)確性以及增強(qiáng)呈現(xiàn)方式的有序性和可選擇性。下一步將矩陣分解技術(shù)融合到深度神經(jīng)網(wǎng)絡(luò)模型中,以提高評(píng)分預(yù)測(cè)的精準(zhǔn)性和最終項(xiàng)目組推薦內(nèi)容的可靠性。

        猜你喜歡
        項(xiàng)目組注意力向量
        向量的分解
        讓注意力“飛”回來
        CSCO生物統(tǒng)計(jì)學(xué)專家委員會(huì)RWE項(xiàng)目組簡(jiǎn)介
        Association between estradiol levels and clinical outcomes of IVF cycles with single blastocyst embryo transfer
        聚焦“向量與三角”創(chuàng)新題
        基于數(shù)字化平臺(tái)的項(xiàng)目組管理實(shí)踐
        “揚(yáng)眼”APP:讓注意力“變現(xiàn)”
        A Beautiful Way Of Looking At Things
        向量垂直在解析幾何中的應(yīng)用
        向量五種“變身” 玩轉(zhuǎn)圓錐曲線
        超碰人人超碰人人| 国产对白刺激在线观看| 激情乱码一区二区三区| 免费看黄色亚洲一区久久| 亚洲精品久久久久成人2007| 毛片24种姿势无遮无拦| 国产最新网站| 国产极品视觉盛宴在线观看| 亚洲一本二区偷拍精品| 中文字幕亚洲综合久久| 国语少妇高潮对白在线| a欧美一级爱看视频| 亚洲一区二区懂色av| 国产小视频在线看不卡| 欧美怡红院免费全部视频| 国产AV无码专区久久精品网站| 大白屁股流白浆一区二区三区| 国产又大大紧一区二区三区| 亚洲av一二三区成人影片| 久久和欧洲码一码二码三码| 国产一区二区三区啪| 玩弄极品少妇被弄到高潮| 久久精品人搡人妻人少妇| 少妇人妻陈艳和黑人教练| 色吧综合网| 蜜桃在线一区二区三区| 婷婷色国产精品视频二区| 婷婷亚洲久悠悠色悠在线播放| 国产小屁孩cao大人| 亚洲国产日韩综合天堂| 亚州国产av一区二区三区伊在| 久久天天躁狠狠躁夜夜96流白浆| 日韩欧美在线观看成人| 国产av黄色一区二区| 久久久久亚洲精品男人的天堂| 亚洲第一se情网站| 北条麻妃在线视频观看| 日本一区二区亚洲三区| 色婷婷久久综合中文蜜桃| 亚洲精品久久久www小说| 亚洲欧洲日产国码无码久久99|