文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.181396
中文引用格式: 字云飛,李業(yè)麗,孫華艷. 基于深度神經(jīng)網(wǎng)絡(luò)的個性化推薦系統(tǒng)研究[J].電子技術(shù)應(yīng)用,2019,45(1):14-18,22.
英文引用格式: Zi Yunfei,Li Yeli,Sun Huayan. Research of personalized recommendation system based on deep neural network[J]. Application of Electronic Technique,2019,45(1):14-18,22.
0 引言
近幾年,深度學(xué)習(xí)在人工智能、機(jī)器學(xué)習(xí)中取得了飛躍式的突破,特別是在語音識別和圖像識別等領(lǐng)域[1-3]。其中,深度神經(jīng)網(wǎng)絡(luò)由于結(jié)構(gòu)類似于生物神經(jīng)網(wǎng)絡(luò),因此擁有高效、精準(zhǔn)抽取信息深層隱含特征的能力和能夠?qū)W習(xí)多層的抽象特征表示,且能夠?qū)缬颉⒍嘣?、異質(zhì)的內(nèi)容信息進(jìn)行學(xué)習(xí)等優(yōu)勢,可以一定程度上處理推薦系統(tǒng)稀疏性、新物品、可擴(kuò)張性等問題,這為推薦系統(tǒng)解決固有問題帶來了新的機(jī)遇。
本文提出了基于深度神經(jīng)網(wǎng)絡(luò)結(jié)合多用戶-項(xiàng)目、協(xié)同過濾的推薦模型(Multi-View-Collaborative Filtering integrating Deep Neural Network,MV-CFiDNN)[4-6],基于深度神經(jīng)網(wǎng)絡(luò)理論,提取用戶、項(xiàng)目信息的深層隱含特征并自學(xué)習(xí)、優(yōu)化提取模型,最后結(jié)合多用戶-項(xiàng)目、協(xié)同過濾(Collaborative Filtering)提供廣泛的個性化推薦。
1 深度神經(jīng)網(wǎng)絡(luò)推薦模型
基于深度學(xué)習(xí)的推薦系統(tǒng)通過將用戶和項(xiàng)目的各類原始數(shù)據(jù)信息提供給輸入層,在隱含層通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)模型進(jìn)行用戶、項(xiàng)目的隱特征學(xué)習(xí)及抽取,最后通過學(xué)習(xí)隱表示實(shí)現(xiàn)用戶、項(xiàng)目推薦[7-8]?;谏疃壬窠?jīng)網(wǎng)絡(luò)框架的兩次自學(xué)習(xí)并結(jié)合協(xié)同過濾的CFiDNN框架如圖1所示。CFiDNN框架兩大核心為:候選生成網(wǎng)絡(luò)融合協(xié)同過濾與排名網(wǎng)絡(luò)結(jié)合協(xié)同過濾。
其中,候選集產(chǎn)生以用戶在瀏覽歷史記錄中的提取特征作為輸入信息,然后基于多源數(shù)據(jù)庫檢索到與用戶相關(guān)的一個數(shù)據(jù)集,這一數(shù)據(jù)集就是候選集。這部分候選集通過協(xié)同過濾(CF)實(shí)現(xiàn)廣泛個性化。再通過用戶、項(xiàng)目的多類特征源學(xué)習(xí)計(jì)算相似性,實(shí)現(xiàn)最小排名集,最后基于協(xié)同過濾實(shí)現(xiàn)推薦。
1.1 候選集生成模塊
對于候選集生成,首先,將用戶瀏覽及搜索項(xiàng)目等歷史記錄信息映射為向量,然后對其求平均值獲取定長表示;并且,輸入用戶地理信息特征值優(yōu)化個性化推薦效果,二值性和連續(xù)性特征值通過歸一化得到[0,1]范圍。其次,把所有輸入特征值拼接到同一個向量,并且把拼接后的向量輸予激活函數(shù)處理。最后,通過神經(jīng)網(wǎng)絡(luò)訓(xùn)練輸給Softmax進(jìn)行分類,通過訓(xùn)練的特征與源項(xiàng)目進(jìn)行相似度計(jì)算,獲取相似度最高的N個項(xiàng)目作為候選模塊中的候選集,圖2為候選生成結(jié)構(gòu)圖。
基于生成的候選集協(xié)同過濾提供廣泛的個性化,組合基于用戶-項(xiàng)目相關(guān)度評價實(shí)現(xiàn)精準(zhǔn)、實(shí)時、個性化推薦。
候選集生成部分是基于多源異構(gòu)數(shù)據(jù)庫中學(xué)習(xí)選擇與用戶相關(guān)度較高的項(xiàng)目,對于預(yù)測用戶U,其瀏覽某一個信息的概率為:
其中,U是用戶特征值,V表示多源異構(gòu)數(shù)據(jù)庫,vi表示數(shù)據(jù)庫中第i個項(xiàng)目的特征值,U與vi向量擁有相等長度,它兩通過點(diǎn)積在隱層全連接實(shí)現(xiàn)。
1.2 排序生成模塊
排序生成結(jié)構(gòu)與候選生成結(jié)構(gòu)類似,區(qū)別在于排序生成是對候選生成集升級細(xì)致分類排序。與傳統(tǒng)排序抽取特征值類似,神經(jīng)網(wǎng)絡(luò)排序也是通過拼接大量用戶、項(xiàng)目相關(guān)特征值(文本ID、瀏覽時長等)。特征值的處理與候選生成類似,都基于向量化,區(qū)別在于排序生成網(wǎng)絡(luò)最后通過加權(quán)邏輯回歸訓(xùn)練,給前期產(chǎn)生的候選集再評分,評分較高的K個項(xiàng)目返回給用戶或通過協(xié)同過濾實(shí)現(xiàn)個性化推薦[8-10]。圖3為排序生成結(jié)構(gòu)圖。
設(shè)定部分Softmax分類過程:首先,對于候選生成集或排序生成列表的訓(xùn)練過程,通過對負(fù)樣本類別采用實(shí)際類別計(jì)算將數(shù)量減小到數(shù)千;其次,在推薦階段,不計(jì)Softmax歸一化,將項(xiàng)目評分轉(zhuǎn)化為點(diǎn)積空間的最近鄰尋找或協(xié)同過濾根據(jù)相關(guān)度計(jì)算;最后,選取與用戶U相關(guān)度最高的K項(xiàng)作為候選集或排序列表,然后通過協(xié)同過濾個性化推薦,把信息推薦給用戶。
1.3 多用戶—項(xiàng)目模型
基于多用戶、多項(xiàng)目的多源異構(gòu)特征結(jié)合兩次深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí),從而實(shí)現(xiàn)個性化推薦。其實(shí)現(xiàn)思想為:首先,將原始特征值向量化后映射為用戶、項(xiàng)目兩個通道;然后利用深度神經(jīng)網(wǎng)絡(luò)模型把用戶、項(xiàng)目信息向量映射到一個隱空間;最后,通過評估相似度(如余弦相似度法)把隱空間的用戶、項(xiàng)目進(jìn)行相關(guān)度等排名、匹配,從而實(shí)現(xiàn)精準(zhǔn)、個性化推薦。圖4為多用戶-項(xiàng)目DNN(Deep Neural Network)模型結(jié)構(gòu)[11-12]。
在用戶視角,利用其瀏覽歷史、搜索(Search tokens)、位置信息、二值性(登錄與否、性別)和連續(xù)性(年齡)、觀看時長等作為源特征值輸入xu,然后通過深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)模型學(xué)習(xí)輸出隱表示yu。在項(xiàng)目視角,利用項(xiàng)目的描述、標(biāo)簽、類型等作為源特征值輸入xi,通過深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)模型學(xué)習(xí)輸出隱表示yi,其中模型擁有多個用戶、項(xiàng)目,分別為m、N。用戶視角DNN模型為fu(xu,wu),第i個項(xiàng)目視角DNN模型為fi(xi,wi)。若擁有M個樣本{(xu,j,xa,j)},0≤j≤M,(xu,j,xa,j)是用戶u與項(xiàng)目a的交互,利用用戶、項(xiàng)目的擬合交互記錄進(jìn)行調(diào)參學(xué)習(xí):
通過模型訓(xùn)練、學(xué)習(xí)之后獲得的用戶隱表示yu與項(xiàng)目隱表示yi,利用在隱空間中計(jì)算用戶與項(xiàng)目的相關(guān)度、排名,選擇相關(guān)度排序較高的k項(xiàng)目以及源數(shù)據(jù)庫協(xié)同過濾實(shí)現(xiàn)精準(zhǔn)、個性化推薦。
1.4 特征值向量化
特征值向量化是通過詞組嵌入,將特制文本映射到w維空間向量。首先,把用戶、項(xiàng)目所有相關(guān)聯(lián)特征值分別合并,并對特征值量化為評分?jǐn)?shù)據(jù)然后求其平均值,即對多源異構(gòu)原始數(shù)據(jù)進(jìn)行評分式數(shù)據(jù)處理及歸一化。
(1)用戶特征數(shù)據(jù)為:
1.5 全連接層
全連接層(隱層)輸入數(shù)據(jù)為用戶、項(xiàng)目源特征值向量化后的值,設(shè)隱含層共m個神經(jīng)元,通過隱含層ReLU激活函數(shù)處理后,獲得向量ui,就是用戶useri隱特征值,同理,項(xiàng)目itemj的隱特征值向量為vj,計(jì)算過程如下:
1.6 矩陣分解
最后,利用Adam深度學(xué)習(xí)優(yōu)化方式對預(yù)測與真實(shí)評分進(jìn)行擬合[13],對于一些擁有評分的項(xiàng)目,使預(yù)測最大可能接近真實(shí),由此學(xué)習(xí)推薦,對新物品實(shí)現(xiàn)個性化推薦(未評分項(xiàng)目預(yù)測真實(shí)評分無限接近預(yù)測值)。
2 實(shí)驗(yàn)仿真及分析
2.1 實(shí)驗(yàn)環(huán)境
算法性能分析的實(shí)驗(yàn)環(huán)境以Windows Server2012 R2操作系統(tǒng)為實(shí)驗(yàn)支撐,相關(guān)配置為:Intel Xeon Silver 4116 CPU處理器,編程語言Python,128 GB內(nèi)存,雙GPU。編譯環(huán)境在Anaconda的Jupyter Notebook中實(shí)現(xiàn)并采用MATLAB進(jìn)行仿真。
2.2 數(shù)據(jù)集合
本文通過2個真實(shí)、實(shí)時數(shù)據(jù)集,對深度神經(jīng)網(wǎng)絡(luò)融合協(xié)同過濾推薦模型進(jìn)行評估,數(shù)據(jù)集分別為Amazon Movies and TV(AMT)評論評分與Amazon Clothing(AC)視頻評論、評分。數(shù)據(jù)包括用戶ID、物品ID及用戶評論、評分。評分值為1~5,值越大用戶喜好度越高。同時,實(shí)驗(yàn)數(shù)據(jù)按需求進(jìn)行訓(xùn)練集TrainSet與測驗(yàn)集TestSet劃分,且二者沒有交集。
2.3 評價標(biāo)準(zhǔn)
本文提出的深度神經(jīng)網(wǎng)絡(luò)融合協(xié)同過濾推薦模型通過用戶與項(xiàng)目的各類歷史記錄中抽取隱特征,然后對特征值進(jìn)行學(xué)習(xí)預(yù)判、排序。因此本文應(yīng)用均方根誤差(RMSE)作為評價此模型的指標(biāo),通過學(xué)習(xí)特征模型與真實(shí)特征計(jì)算偏差,并求平方,然后與預(yù)測數(shù)據(jù)量N做比值平方根,計(jì)算公式如下:
2.4 實(shí)驗(yàn)對比
實(shí)驗(yàn)通過3個有效模型進(jìn)行比較,分別為Probabilistic Matrix Factorization(PMF)、LibMF和DNNMF。
2.5 執(zhí)行時間對比分析
深度神經(jīng)網(wǎng)絡(luò)(DNN)推薦算法與傳統(tǒng)協(xié)同過濾(CF)運(yùn)行時間對比:實(shí)驗(yàn)處理數(shù)據(jù)為AMT、AC真實(shí)數(shù)據(jù),大小為1.88 GB。深度神經(jīng)網(wǎng)絡(luò)輸入節(jié)點(diǎn)為1 024個,隱含層18個,輸出節(jié)點(diǎn)1 024個,Spark集群節(jié)點(diǎn)為3,比較深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練與傳統(tǒng)協(xié)同過濾處理數(shù)據(jù)集的耗時。實(shí)驗(yàn)結(jié)果如圖5所示,其中user表示用戶測試數(shù)據(jù)集耗時,item表示商品測試數(shù)據(jù)集耗時。顯然,DNN執(zhí)行效率更高。
2.6 實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)在2個真實(shí)數(shù)據(jù)集下通過本文提出的MV-CFi-DNN模型進(jìn)行計(jì)算評估,同時用RMSE來對模型進(jìn)行評估預(yù)測,在相同實(shí)驗(yàn)環(huán)境與同一數(shù)據(jù)前提下,將MV-CFi-DNN與PMF、LibMF做比較分析。
參數(shù)設(shè)置為:用戶、項(xiàng)目特征值權(quán)重分別為α=1,β=0.5,MV-CFiDNN模型學(xué)習(xí)率為lr=0.000 65,用戶、項(xiàng)目隱特征正則化為λuser=λitem=λ,深度神經(jīng)網(wǎng)絡(luò)神經(jīng)元數(shù)為1 026個。
為了將MV-CFiDNN模型與PMF、LibMF模型對比,把2個真實(shí)數(shù)據(jù)集隨機(jī)分為80%的TrainSet與20%的TestSet,且兩者沒有交集,同時把TestSet中的20%數(shù)據(jù)集隨機(jī)用于驗(yàn)證,用來調(diào)整模型參數(shù)。
從圖6可知,通過在2個真實(shí)數(shù)據(jù)集中測試后,PMF、LibMF的RMSE值相差不大,但與MV-CFiDNN模型的RMSE值有一定差異,表明深度神經(jīng)網(wǎng)絡(luò)融合多用戶-項(xiàng)目、協(xié)同過濾模型對于特征值抽取有很好效果。通過實(shí)驗(yàn)結(jié)果可以看出,本文提出的深度神經(jīng)網(wǎng)絡(luò)融合多用戶-項(xiàng)目協(xié)同過濾模型(MV-CFiDNN)的RMSE值與PMF、LibMF模型比較,都有下降,說明MV-CFiDNN模型能夠解決傳統(tǒng)算法模型的稀疏性、新物品等問題。
3 結(jié)束語
本文通過深度神經(jīng)網(wǎng)絡(luò)融合協(xié)同過濾,提出了MV-CFiDNN模型,該模型首先對原數(shù)據(jù)庫進(jìn)行深度神經(jīng)網(wǎng)絡(luò)結(jié)合協(xié)同過濾個性化進(jìn)行學(xué)習(xí)、提取特征值然后生成候選集,再對候選集進(jìn)行二次學(xué)習(xí)、提取等生成排序集。產(chǎn)生候選集與排序集過程的深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法包括輸入層、隱含層及輸出層,其中輸入層是對輸入特征值進(jìn)行向量化后與用戶、項(xiàng)目權(quán)重內(nèi)積傳輸給隱含層,隱含層根據(jù)接收到的值進(jìn)行調(diào)參、重置等神經(jīng)網(wǎng)絡(luò)學(xué)習(xí),然后學(xué)習(xí)、提取的特征值傳遞給輸出層。通過計(jì)算得到預(yù)測值與真實(shí)值擬合。
未來研究可以通過多種神經(jīng)網(wǎng)絡(luò)結(jié)合更多基礎(chǔ)推薦模型,以便使系統(tǒng)實(shí)現(xiàn)智能且符合人為思想的精準(zhǔn)、個性化推薦。
參考文獻(xiàn)
[1] PENG Y,ZHU W,ZHAO Y,et al.Cross-media analysis and reasoning:advances and directions[J].Frontiers of Information Technology & Electronic Engineering,2017,18(1):44-57.
[2] COVINGTON P,ADAMS J,SARGIN E.Deep neural networks for youtube recommendations[C].Proceedings of the10th ACM Conference on Recommender Systems.ACM,2016:191-198.
[3] LI P,WANG Z,REN Z,et al.Neural rating regression with abstractive tips generation for recommendation[Z].2017.
[4] SONG Y,ELKAHKY A M,HE X.Multi-rate deep learning for temporal recommendation[C].Proceedings of the 39th International ACM SIGIR Conference on Research and Development in Information Retrieval.ACM,2016:909-912.
[5] VASILE F,SMIRNOVA E,CONNEAU A.Meta-Prod2Vec:product embeddings using side-information for recommendation[C].ACM Conference on Recommender Systems.ACM,2016:225-232.
[6] HSIEH C K,YANG L,CUI Y,et al.Collaborative metric learning[C].Proceedings of the 26th International Conference on World Wide Web.International World Wide Web Conferences Steering Committee,2017:193-201.
[7] WANG X,HE X,NIE L,et al.Item silk road: recommending items from information domains to social users[Z].2017.
[8] ROY S,GUNTUKU S C.Latent factor representations for cold-start video recommendation[C].Proceedings of the 10th ACM Conference on Recommender Systems.ACM,2016:99-106.
[9] ZHENG L,NOROOZI V,YU P S.Joint deep modeling of users and items using reviews for recommendation[C].Proceedings of the Tenth ACM International Conference on Web Search and Data Mining.ACM,2017:425-434.
[10] EBESU T,F(xiàn)ANG Y.Neural citation network for context-aware citation recommendation[C].International ACM SIGIR Conference on Research and Development in Information Retrieval.ACM,2017:1093-1096.
[11] Zhang Qi,Wang Jiawen,Huang Haoran,et al.Hashtag recommendation for multimodal microblog using co-attention network[C].IJCAI2017,2017.
[12] WEI J,HE J,CHEN K,et al.Collaborative filtering and deep learning based recommendation system for cold start items[J].Expert Systems with Applications,2017,69:29-39.
[13] WANG S,WANG Y,TANG J,et al.What your images reveal: exploiting visual contents for point-of-interest recommendation[C].Proceedings of the 26th International Conference on World Wide Web.International World Wide Web Conferences Steering Committee,2017:391-400.
作者信息:
字云飛,李業(yè)麗,孫華艷
(北京印刷學(xué)院 信息工程學(xué)院,北京102600)