999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2021-08-20 04:53:44李昆侖于志波翟利娜趙佳耀
計(jì)算機(jī)工程 2021年8期
關(guān)鍵詞:用戶(hù)模型

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

(河北大學(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ù)中篩選出用戶(hù)感興趣的內(nèi)容并推薦給用戶(hù),使在線(xiàn)用戶(hù)快速找到符合他們需要的個(gè)性化信息[1]。經(jīng)過(guò)多年發(fā)展,推薦系統(tǒng)的推薦性能得到了極大的提升。目前推薦算法主要分為基于協(xié)同過(guò)濾的推薦算法[2]、基于內(nèi)容的推薦算法[3]和混合推薦算法[4]?;趨f(xié)同過(guò)濾的推薦算法通過(guò)獲取用戶(hù)的歷史行為和評(píng)分?jǐn)?shù)據(jù)找到相似用戶(hù),通過(guò)獲取相似用戶(hù)的喜好并向用戶(hù)推薦其未曾瀏覽過(guò)的項(xiàng)目?;趦?nèi)容的推薦算法主要依據(jù)用戶(hù)已經(jīng)選擇的項(xiàng)目或者評(píng)分,根據(jù)用戶(hù)的歷史行為信息去尋找與之相似的項(xiàng)目進(jìn)行推薦。混合推薦算法將不同的推薦算法進(jìn)行融合后再推薦,獲得更好的推薦效果。隨著數(shù)據(jù)不斷增長(zhǎng),數(shù)據(jù)類(lèi)型也越來(lái)越多樣化。傳統(tǒng)推薦算法無(wú)法學(xué)習(xí)到用戶(hù)或項(xiàng)目的深層次特征。如何充分利用多源異構(gòu)數(shù)據(jù)提高推薦系統(tǒng)性能,成為推薦系統(tǒng)研究的熱點(diǎn)[5]。

近年來(lái),深度學(xué)習(xí)(Deep Learning,DL)具有自身強(qiáng)大的學(xué)習(xí)能力,在圖像識(shí)別、語(yǔ)音識(shí)別、自然語(yǔ)言處理等領(lǐng)域得到廣泛的應(yīng)用[6]。深度學(xué)習(xí)善于挖掘和學(xué)習(xí)多源異構(gòu)數(shù)據(jù)中深層次的特征,通過(guò)將其與推薦系統(tǒng)結(jié)合獲得更高效的學(xué)習(xí)用戶(hù)和項(xiàng)目屬性的隱藏特征[7]。因此,越來(lái)越多的研究者將深度學(xué)習(xí)應(yīng)用到推薦系統(tǒng)中。盡管將神經(jīng)網(wǎng)絡(luò)應(yīng)用到推薦系統(tǒng)中能有效提高推薦性能,但不是所有的特征交互作用都能對(duì)預(yù)測(cè)結(jié)果做出貢獻(xiàn)。例如,在學(xué)習(xí)用戶(hù)或項(xiàng)目特征時(shí),與無(wú)用的特征相互作用可能會(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)過(guò)預(yù)處理的項(xiàng)目文本信息進(jìn)行重新賦權(quán)。將多層全連接神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的用戶(hù)特征向量和項(xiàng)目特征向量輸入到第2 層注意力機(jī)制中,使多層感知機(jī)(Multilayer Perceptron,MPL)對(duì)注意力分?jǐn)?shù)進(jìn)行參數(shù)化。在完成推薦任務(wù)后,通過(guò)將用戶(hù)評(píng)分和項(xiàng)目類(lèi)別與TF-IDF 結(jié)合,分析不同項(xiàng)目類(lèi)型在推薦結(jié)果中的權(quán)重,獲取用戶(hù)對(duì)不同項(xiàng)目類(lèi)型的偏好程度,并對(duì)推薦結(jié)果進(jìn)行分類(lèi)。

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é)合用于圖像分類(lèi),減少了非必要信息的干擾,提高分類(lèi)的準(zhǔn)確性。注意力機(jī)制被廣泛應(yīng)用于機(jī)器翻譯、特定目標(biāo)情感分析、語(yǔ)音識(shí)別等領(lǐng)域。將注意力機(jī)制引入到神經(jīng)網(wǎng)絡(luò)中,在處理句子分類(lèi)問(wèn)題時(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)用戶(hù)的歷史簽到數(shù)據(jù)捕獲用戶(hù)的生活模式,并向用戶(hù)進(jìn)行可解釋性的位置推薦;CHEN 等[12]提出的AFM 模型不僅通過(guò)用戶(hù)的關(guān)注內(nèi)容整合項(xiàng)目特征,還增強(qiáng)了模型的可解釋性。

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

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

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

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

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

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

NCF 模型利用MLP 提取高階特征信息以提高模型的推薦能力。在特征交互過(guò)程中并非所有的特征交互作用都能對(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)用戶(hù)進(jìn)行項(xiàng)目組推薦。

2 AMITI 推薦算法

在NCF 推薦模型的基礎(chǔ)上將用戶(hù)和項(xiàng)目的屬性信息作為輸入數(shù)據(jù)u:{u1,u2,…,un},例如,用戶(hù)ID、年齡、性別等;項(xiàng)目屬性信息ν:{ν1,ν2,…,νn},例如,項(xiàng)目ID、類(lèi)型、標(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)容;另一層以用戶(hù)及項(xiàng)目特征向量作為輸入數(shù)據(jù),利用注意力機(jī)制為用戶(hù)歷史交互項(xiàng)目分配個(gè)性化權(quán)重,得到不同項(xiàng)目對(duì)當(dāng)前預(yù)測(cè)偏好所起的作用。將推薦結(jié)果分組,以項(xiàng)目組的形式向用戶(hù)展示推薦結(jié)果,增強(qiáng)推薦內(nèi)容的有序性。

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

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

將用戶(hù)和項(xiàng)目的嵌入向量pu、qν輸入到并行的多層全連接神經(jīng)網(wǎng)絡(luò)中,分別學(xué)習(xí)用戶(hù)和項(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

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

通過(guò)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,通過(guò)卷積操作后獲取句子中每個(gè)單詞的特征表示,再通過(guò)激活函數(shù)形成特征圖。第j個(gè)神經(jīng)元產(chǎn)生的特征如式(10)所示:

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

選取最大池化對(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)值矩陣相乘并加上偏置求和,通過(guò)ReLU 激活函數(shù)后分類(lèi)輸出,得到項(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)分生成

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

其中:w1和b1是需要學(xué)習(xí)的權(quán)重矩陣和偏置項(xiàng),通過(guò)Re激活函數(shù)得到當(dāng)前項(xiàng)目對(duì)預(yù)測(cè)下一項(xiàng)目的非線(xiàn)性關(guān)系。即注意力分?jǐn)?shù)值越大,表示用戶(hù)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)練模型的過(guò)程中去最小化真實(shí)評(píng)分和預(yù)測(cè)評(píng)分之間的差距。

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

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

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

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

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

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

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

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

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

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

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

2.5 推薦結(jié)果分組

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

表1 電影類(lèi)型詞頻信息Table 1 Word frequency information of movie genre

當(dāng)推薦的電影ms包含電影類(lèi)型gi時(shí)則為1,反之為0。利用改進(jìn)的TF-IDF 對(duì)獲得電影類(lèi)型詞頻信息進(jìn)行分析,預(yù)測(cè)用戶(hù)對(duì)不同電影類(lèi)型的偏好程度,如式(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ì)用戶(hù)和項(xiàng)目潛在特征的提取能力,并緩解數(shù)據(jù)的稀疏性問(wèn)題。依據(jù)項(xiàng)目類(lèi)型分組將推薦結(jié)果推薦給用戶(hù)。AMITI 算法整體實(shí)現(xiàn)步驟如下:

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

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

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

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

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

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

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

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

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

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

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

與傳統(tǒng)的協(xié)同過(guò)濾推薦算法相比,AMITI 算法以用戶(hù)和項(xiàng)目屬性信息為輸入數(shù)據(jù),經(jīng)過(guò)深度神經(jīng)網(wǎng)絡(luò)特征提取產(chǎn)生預(yù)測(cè)評(píng)分,解決了傳統(tǒng)協(xié)同過(guò)濾推薦算法中評(píng)分?jǐn)?shù)據(jù)稀疏性問(wèn)題。與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)。編程語(yǔ)言使用python 語(yǔ)言,版本為python3.6,編譯環(huán)境在A(yíng)naconda 的Jupyter Notebook 中實(shí)現(xiàn)。

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

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

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

4)NCF:神經(jīng)協(xié)同過(guò)濾推薦算法,利用MLP 神經(jīng)網(wǎng)絡(luò)從用戶(hù)和項(xiàng)目的隱向量中學(xué)習(xí)用戶(hù)和項(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)生過(guò)擬合現(xiàn)象。利用丟棄率隨機(jī)抹去一些神經(jīng)元,減少參數(shù)數(shù)量,從而防止過(guò)擬合現(xiàn)象的發(fā)生。

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

隨著迭代次數(shù)的增加,神經(jīng)網(wǎng)絡(luò)中權(quán)重的更新次數(shù)也隨之增加。因過(guò)多的迭代次數(shù)易造成模型的過(guò)擬合,導(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)過(guò)擬合問(wè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ò)過(guò)局部極小值,導(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ò)提取用戶(hù)和項(xiàng)目的隱含特征后一定程度上提高了推薦系統(tǒng)的準(zhǔn)確性。

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

在計(jì)算用戶(hù)的電影類(lèi)型偏好時(shí)發(fā)現(xiàn)每個(gè)用戶(hù)有2~4 個(gè)為特別偏好,確定在最終推薦項(xiàng)目組的數(shù)量設(shè)置推薦效果最佳。Top-N取不同值對(duì)保留率的影響如圖9 所示。將項(xiàng)目組個(gè)數(shù)分別設(shè)置為2、3、4,每個(gè)項(xiàng)目組包含4 部同類(lèi)型電影,同時(shí)選取不同的Top-N來(lái)比較這3 種情況下對(duì)應(yīng)保留率的變化情況。保留率均隨項(xiàng)目組數(shù)量的增大而增大,當(dāng)Top-N取值相同,項(xiàng)目組數(shù)量越少保留率越高,同時(shí)保留率也更快地達(dá)到100%。但如果在最終推薦時(shí)只推薦2 個(gè)項(xiàng)目組,很難覆蓋大部分用戶(hù)對(duì)電影類(lèi)型偏好的需求,將最終推薦項(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)先推薦給用戶(hù),Top-N選取時(shí)需要滿(mǎn)足N取值盡量小、保留率盡量大。根據(jù)圖9 可知,為了適當(dāng)增加冷門(mén)項(xiàng)目出現(xiàn)概率,當(dāng)項(xiàng)目組數(shù)量為3,N=50,同時(shí)保證每次推薦都有1~2 個(gè)項(xiàng)目為隨機(jī)推薦。

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

本文提出一種基于注意力機(jī)制與改進(jìn)TF-IDF的推薦算法,通過(guò)將雙層注意力機(jī)制引入卷積神經(jīng)網(wǎng)絡(luò),提高卷積神經(jīng)網(wǎng)絡(luò)的特征提取能力,并對(duì)項(xiàng)目特征分配不同的偏好權(quán)重以實(shí)現(xiàn)更符合用戶(hù)偏好的推薦。在向目標(biāo)用戶(hù)進(jìn)行項(xiàng)目推薦時(shí),將評(píng)分?jǐn)?shù)據(jù)和項(xiàng)目類(lèi)型數(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)容的可靠性。

猜你喜歡
用戶(hù)模型
一半模型
重要模型『一線(xiàn)三等角』
重尾非線(xiàn)性自回歸模型自加權(quán)M-估計(jì)的漸近分布
關(guān)注用戶(hù)
3D打印中的模型分割與打包
關(guān)注用戶(hù)
關(guān)注用戶(hù)
FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
Camera360:拍出5億用戶(hù)
100萬(wàn)用戶(hù)
主站蜘蛛池模板: 天堂久久久久久中文字幕| 福利视频99| 国产人人射| 精品国产99久久| 亚洲欧州色色免费AV| 黄片在线永久| 国产一区二区三区在线观看视频| 亚洲高清中文字幕| 国产麻豆福利av在线播放| 五月激情婷婷综合| 久久国产精品波多野结衣| 亚洲电影天堂在线国语对白| 久久国产精品电影| 欧美日韩国产综合视频在线观看 | 秋霞国产在线| 2020最新国产精品视频| 国产乱子伦精品视频| 一级毛片高清| 国产小视频a在线观看| 中文国产成人精品久久| 欧美成人午夜视频| 亚洲三级片在线看| 欧美色综合久久| 日本亚洲国产一区二区三区| 黄色三级网站免费| 亚洲三级电影在线播放| 日韩无码视频网站| 午夜精品区| 日韩 欧美 小说 综合网 另类| 人妻中文字幕无码久久一区| 亚洲二区视频| 91小视频在线播放| 国产在线视频自拍| 免费一级毛片不卡在线播放| 毛片在线看网站| 国产av一码二码三码无码| 91精品国产无线乱码在线 | 五月婷婷亚洲综合| 国产成人综合久久精品下载| 色婷婷色丁香| 88av在线看| 亚洲AV永久无码精品古装片| 亚洲美女AV免费一区| 日韩AV手机在线观看蜜芽| 国产一级小视频| 亚洲综合九九| 尤物国产在线| 日韩乱码免费一区二区三区| 国产福利免费在线观看| 欧美日韩成人| 国产呦精品一区二区三区网站| 国产无遮挡猛进猛出免费软件| 99re在线观看视频| 女高中生自慰污污网站| 亚洲国产欧美自拍| 成人久久精品一区二区三区| a色毛片免费视频| 在线观看国产精品第一区免费| 成·人免费午夜无码视频在线观看| 囯产av无码片毛片一级| 欧美www在线观看| 亚洲综合专区| 欧美福利在线播放| 丁香五月婷婷激情基地| 亚洲一区二区视频在线观看| 日韩在线欧美在线| 亚洲人精品亚洲人成在线| 中文字幕免费在线视频| 中文字幕亚洲另类天堂| 国产成人精品综合| 午夜激情福利视频| 国产精品一老牛影视频| 在线观看91香蕉国产免费| 欧美日韩激情在线| av在线手机播放| 天天色天天操综合网| 亚洲欧美激情小说另类| 亚洲国产AV无码综合原创| 亚洲综合香蕉| 亚洲中文精品人人永久免费| 国产成人调教在线视频| 狠狠色综合久久狠狠色综合|