文獻標識碼: 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 引言
近幾年,深度學習在人工智能、機器學習中取得了飛躍式的突破,特別是在語音識別和圖像識別等領(lǐng)域[1-3]。其中,深度神經(jīng)網(wǎng)絡(luò)由于結(jié)構(gòu)類似于生物神經(jīng)網(wǎng)絡(luò),因此擁有高效、精準抽取信息深層隱含特征的能力和能夠?qū)W習多層的抽象特征表示,且能夠?qū)缬颉⒍嘣?、異質(zhì)的內(nèi)容信息進行學習等優(yōu)勢,可以一定程度上處理推薦系統(tǒng)稀疏性、新物品、可擴張性等問題,這為推薦系統(tǒng)解決固有問題帶來了新的機遇。
本文提出了基于深度神經(jīng)網(wǎng)絡(luò)結(jié)合多用戶-項目、協(xié)同過濾的推薦模型(Multi-View-Collaborative Filtering integrating Deep Neural Network,MV-CFiDNN)[4-6],基于深度神經(jīng)網(wǎng)絡(luò)理論,提取用戶、項目信息的深層隱含特征并自學習、優(yōu)化提取模型,最后結(jié)合多用戶-項目、協(xié)同過濾(Collaborative Filtering)提供廣泛的個性化推薦。
1 深度神經(jīng)網(wǎng)絡(luò)推薦模型
基于深度學習的推薦系統(tǒng)通過將用戶和項目的各類原始數(shù)據(jù)信息提供給輸入層,在隱含層通過神經(jīng)網(wǎng)絡(luò)學習模型進行用戶、項目的隱特征學習及抽取,最后通過學習隱表示實現(xiàn)用戶、項目推薦[7-8]?;谏疃壬窠?jīng)網(wǎng)絡(luò)框架的兩次自學習并結(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)實現(xiàn)廣泛個性化。再通過用戶、項目的多類特征源學習計算相似性,實現(xiàn)最小排名集,最后基于協(xié)同過濾實現(xiàn)推薦。
1.1 候選集生成模塊
對于候選集生成,首先,將用戶瀏覽及搜索項目等歷史記錄信息映射為向量,然后對其求平均值獲取定長表示;并且,輸入用戶地理信息特征值優(yōu)化個性化推薦效果,二值性和連續(xù)性特征值通過歸一化得到[0,1]范圍。其次,把所有輸入特征值拼接到同一個向量,并且把拼接后的向量輸予激活函數(shù)處理。最后,通過神經(jīng)網(wǎng)絡(luò)訓(xùn)練輸給Softmax進行分類,通過訓(xùn)練的特征與源項目進行相似度計算,獲取相似度最高的N個項目作為候選模塊中的候選集,圖2為候選生成結(jié)構(gòu)圖。
基于生成的候選集協(xié)同過濾提供廣泛的個性化,組合基于用戶-項目相關(guān)度評價實現(xiàn)精準、實時、個性化推薦。
候選集生成部分是基于多源異構(gòu)數(shù)據(jù)庫中學習選擇與用戶相關(guān)度較高的項目,對于預(yù)測用戶U,其瀏覽某一個信息的概率為:
其中,U是用戶特征值,V表示多源異構(gòu)數(shù)據(jù)庫,vi表示數(shù)據(jù)庫中第i個項目的特征值,U與vi向量擁有相等長度,它兩通過點積在隱層全連接實現(xiàn)。
1.2 排序生成模塊
排序生成結(jié)構(gòu)與候選生成結(jié)構(gòu)類似,區(qū)別在于排序生成是對候選生成集升級細致分類排序。與傳統(tǒng)排序抽取特征值類似,神經(jīng)網(wǎng)絡(luò)排序也是通過拼接大量用戶、項目相關(guān)特征值(文本ID、瀏覽時長等)。特征值的處理與候選生成類似,都基于向量化,區(qū)別在于排序生成網(wǎng)絡(luò)最后通過加權(quán)邏輯回歸訓(xùn)練,給前期產(chǎn)生的候選集再評分,評分較高的K個項目返回給用戶或通過協(xié)同過濾實現(xiàn)個性化推薦[8-10]。圖3為排序生成結(jié)構(gòu)圖。
設(shè)定部分Softmax分類過程:首先,對于候選生成集或排序生成列表的訓(xùn)練過程,通過對負樣本類別采用實際類別計算將數(shù)量減小到數(shù)千;其次,在推薦階段,不計Softmax歸一化,將項目評分轉(zhuǎn)化為點積空間的最近鄰尋找或協(xié)同過濾根據(jù)相關(guān)度計算;最后,選取與用戶U相關(guān)度最高的K項作為候選集或排序列表,然后通過協(xié)同過濾個性化推薦,把信息推薦給用戶。
1.3 多用戶—項目模型
基于多用戶、多項目的多源異構(gòu)特征結(jié)合兩次深度神經(jīng)網(wǎng)絡(luò)學習,從而實現(xiàn)個性化推薦。其實現(xiàn)思想為:首先,將原始特征值向量化后映射為用戶、項目兩個通道;然后利用深度神經(jīng)網(wǎng)絡(luò)模型把用戶、項目信息向量映射到一個隱空間;最后,通過評估相似度(如余弦相似度法)把隱空間的用戶、項目進行相關(guān)度等排名、匹配,從而實現(xiàn)精準、個性化推薦。圖4為多用戶-項目DNN(Deep Neural Network)模型結(jié)構(gòu)[11-12]。
在用戶視角,利用其瀏覽歷史、搜索(Search tokens)、位置信息、二值性(登錄與否、性別)和連續(xù)性(年齡)、觀看時長等作為源特征值輸入xu,然后通過深度神經(jīng)網(wǎng)絡(luò)學習模型學習輸出隱表示yu。在項目視角,利用項目的描述、標簽、類型等作為源特征值輸入xi,通過深度神經(jīng)網(wǎng)絡(luò)學習模型學習輸出隱表示yi,其中模型擁有多個用戶、項目,分別為m、N。用戶視角DNN模型為fu(xu,wu),第i個項目視角DNN模型為fi(xi,wi)。若擁有M個樣本{(xu,j,xa,j)},0≤j≤M,(xu,j,xa,j)是用戶u與項目a的交互,利用用戶、項目的擬合交互記錄進行調(diào)參學習:
通過模型訓(xùn)練、學習之后獲得的用戶隱表示yu與項目隱表示yi,利用在隱空間中計算用戶與項目的相關(guān)度、排名,選擇相關(guān)度排序較高的k項目以及源數(shù)據(jù)庫協(xié)同過濾實現(xiàn)精準、個性化推薦。
1.4 特征值向量化
特征值向量化是通過詞組嵌入,將特制文本映射到w維空間向量。首先,把用戶、項目所有相關(guān)聯(lián)特征值分別合并,并對特征值量化為評分數(shù)據(jù)然后求其平均值,即對多源異構(gòu)原始數(shù)據(jù)進行評分式數(shù)據(jù)處理及歸一化。
(1)用戶特征數(shù)據(jù)為:
1.5 全連接層
全連接層(隱層)輸入數(shù)據(jù)為用戶、項目源特征值向量化后的值,設(shè)隱含層共m個神經(jīng)元,通過隱含層ReLU激活函數(shù)處理后,獲得向量ui,就是用戶useri隱特征值,同理,項目itemj的隱特征值向量為vj,計算過程如下:
1.6 矩陣分解
最后,利用Adam深度學習優(yōu)化方式對預(yù)測與真實評分進行擬合[13],對于一些擁有評分的項目,使預(yù)測最大可能接近真實,由此學習推薦,對新物品實現(xiàn)個性化推薦(未評分項目預(yù)測真實評分無限接近預(yù)測值)。
2 實驗仿真及分析
2.1 實驗環(huán)境
算法性能分析的實驗環(huán)境以Windows Server2012 R2操作系統(tǒng)為實驗支撐,相關(guān)配置為:Intel Xeon Silver 4116 CPU處理器,編程語言Python,128 GB內(nèi)存,雙GPU。編譯環(huán)境在Anaconda的Jupyter Notebook中實現(xiàn)并采用MATLAB進行仿真。
2.2 數(shù)據(jù)集合
本文通過2個真實、實時數(shù)據(jù)集,對深度神經(jīng)網(wǎng)絡(luò)融合協(xié)同過濾推薦模型進行評估,數(shù)據(jù)集分別為Amazon Movies and TV(AMT)評論評分與Amazon Clothing(AC)視頻評論、評分。數(shù)據(jù)包括用戶ID、物品ID及用戶評論、評分。評分值為1~5,值越大用戶喜好度越高。同時,實驗數(shù)據(jù)按需求進行訓(xùn)練集TrainSet與測驗集TestSet劃分,且二者沒有交集。
2.3 評價標準
本文提出的深度神經(jīng)網(wǎng)絡(luò)融合協(xié)同過濾推薦模型通過用戶與項目的各類歷史記錄中抽取隱特征,然后對特征值進行學習預(yù)判、排序。因此本文應(yīng)用均方根誤差(RMSE)作為評價此模型的指標,通過學習特征模型與真實特征計算偏差,并求平方,然后與預(yù)測數(shù)據(jù)量N做比值平方根,計算公式如下:
2.4 實驗對比
實驗通過3個有效模型進行比較,分別為Probabilistic Matrix Factorization(PMF)、LibMF和DNNMF。
2.5 執(zhí)行時間對比分析
深度神經(jīng)網(wǎng)絡(luò)(DNN)推薦算法與傳統(tǒng)協(xié)同過濾(CF)運行時間對比:實驗處理數(shù)據(jù)為AMT、AC真實數(shù)據(jù),大小為1.88 GB。深度神經(jīng)網(wǎng)絡(luò)輸入節(jié)點為1 024個,隱含層18個,輸出節(jié)點1 024個,Spark集群節(jié)點為3,比較深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練與傳統(tǒng)協(xié)同過濾處理數(shù)據(jù)集的耗時。實驗結(jié)果如圖5所示,其中user表示用戶測試數(shù)據(jù)集耗時,item表示商品測試數(shù)據(jù)集耗時。顯然,DNN執(zhí)行效率更高。
2.6 實驗結(jié)果與分析
實驗在2個真實數(shù)據(jù)集下通過本文提出的MV-CFi-DNN模型進行計算評估,同時用RMSE來對模型進行評估預(yù)測,在相同實驗環(huán)境與同一數(shù)據(jù)前提下,將MV-CFi-DNN與PMF、LibMF做比較分析。
參數(shù)設(shè)置為:用戶、項目特征值權(quán)重分別為α=1,β=0.5,MV-CFiDNN模型學習率為lr=0.000 65,用戶、項目隱特征正則化為λuser=λitem=λ,深度神經(jīng)網(wǎng)絡(luò)神經(jīng)元數(shù)為1 026個。
為了將MV-CFiDNN模型與PMF、LibMF模型對比,把2個真實數(shù)據(jù)集隨機分為80%的TrainSet與20%的TestSet,且兩者沒有交集,同時把TestSet中的20%數(shù)據(jù)集隨機用于驗證,用來調(diào)整模型參數(shù)。
從圖6可知,通過在2個真實數(shù)據(jù)集中測試后,PMF、LibMF的RMSE值相差不大,但與MV-CFiDNN模型的RMSE值有一定差異,表明深度神經(jīng)網(wǎng)絡(luò)融合多用戶-項目、協(xié)同過濾模型對于特征值抽取有很好效果。通過實驗結(jié)果可以看出,本文提出的深度神經(jīng)網(wǎng)絡(luò)融合多用戶-項目協(xié)同過濾模型(MV-CFiDNN)的RMSE值與PMF、LibMF模型比較,都有下降,說明MV-CFiDNN模型能夠解決傳統(tǒng)算法模型的稀疏性、新物品等問題。
3 結(jié)束語
本文通過深度神經(jīng)網(wǎng)絡(luò)融合協(xié)同過濾,提出了MV-CFiDNN模型,該模型首先對原數(shù)據(jù)庫進行深度神經(jīng)網(wǎng)絡(luò)結(jié)合協(xié)同過濾個性化進行學習、提取特征值然后生成候選集,再對候選集進行二次學習、提取等生成排序集。產(chǎn)生候選集與排序集過程的深度神經(jīng)網(wǎng)絡(luò)學習方法包括輸入層、隱含層及輸出層,其中輸入層是對輸入特征值進行向量化后與用戶、項目權(quán)重內(nèi)積傳輸給隱含層,隱含層根據(jù)接收到的值進行調(diào)參、重置等神經(jīng)網(wǎng)絡(luò)學習,然后學習、提取的特征值傳遞給輸出層。通過計算得到預(yù)測值與真實值擬合。
未來研究可以通過多種神經(jīng)網(wǎng)絡(luò)結(jié)合更多基礎(chǔ)推薦模型,以便使系統(tǒng)實現(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è)麗,孫華艷
(北京印刷學院 信息工程學院,北京102600)