金 楠,王瑞琴,2,陸悅聰
(1.湖州師范學(xué)院 信息工程學(xué)院,浙江 湖州 313000; 2.浙江省現(xiàn)代農(nóng)業(yè)資源智慧管理與應(yīng)用研究重點實驗室,浙江 湖州 313000)
隨著網(wǎng)絡(luò)的迅速發(fā)展,人類從信息匱乏時代走向了信息過載時代.但信息消費者在面對海量信息時卻無法輕易獲取自身感興趣的信息,且信息生產(chǎn)者將信息展示給合適的用戶也變得越來越困難.個性化推薦系統(tǒng)是解決信息過載問題的有效方法之一.它是根據(jù)用戶的歷史信息幫助用戶找到喜歡的物品,探索用戶喜歡的新事物[1].對商家而言,利用推薦系統(tǒng)能為用戶提供個性化服務(wù),與用戶建立親密關(guān)系,從而提高用戶的信任度.
協(xié)同過濾是推薦系統(tǒng)較流行且應(yīng)用較廣泛的推薦算法之一[2].協(xié)同過濾算法主要分為基于鄰域的協(xié)同過濾推薦算法和基于模型的協(xié)同過濾推薦算法.基于鄰域的協(xié)同過濾推薦算法主要分為用戶協(xié)同過濾算法和物品協(xié)同過濾算法,其分別根據(jù)用戶相似度和物品相似度為用戶推薦物品.其精度主要取決于用戶和物品的數(shù)量,當(dāng)數(shù)據(jù)稀疏時精度將受到極大的影響[3-4].基于模型的協(xié)同過濾是目前最流行的協(xié)同過濾類型,其包括矩陣分解算法、神經(jīng)網(wǎng)絡(luò)算法等.矩陣分解應(yīng)用廣泛,其包含矩陣因式分解(Matrix Factorization, MF)[5]、概率矩陣分解(Probabilistic matrix factorization, PMF)、奇異值分解(Singular Value Decomposition, SVD)等.矩陣分解算法可解釋性差,易受稀疏數(shù)據(jù)的影響[6].
Hash編碼和獨熱編碼是推薦系統(tǒng)常用的編碼方式.Hash編碼因受嵌入沖突問題的困擾,會不可避免地損害模型的性能[7].獨熱編碼在用戶和物品數(shù)量很多時,其特征空間會變得非常大[8],稀疏問題也愈發(fā)嚴重.獨熱編碼在向量空間擁有相同的距離[9],無法體現(xiàn)向量之間的相似性.而聚類技術(shù)、降維技術(shù)、圖論技術(shù)和模糊技術(shù)是緩解數(shù)據(jù)稀疏性問題的常用技術(shù)[10].Word2Vec作為降維技術(shù)之一,可在百萬數(shù)量級的詞典和上億的數(shù)據(jù)集上進行高效訓(xùn)練,得到低維、相似性的向量,從而有效降低模型的復(fù)雜度.隨著深度學(xué)習(xí)的發(fā)展,在推薦系統(tǒng)中關(guān)于神經(jīng)網(wǎng)絡(luò)的研究日益增多,從典型的自動編碼機、受限波斯曼機到卷積神經(jīng)網(wǎng)絡(luò),再到深度神經(jīng)網(wǎng)絡(luò),均表現(xiàn)出優(yōu)異的性能.其中,深度神經(jīng)網(wǎng)絡(luò)憑借其強大的非線性擬合能力和特征提取能力,受到越來越多學(xué)者們的廣泛關(guān)注.
本文結(jié)合Word2Vec模型和深度神經(jīng)網(wǎng)絡(luò),提出ProfileDNN模型.該模型利用Word2Vec訓(xùn)練物品的嵌入向量,以緩解數(shù)據(jù)的稀疏性問題,并通過向量之間的相似性為用戶構(gòu)建畫像,還通過只訓(xùn)練高評分物品的方式,在不降低預(yù)測精度的同時,節(jié)省約46%的訓(xùn)練時間.為獲取用戶與物品畫像之間的高階非線性交互,該模型使用深度神經(jīng)網(wǎng)絡(luò)進行充分訓(xùn)練,從而提高了評分預(yù)測的準確性.
本文的主要貢獻為:
(1) 將自然語言處理模型Word2Vec用于個性化推薦系統(tǒng),通過只訓(xùn)練高評分物品的方式,減少了物品嵌入向量的訓(xùn)練時間.
(2) 充分利用物品嵌入向量之間的相似性,為用戶構(gòu)建畫像,解決了Word2Vec模型在推薦系統(tǒng)領(lǐng)域無法經(jīng)訓(xùn)練得到用戶畫像的缺陷.
(3) 通過Word2Vec預(yù)訓(xùn)練得到用戶和物品的畫像,使得神經(jīng)網(wǎng)絡(luò)輸入層維度較低且固定,不易受用戶數(shù)量、物品數(shù)量和評分數(shù)量的影響,從而降低了模型的復(fù)雜度.
(4) 基于3個真實數(shù)據(jù)集的實驗表明,本文模型能有效提高推薦系統(tǒng)預(yù)測評分的準確性.
表征學(xué)習(xí)在允許機器學(xué)習(xí)和深度學(xué)習(xí)模型學(xué)習(xí)使用特征的同時,也學(xué)習(xí)如何提取特征,避免了手動提取特征的麻煩.Kang等提出采用深度哈希嵌入方式來表示物品,該方式有效降低了向量維度,其性能優(yōu)于傳統(tǒng)的哈希方法,略低于獨熱編碼[7].熊回香等通過Word2Vec算法模型對生成的候選相關(guān)學(xué)者集和候選相關(guān)論文集進行推薦[11].Vasile等利用尺寸信息來幫助計算低維的項目嵌入,使模型更加靈活[12].Zhao等提出一種基于嵌入的框架,用于學(xué)習(xí)和傳輸電子商務(wù)中所有類型ID的低維表示[13].此外,Radosavljevic等將表征學(xué)習(xí)應(yīng)用于APP推薦[14],Kenthapadi等將表征學(xué)習(xí)應(yīng)用于工作推薦[15],均取得了不錯的效果.表征學(xué)習(xí)在特征提取和降低維度上的優(yōu)異表現(xiàn),使其在推薦系統(tǒng)中受到越來越廣泛的應(yīng)用.
詞嵌入是自然語言處理中語言模型與表征學(xué)習(xí)技術(shù)的統(tǒng)稱.它把一個維數(shù)為所有詞數(shù)量的高維空間嵌入到一個低維連續(xù)向量空間,以發(fā)掘單詞之間的語義和語法關(guān)系[16].谷歌開源的Word2Vec采用的模型包含CBOW模型和Skip-Gram模型.這兩種模型在數(shù)據(jù)集上高效訓(xùn)練后得到的詞向量可用于計算詞與詞之間的相似性.在大量文本的訓(xùn)練中,Word2Vec方法比許多經(jīng)典方法擁有更好的表現(xiàn).
目前,Word2Vec方法已擴展應(yīng)用到自然語言處理以外的鄰域.Barken和Koenigstein提出將Item2Vec方法用于協(xié)同過濾推薦,該方法將物品轉(zhuǎn)換為嵌入向量,即使在用戶信息不可用的情況下也可推斷出項目對項目的關(guān)系[17].Item2Vec能夠很好地利用Word2Vec模型訓(xùn)練得到物品之間的相似性特點,并通過計算獲得物品的相似度矩陣,從而將其用于推薦,相比SVD算法,其表現(xiàn)更為優(yōu)異.但Item2Vec方法也存在缺陷,其無法獲得用戶向量,也不能用于評分預(yù)測.Grbovic等首次介紹了User2Vec模型,該模型通過將用戶視為一個“全局上下文”來同時學(xué)習(xí)項目和用戶的表示,其本質(zhì)是計算用戶與物品之間的相似度,但無法預(yù)測用戶對物品的偏好[18].
深度學(xué)習(xí)具有強大的表征能力,在計算機視覺和語音識別等領(lǐng)域取得了出色的表現(xiàn),且在自然語言處理和推薦系統(tǒng)中起著越來越重要的作用[19].一般認為,相比傳統(tǒng)算法,深度學(xué)習(xí)在推薦系統(tǒng)中的表現(xiàn)更為優(yōu)異[20].作為深度學(xué)習(xí)的一部分,深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)能夠?qū)W習(xí)二階特征和高階特征交互[21],且有足夠的隱藏層和隱藏單元,可在一定的光滑性假設(shè)下逼近任意函數(shù),從而達到任意精度[22].Huang等提出深度結(jié)構(gòu)化語義模型,利用DNN實現(xiàn)文本語義相似度的計算[23].Elkahky等提出多視角深度學(xué)習(xí)推薦框架,通過4個DNN分別提取用戶偏好和3個不同領(lǐng)域的物品信息,然后將其映射到同一空間來計算相似度[24].Wang等開發(fā)了一種用于文章推薦的動態(tài)關(guān)注深度模型,該模型橫跨多個深度神經(jīng)網(wǎng)絡(luò),解決了編輯在為最終用戶選擇新聞文章時沒顯式選擇標準的問題[25].Ji等[26]使用深度神經(jīng)網(wǎng)絡(luò),探索市場中各種異構(gòu)數(shù)據(jù)之間的關(guān)系,發(fā)現(xiàn)用戶的興趣,并為用戶推薦需要的物品.Alashkar等[27]通過深度神經(jīng)網(wǎng)絡(luò),識別輸入的面部特征,并為最終的化妝風(fēng)格推薦提供幫助.Wang等結(jié)合交叉網(wǎng)絡(luò)和深度神經(jīng)網(wǎng)絡(luò),提出DCN模型,有效解決了大規(guī)模稀疏數(shù)據(jù)特征工程困難等問題[28].Guo等提出了DeepFM模型,其使用深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)用戶與物品特征之間的交互,充分挖掘用戶與物品特征之間存在的關(guān)聯(lián)性,提高了點擊率和預(yù)測的準確性[29].
鑒于深度學(xué)習(xí)在推薦系統(tǒng)中表現(xiàn)出的強大生命力,本文在表征學(xué)習(xí)的基礎(chǔ)上,充分發(fā)揮DNN神經(jīng)網(wǎng)絡(luò)的表征能力,以提高模型評分預(yù)測的準確性.
ProfileDNN模型是通過Word2Vec模型中的Skip-Gram模型訓(xùn)練獲得每個物品的嵌入向量來表示物品,并使用負采樣方法進行優(yōu)化.但Skip-Gram模型無法訓(xùn)練獲取用戶的嵌入向量.因此,本文利用物品嵌入向量之間存在的相似性,構(gòu)建用戶畫像以表示用戶,并使用深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練預(yù)測評分.模型架構(gòu)如圖1所示.
圖1 ProfileDNN模型示意圖Fig.1 ProfileDNN model
Word2Vec主要分為兩種模式:CBOW模型和Skip-Gram模型.其中,CBOW模型可從原始句子中推斷出目標詞,其更適用于小型數(shù)據(jù)集;Skip-Gram模型可從目標詞推斷出原始句子,其更適合于大型語料庫.鑒于推薦系統(tǒng)龐大的數(shù)據(jù)量,本文使用Skip-Gram模型訓(xùn)練物品的嵌入向量.對物品序列[w1,w2,w3,…,wt],Skip-Gram模型的目標函數(shù)為:
(1)
其中,c為上下文窗口的大小.推薦系統(tǒng)物品在無輔助信息的前提下不存在上下文關(guān)系,因此這里的c值可設(shè)為正無窮,表示在用戶評分的物品序列中,物品皆存在上下文關(guān)系;K為單詞序列的長度.softmax激活函數(shù)為:
(2)
其中,uwi為當(dāng)物品i為目標訓(xùn)練時的嵌入向量,vwi為當(dāng)物品i為上下文內(nèi)容訓(xùn)練時的嵌入向量.
當(dāng)詞庫的數(shù)據(jù)量十分龐大時,使用softmax來激活函數(shù),不僅每次計算都非常昂貴,且在實際訓(xùn)練中難以應(yīng)用.而采用噪聲對比估計(Noise Contrastive Estimation,NCE)可將數(shù)據(jù)與噪聲區(qū)分開,再使用邏輯回歸來估算softmax的對數(shù)概率[30].因此,本文使用負采樣方法代替softmax激活函數(shù).與傳統(tǒng)方法每次更新所有權(quán)重不同,負采樣一次僅更新一個訓(xùn)練樣本的部分權(quán)重,這大大減少了梯度在下降過程中的計算量[17].分層的softmax為:
(3)
其中,σ(x)=1/(1+exp(-x)),N為每個正樣本對應(yīng)的負樣本數(shù)量.
將帶有負采樣的Skip-Gram用于推薦系統(tǒng)中,并嵌入訓(xùn)練物品信息.在自然語言處理中,數(shù)據(jù)集包含多個句子,句子的單詞之間存在上下文關(guān)系,Word2Vec模型可通過學(xué)習(xí)多個句子的單詞的上下文關(guān)系獲得詞向量.相似的,推薦系統(tǒng)數(shù)據(jù)集包含多個用戶評分序列,且同一用戶評分序列的物品之間存在相關(guān)性.因此,可將用戶評分序列等同于句子,物品等同于單詞,使用Word2Vec模型訓(xùn)練學(xué)習(xí)物品向量.模型使用負采樣方法進行優(yōu)化,同一用戶評分序列的任意兩個物品皆為正樣本,這增加了訓(xùn)練樣本的數(shù)量,即使稀疏的數(shù)據(jù)集也能得到充分的訓(xùn)練.Skip-Gram模型的目標函數(shù)為:
(4)
利用Word2Vec模型訓(xùn)練所得的物品嵌入向量,構(gòu)建用戶和物品的畫像,并將其作為深度神經(jīng)網(wǎng)絡(luò)的輸入.基于用戶偏好研究在心理學(xué)、行為學(xué)、經(jīng)濟學(xué)、情報學(xué)等領(lǐng)域的關(guān)注度,分析用戶的偏好信息,以發(fā)現(xiàn)用戶的真實信息需求,從而提供符合用戶意愿和需求的個性化推薦.
利用物品嵌入向量之間存在的相似性,構(gòu)建用戶畫像U來表示用戶偏好.假設(shè)用戶最高評分的物品序列為 [item1,item2,item3,…,itemn],對應(yīng)的物品嵌入向量序列為[v1,v2,v3,…,vn],用戶積極畫像Upos表示用戶的偏好信息,可用最高評分物品序列的平均值計算,其公式為:
(5)
其中,N為最高評分物品的數(shù)量,vn為最高評分物品所對應(yīng)的嵌入向量.
同理可以構(gòu)建用戶消極畫像Uneg.假設(shè)用戶最低評分序列為[item1,item2,item3,…,itemm],對應(yīng)的物品嵌入向量序列為[v1,v2,v3,…,vm],則用戶消極畫像Uneg為:
(6)
其中,M為最低評分物品的數(shù)量,vm為最低評分物品所對應(yīng)的嵌入向量.
用戶平均畫像Uavg為用戶評分均值.假設(shè)用戶評分序列為[r1,r2,r3,…,rk],則Uavg的計算公式為:
(7)
其中,K為用戶評分序列的評分數(shù)量.
最終,將Upos、Uneg和Uavg拼接構(gòu)成用戶畫像U,其計算公式為:
U=[Upos,Uneg,Uavg].
(8)
在物品畫像的構(gòu)建上,本文選擇將物品對應(yīng)的嵌入向量v與物品平均畫像Iavg進行拼接.物品畫像Iavg為物品被用戶評分序列[r1,r2,r3,…,rt]的均值,其計算公式為:
(9)
其中,T為物品評分序列的評分數(shù)量.物品畫像I的計算公式為:
I=[Iavg,v].
(10)
深度神經(jīng)網(wǎng)絡(luò)DNN按不同的位置劃分,可分為輸入層、隱藏層和輸出層,層與層之間是全連接的.第一層是輸入層,由用戶畫像U和物品畫像I拼接構(gòu)成.中間部分是多個隱藏層,其神經(jīng)元個數(shù)隨層數(shù)的增加而遞減,并使用sigmoid函數(shù)激活.最后一層為輸出層,包含一個神經(jīng)元,表示用戶對物品的預(yù)測評分.輸入層x0為:
x0=[U,I].
(11)
模型使用3層隱藏層學(xué)習(xí)用戶畫像和物品畫像的高階非線性交互,神經(jīng)元逐層遞減,以減少模型訓(xùn)練的復(fù)雜度.隱藏層第1層和第i層的輸出向量分別為:
h1=σ(W1x0+b1),
(12)
hi=σ(Wihi-1+bi),
(13)
其中,hi為第i個隱藏層的輸出向量,Wi為權(quán)值矩陣,bi為偏置項,σ為sigmoid激活函數(shù).
輸出層僅有一個神經(jīng)元,采用全連接的方式得到模型的輸出,其公式為:
(14)
在采用Skip-Gram模型訓(xùn)練物品嵌入向量時,將單個用戶評分的全部物品視為正樣本,未評分的物品視為負樣本,每個正樣本隨機選取5個負樣本,模型訓(xùn)練100次.神經(jīng)網(wǎng)絡(luò)部分采用批次訓(xùn)練方式,批次大小為128,同時每次訓(xùn)練需打亂訓(xùn)練集的順序.模型損失函數(shù)為:
(15)
模型使用標準梯度下降法(Gradient Descent,GD)訓(xùn)練,網(wǎng)絡(luò)層神經(jīng)元的個數(shù)隨層數(shù)的增加而不斷減少,并使用dropout方法,以防止模型過擬合,模型訓(xùn)練1 000次.參數(shù)設(shè)置如表1所示.
表1 參數(shù)設(shè)置
在3個公開數(shù)據(jù)集的基礎(chǔ)上對本文模型和現(xiàn)有模型進行對比分析,并通過實驗驗證本文模型的有效性.
本次實驗選取的數(shù)據(jù)集為:FilmTrust[31]、MovieLens 1 M和MovieLens 100 k[32],如表2所示.MovieLens 1 M 包含6 040個用戶對3 706部電影的 1 000 209個顯式評分,評分密度為4.47%.MovieLens 100 k包含943個用戶對1 682部電影的100 000個顯式評分,評分密度為6.30%.FilmTrust 包含1 508個用戶對2 071部電影的35 497個顯式評分,評分密度為1.14%.3個數(shù)據(jù)集評分都較稀疏,其中FilmTrust數(shù)據(jù)集的評分最不密集,平均每個用戶僅對1.1%的物品進行評分.對數(shù)據(jù)集進行劃分時,將90%的數(shù)據(jù)作為訓(xùn)練集,10%的數(shù)據(jù)作為測試集.
表2 數(shù)據(jù)集統(tǒng)計信息
ProfileDNN在數(shù)據(jù)選擇上只使用用戶對物品的評分信息,沒有使用用戶和物品的特征信息,也沒有考慮時間因素.本文將該方法與本文復(fù)現(xiàn)的同類型的協(xié)同過濾算法、SVD算法、DNN神經(jīng)網(wǎng)絡(luò)等模型進行比較.
ItemCF[33]: 基于物品的協(xié)同過濾推薦計算物品之間的相似度,根據(jù)用戶歷史喜歡的物品向用戶推薦相似度高的物品.
PMF[34]: 概率矩陣分解是推薦系統(tǒng)的基礎(chǔ)算法之一.傳統(tǒng)的協(xié)同過濾算法既不能處理非常大的數(shù)據(jù)集,也不能輕松處理稀疏的數(shù)據(jù)集.而PMF模型在大型、稀疏且不平衡的數(shù)據(jù)集上具有很好的表現(xiàn).
DNN[35]: 相比單層神經(jīng)網(wǎng)絡(luò),深度神經(jīng)網(wǎng)絡(luò)可以模擬世界中更加復(fù)雜的情形,并可采用拼接用戶ID將物品ID的one-hot編碼方式作為深度神經(jīng)網(wǎng)絡(luò)的輸入,使用深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練獲得結(jié)果.
SVD[36]: 奇異值分解推薦算法在預(yù)測的準確性、穩(wěn)定性上具有明顯的優(yōu)勢.SVD算法采用對評分矩陣分解點積的方式計算預(yù)測評分.
NeuMF[35]: NeuMF結(jié)合傳統(tǒng)的矩陣分解算法和多層感知機,可同時抽取低維和高維的特征,具有優(yōu)異的推薦效果.
平均絕對誤差(Mean Absolute Error,MAE)和均方根誤差(Root Mean Square Error,RMSE)是衡量變量精度的兩個最常用指標.本文以這兩個指標作為衡量模型好壞的標準.
MAE表示絕對誤差的平均值,可反映預(yù)測值與真實評價值之間的偏差,偏差越小則預(yù)測精度越高,模型的推薦效果越好[37].其計算公式為:
(16)
RMSE也可測量誤差的平均大小,表示預(yù)測值與實際觀測之間平方差異平均值的平方根.其計算公式為:
(17)
浮點運算數(shù)(floating-point operations,F(xiàn)LOPs)[38]用來衡量算法或模型的復(fù)雜度.其計算公式為:
FLOPs=(2I-1)O,
(18)
其中,I為輸入維度,O為輸出維度.
3.4.1 不同模型的推薦性能對比
ProfileDNN模型與對比模型在3組數(shù)據(jù)集上運行后,得到的RMSE和MAE如表3和表4所示.ItemCF算法、PMF算法和SVD算法基于評分矩陣進行推薦,因受數(shù)據(jù)稀疏性的影響,其評分準確率較低.DNN模型使用獨熱編碼表示用戶物品,容易高維稀疏.ProfileDNN通過畫像方式降低維度,提升了評分的準確率.相比結(jié)合矩陣分解和DNN的NeuMF模型,ProfileDNN模型的評分準確率有所提升,最高提升1.1%.
表3 ProfileDNN模型與對比模型的RMSE值
表4 ProfileDNN模型與對比模型的MAE值
表5為各個神經(jīng)網(wǎng)絡(luò)模型的復(fù)雜度對比.從表5可以看出,相比使用獨熱編碼的DNN模型和NeuMF模型,ProfileDNN模型的FLOPs值和參數(shù)數(shù)量最小、復(fù)雜度最低.這是因為當(dāng)數(shù)據(jù)龐大且稀疏時,獨熱編碼表示方式會使輸入層的維度較大,而通過Word2Vec模型預(yù)訓(xùn)練得到的用戶和物品畫像維度則是固定且低維的,其輸入層的復(fù)雜度相對較低,從而降低了模型訓(xùn)練的復(fù)雜度.
表5 神經(jīng)網(wǎng)絡(luò)模型復(fù)雜度對比
3.4.2 維度對ProfileDNN模型推薦結(jié)果的影響
表6為當(dāng)嵌入向量維度為100和200時,ProfileDNN模型在3個數(shù)據(jù)集上的表現(xiàn).實驗表明,F(xiàn)ilmTrust與MovieLens數(shù)據(jù)集的結(jié)果差異并不明顯.FilmTrust和MovieLen 100 k數(shù)據(jù)集較小,因此 選取100作為嵌入向量維度,MovieLen 1 M選取200作為嵌入向量維度.
表6 當(dāng)Embedding size為100和200時ProfileDNN模型的表現(xiàn)
3.4.3 迭代次數(shù)對ProfileDNN模型推薦結(jié)果的影響
ProfileDNN模型在FilmTrust、MovieLen 100 k和MovieLen 1 M 3個數(shù)據(jù)集上的RMSE和MAE值隨迭代次數(shù)變化的曲線如圖2和圖3所示.從圖2和圖3可以看出,在使用dropout方法后,模型迭代200次可以得到理想的結(jié)果,且在隨后的800次迭代中,模型基本保持穩(wěn)定,其RMSE和MAE值沒有發(fā)生較大變化.
圖2 迭代次數(shù)對RMSE的影響Fig.2 Effect of iterations in term of RMSE
圖3 迭代次數(shù)對MAE的影響Fig.3 Effect of iterations in term of MAE
3.4.4 保留概率對ProfileDNN模型推薦結(jié)果的影響
Dropout[39]是指神經(jīng)元保留在網(wǎng)絡(luò)中的比率,是解決神經(jīng)網(wǎng)絡(luò)過度擬合的有效方法,其可以提高模型的魯棒性.如圖4和圖5所示,當(dāng)保留概率為1時,模型在測試集上的MAE和RMSE值均較高.這是因為當(dāng)保留概率為1時,模型未使用dropout方法保留所有神經(jīng)元,從而導(dǎo)致出現(xiàn)過擬合問題.而在使用dropout方法后,模型的推薦效果顯著提升.
圖4 保留概率對RMSE的影響Fig.4 Effect of dropout in term of RMSE
圖5 保留概率對MAE的影響Fig.5 Effect of dropout in term of MAE
3.4.5 模型在稀疏數(shù)據(jù)上的穩(wěn)定性測試
為驗證模型在稀疏數(shù)據(jù)上的穩(wěn)定性,本文將MovieLens 100 k數(shù)據(jù)集按不同比例(訓(xùn)練集與測試集的比例為9∶1、7∶3、1∶1、3∶7)劃分進行對比實驗,結(jié)果如表7所示.在數(shù)據(jù)稀疏時各模型的RMSE值均有一定上升,但本文設(shè)計的模型的RMSE值在4種不同劃分數(shù)據(jù)集上仍優(yōu)于對比模型.實驗證明,本文設(shè)計的模型在稀疏數(shù)據(jù)集上仍能有效提取特征,從而保證評分預(yù)測的準確性.
表7 MovieLens 100 k數(shù)據(jù)集不同數(shù)據(jù)劃分對各模型RMSE值的影響
隨著互聯(lián)網(wǎng)的發(fā)展和科技的進步,推薦系統(tǒng)得到了人們的廣泛關(guān)注,人們對推薦系統(tǒng)的要求也逐漸提高.針對推薦系統(tǒng)中的數(shù)據(jù)稀疏問題,本文借鑒自然語言處理方法Word2Vec學(xué)習(xí)每個物品的嵌入向量,這種方法可以有效地將物品的表示方法從高維稀疏的獨熱編碼轉(zhuǎn)變?yōu)榈途S稠密的嵌入向量,并充分利用物品嵌入向量之間存在的相似性,構(gòu)建用戶畫像表示用戶.本文提出的模型通過使用深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練的方式來提升評分預(yù)測的準確性.實驗結(jié)果表明,該模型可有效解決傳統(tǒng)方法存在的數(shù)據(jù)稀疏性問題,能顯著提高推薦系統(tǒng)評分預(yù)測的準確性.
本文在構(gòu)造用戶畫像時嘗試過不同的構(gòu)造方法,但是不同方式的結(jié)果差異較大,最終選取效果最為優(yōu)異的方法作為本文畫像的構(gòu)造方式.未來的研究將繼續(xù)探索更優(yōu)秀的用戶畫像構(gòu)造方法,使模型擁有更佳的表現(xiàn).