趙華銳 于瓅
摘? 要:針對推薦系統(tǒng)中用戶興趣度標(biāo)簽消失問題,在排序?qū)犹岢鲆环N改進的深度興趣網(wǎng)絡(luò)模型。首先,將深度興趣網(wǎng)絡(luò)模型應(yīng)用于視頻推薦領(lǐng)域,并在改進的模型中加入平衡因子,有效地解決了在訓(xùn)練過程中用戶興趣度標(biāo)簽消失問題。其次針對推薦系統(tǒng)整體召回率問題,在召回層提出一種混合推薦模型。使用Item2vec模型和貝葉斯個性化排序模型組合成一種混合推薦模型。實驗結(jié)果顯示:改進后的深度興趣網(wǎng)絡(luò)和混合模型應(yīng)用在視頻推薦系統(tǒng)中很好地提高了推薦效果。
關(guān)鍵詞:深度興趣網(wǎng)絡(luò);混合模型;Item2vec;推薦系統(tǒng)
中圖分類號:TP391.3;TP183 文獻(xiàn)標(biāo)識碼:A? 文章編號:2096-4706(2023)12-0081-04
Research on Recommendation System Based on Advanced Deep Interest Network
ZHAO Huarui, YU Li
(School of Computer Science and Engineering, Anhui University of Science and Technology, Huainan? 232001, China)
Abstract: Aiming at the disappearance of user interest tags in recommendation systems, an improved deep interest network model is proposed in the ranking layer. Firstly, the deep interest network model is applied to the field of video recommendation, and a balance factor is added to the improved model to effectively solve the problem of disappearance of user interest tags in the training process. Secondly, to solve the problem of overall recall rate of the recommendation system, a hybrid recommendation model is proposed in the recall layer. The Item2vec model and Bayesian personalized sorting model are combined to form a hybrid recommendation model. The experimental results show that the improved deep interest network and hybrid model greatly improve the recommendation effect in the video recommendation system.
Keywords: deep interest network; hybrid model; Item2vec; recommendation system
0? 引? 言
在信息爆炸式增長的時代,人們很難從豐富而復(fù)雜的信息中獲取真正感興趣的信息。如何快速且精準(zhǔn)地從大量信息中獲得自己想要的信息就成了關(guān)鍵。隨著推薦系統(tǒng)的出現(xiàn),尤其是個性化推薦成功地解決了該問題。
當(dāng)前,推薦算法已從傳統(tǒng)推薦模型過渡到深度推薦模型,尤其是近幾年,隨著Wide&Deep[1],深度因子分解機(Deep Factorization Machine, DeepFM)[2],深度興趣網(wǎng)絡(luò)(Deep Interest Network, DIN)[3]等多種深度推薦模型的提出,以深度學(xué)習(xí)為基礎(chǔ)的推薦模型逐漸成了主流,并在各領(lǐng)域都取得了很好的推薦效果。
本文立足于視頻推薦領(lǐng)域,以電影資源推薦為例,在排序?qū)訉ι疃扰d趣網(wǎng)絡(luò)模型改進,在召回層設(shè)計一種混合推薦模型,并結(jié)合大數(shù)據(jù)處理模塊實現(xiàn)對推薦系統(tǒng)的整體設(shè)計。實驗結(jié)果表明,改進后的推薦模型與常用的幾種模型相比,在精確率、召回率等評價指標(biāo)上具有明顯提升,總體的推薦準(zhǔn)確性較好。
1? 推薦系統(tǒng)設(shè)計原理
本文設(shè)計的推薦系統(tǒng)嚴(yán)格遵循模塊化設(shè)計原則,各模塊之間相互獨立、耦合程度較低,便于后期的維護以及二次開發(fā)。推薦系統(tǒng)整體架構(gòu)如圖1所示。
推薦系統(tǒng)各模塊可分為數(shù)據(jù)處理層、存儲層、框架層、應(yīng)用層。各層主要功能如下。
1.1? 數(shù)據(jù)處理層
主要負(fù)責(zé)處理客戶端的實時數(shù)據(jù)。本文采用Flume分布式的日志收集系統(tǒng),對用戶的行為日志進行采集,并采用Flink[4]和Kafka[5]流處理工具對實時數(shù)據(jù)進行流式處理。
1.2? 存儲層
主要負(fù)責(zé)存儲所有的歷史數(shù)據(jù)和線上實時數(shù)據(jù)。本文設(shè)計的推薦系統(tǒng)采用的是分級存儲方式,更好地解決了模型線上服務(wù)相應(yīng)的實時性以及海量用戶和物品數(shù)據(jù)的存儲問題。由于Hadoop分布式文件系統(tǒng)(Hadoop Distributed File System, HDFS)特點是容量巨大但訪問速度較慢,因此HDFS用來存儲所有的歷史數(shù)據(jù),并采用Spark技術(shù)可以保證在離線狀態(tài)下對特征進行批量處理;采用MySQL關(guān)系型數(shù)據(jù)庫,用來存儲用戶注冊登錄的信息等,可作為網(wǎng)站的后端數(shù)據(jù)庫;針對客戶端的實時數(shù)據(jù),采用Redis內(nèi)存型數(shù)據(jù)庫,保證其訪問速度,能夠最快地加載線上服務(wù)所需要的數(shù)據(jù);采用Elasticsearch分布式搜索引擎,提供視頻相關(guān)信息資源的全文檢索功能。
1.3? 框架層
主要采用TensorFlow平臺完成搭建深度學(xué)習(xí)模型,并進行離線的訓(xùn)練。采用Spark Mllib技術(shù)實現(xiàn)對物品Embedding特征處理,進而完成快速的召回過程,而深度興趣網(wǎng)絡(luò)模型則是用來對召回的物品進行精準(zhǔn)排序,產(chǎn)生最終的推薦列表。針對模型的線上服務(wù),采用TensorFlow Server,后端可以請求并獲取到候選物品的推斷結(jié)果,并通過模型給出的評分完成對當(dāng)前候選物品的排序,應(yīng)用于最終的推薦列表。
1.4? 應(yīng)用層
主要負(fù)責(zé)前端頁面和后端管理。包括用戶的登錄注冊頁面、視頻詳情頁面、用戶的個人中心頁面以及全文搜索頁面;后端管理包括用戶信息管理、視頻信息管理、推薦服務(wù)管理以及日志管理。
2? 推薦算法模型
推薦系統(tǒng)中通常把推薦模型分為召回層和排序?qū)?。召回層主要?fù)責(zé)將海量的候選物品迅速地縮小到幾百甚至幾十量級,因此要求模型結(jié)構(gòu)較為簡單;排序?qū)又饕?fù)責(zé)對召回后的物品進行精準(zhǔn)的排序,且使用較為復(fù)雜的模型對特征進一步挖掘。
2.1? 召回層模型
本文在召回層提出一種混合推薦模型,即Item2vec[6]模型和貝葉斯個性化排序(Bayesian Personalized Ranking, BPR)[7]模型。
Item2vec模型源于自然語言處理領(lǐng)域的Word2vec模型,其本質(zhì)就是把詞序列轉(zhuǎn)換成用戶的瀏覽、評論、購買等序列,因此在視頻推薦領(lǐng)域,可以將用戶已觀看序列或已評分序列生成用戶感興趣的推薦序列。假設(shè)Item2vec模型中有一用戶u,長度為t,其歷史記錄為ω1, ω2, ω3, …, ωt,可以得到其優(yōu)化目標(biāo)為:
Item2vec模型可以將特征向量轉(zhuǎn)換成如圖2所示的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),最后需要的Embedding就是向量W對應(yīng)的每一個行向量。
BPR模型本質(zhì)是一種排序算法,其核心思想是按照用戶對物品的興趣度進行排序,然后根據(jù)優(yōu)先級的高低,將符合條件的物品推薦給用戶。在該模型中,訓(xùn)練數(shù)據(jù)集形式通常表示為三元組< u, i, j >,指用戶u對物品i和對物品j的感興趣程度。由于BPR模型的特性,用戶之間的偏好是相互獨立的,用戶對不同物品的偏好程度也相互獨立。根據(jù)貝葉斯公式可以得到:
式(2)中,V和W為矩陣因子,通過最大后驗估計對概率P進行優(yōu)化。其中,>u表示用戶u對物品的偏好。對式(2)進一步分解,通過梯度上升法使得矩陣因子收斂,最后可以求得預(yù)測值xui = VuWi,從而選擇排序值較高的幾個物品推薦給用戶。
綜合Item2vec模型和BPR模型,本文設(shè)計出一種混合推薦模型,如圖3所示。
在混合模型中,Item2vec具有Embedding特征降維、神經(jīng)網(wǎng)絡(luò)復(fù)雜度低等特點,可以有效地提高視頻推薦場景中物品相似度計算,BPR模型具有相互獨立性的特點。因此該混合模型能更好地對用戶興趣度進行計算,并最終在召回層實現(xiàn)高效率的推薦。
2.2? 排序?qū)幽P?/p>
深度興趣網(wǎng)絡(luò)模型是阿里巴巴公司提出并應(yīng)用于廣告領(lǐng)域,DIN模型的主要特點是在傳統(tǒng)深度模型的基礎(chǔ)上融入attention注意力機制,通過計算用戶的歷史行為記錄與候選物品之間的相關(guān)程度,獲得注意力得分,進而實現(xiàn)個性化的推薦目的。針對用戶興趣度標(biāo)簽消失問題(即用戶對一部或幾部影片的評分過低,同時該影片的類型屬于用戶的興趣標(biāo)簽,上述問題易引發(fā)模型的錯誤判斷從而使用戶感興趣的標(biāo)簽消失),本文對DIN模型的改進具體如下。
1)為了使DIN模型適用于視頻推薦場景,輸入數(shù)據(jù)的特征分別為Movies ID、Rating、Category ID,它們分別代表某電影的編號、電影對應(yīng)的評分、電影所屬的類別。
2)使用PreLU和Sigmoid作為激活函數(shù)。
3)對所有輸入特征進行初步的篩選,將可能導(dǎo)致用戶興趣度標(biāo)簽消失的特征集取出,單獨并為一類再輸入到網(wǎng)絡(luò)中。
4)基于上述操作篩選出的特征集,在計算用戶相似度時加入一個平衡因子λ,用于調(diào)節(jié)用戶的興趣度標(biāo)簽。原用戶興趣度計算為:
式(3)中,{e1, e2, e3, …, ek}表示用戶u的所有歷史行為,vA表示為候選物品的特征。加入平衡因子λ之后,用戶興趣度計算為:
改進后的深度興趣網(wǎng)絡(luò)模型如圖4所示,用戶對影片的評分通過Sigmoid函數(shù)做二分類處理,評分大于等于3的記為1,小于3的記為0。改進后的深度興趣網(wǎng)絡(luò)模型通過注意力機制計算用戶的評分序列,最終可得到注意力權(quán)重值。
3? 實驗與分析
3.1? 實驗配置
實驗采用64位Windows 10操作系統(tǒng),8核16線程,16 GB內(nèi)存,處理器為Intel Core i7-8550U。
3.2? 數(shù)據(jù)集
數(shù)據(jù)集采用美國明尼蘇達(dá)大學(xué)Grouplens研究組開源的Movielens-1M數(shù)據(jù)集,該數(shù)據(jù)集包含用戶數(shù)6 040個,項目數(shù)4 000個,評分?jǐn)?shù)1 000 209個,每個用戶至少對15部以上的影片進行評分。
3.3? 評價指標(biāo)
本文采用的評價指標(biāo)有準(zhǔn)確率(Accuracy),PR AUC和ROC AUC。其中準(zhǔn)確率指的是分類正確的樣本數(shù)占總樣本數(shù)的比例,P表示精確率(Precision),R表示召回率(Recall)。準(zhǔn)確率的公式可以表示為:
其中TP表示真正例,F(xiàn)P表示假正例,F(xiàn)N表示假負(fù)例,TN表示真負(fù)例。
精確率指的是分類正確的正樣本數(shù)占所有被模型判定為正的樣本數(shù)的比例,精確率的公式可以表示為:
召回率指的是分類正確的正樣本數(shù)占真的正樣本數(shù)的比例,召回率的公式可以表示為:
ROC(Receiver Operating Characteristic curve)稱為“接受者操作特性曲線”,可以反映在幾種不同標(biāo)準(zhǔn)下所得到的結(jié)果,本文中ROC曲線的橫坐標(biāo)表示FP(假正例),縱坐標(biāo)表示TP(真正例)。AUC表示位于ROC曲線下方的部分面積大小,AUC的取值在0到1之間,通常值越大表示性能越好。
3.4? 實驗結(jié)果與分析
在相同配置環(huán)境下,對比原來的DIN模型與改進后的DIN模型,結(jié)果如表1所示,對比結(jié)果表明:改進后的DIN模型在多個評價指標(biāo)上具有明顯的提升。
本文將改進后的深度興趣網(wǎng)絡(luò)模型與4種常用的深度推薦模型進行對照實驗,對比的深度模型分別為Wide&Deep模型,多層感知機(Multi-Layer Perceptron, MLP)模型,神經(jīng)協(xié)同過濾(Neural Collaborative Filtering, Netural CF)模型以及DeepFM模型。采用上述的評價指標(biāo),準(zhǔn)確率,精確率和召回率測試模型效果,實驗結(jié)果如表2所示。
根據(jù)表2可知,MLP即多層感知機模型,該模型損失值最高,準(zhǔn)確率最低,它通常使用反向傳播算法計算代價函數(shù)的最優(yōu)化問題。Netural CF即傳統(tǒng)的協(xié)同過濾算法通過神經(jīng)網(wǎng)絡(luò)來實現(xiàn),傳統(tǒng)的協(xié)同過濾算法是基于矩陣分解的線性結(jié)果,而結(jié)合了神經(jīng)網(wǎng)絡(luò)模型可以實現(xiàn)非線性的效果,因此性能有了一定提升,但總體效果依舊不理想。DeepFM與Wide&Deep模型均達(dá)到了理想的評價指標(biāo),而本文改進的DIN模型相比上述兩種模型,總體上都有較好的提升,這是因為除了DIN模型本身融入了注意力機制,而且在計算用戶興趣度問題上做了相應(yīng)的優(yōu)化,盡可能避免了用戶興趣標(biāo)簽消失。
3.5? 最優(yōu)化參數(shù)
通過上述各模型的對比數(shù)據(jù),改進后的DIN模型基本達(dá)到了預(yù)期效果。因此,為了讓推薦系統(tǒng)最終的推薦效果能達(dá)到最優(yōu),需要在參數(shù)默認(rèn)設(shè)置的情況下,對局部參數(shù)進行調(diào)優(yōu)。
如圖5所示,實驗中分析了當(dāng)TOP-K取值不同時,各模型在評價指標(biāo)上的數(shù)據(jù),結(jié)果表明:當(dāng)TOP-K值設(shè)置為15時,改進的DIN模型可以達(dá)到當(dāng)前最優(yōu)的效果。
如表3所示,當(dāng)TOP-K取值為15時,平衡因子最優(yōu)取值為0.5。
4? 結(jié)? 論
本文通過對深度興趣網(wǎng)絡(luò)的改進與優(yōu)化,以及在召回層設(shè)計使用了混合推薦模型,并結(jié)合主流的大數(shù)據(jù)處理平臺應(yīng)用于視頻推薦系統(tǒng)。通過與不同深度推薦模型的對照實驗,表明本文模型在離線測試環(huán)境下取得了較好的推薦效果,在準(zhǔn)確率、精確率、損失值等評價指標(biāo)上都有一定的提升。其中,在推薦系統(tǒng)整體架構(gòu)中,給出了具體的實施方案,并詳細(xì)地介紹了各模塊的功能與內(nèi)在聯(lián)系;在召回層和排序?qū)拥耐扑]模型中,同樣給出了具體的改進和設(shè)計方案。通過本文的研究,對于設(shè)計與優(yōu)化視頻領(lǐng)域的推薦系統(tǒng)具有較好的參考意義。當(dāng)然,本文研究依然存在一些不足,如選用數(shù)據(jù)集的量級不大,對比的推薦模型較少等局限性,后續(xù)還需要進一步針對上述缺陷進行研究,后續(xù)在工業(yè)應(yīng)用中還需考慮在線的模型測試,進而能夠取得更全面真實的推薦效果。
參考文獻(xiàn):
[1] CHENG H T,KOC L,HARMSEN J,et al. Wide & deep learning for Recommender Systems [C]//Proceedings of the 1st Workshop on Deep Learning for Recommender Systems.Boston:Association for Computing Machinery,2016:7-10.
[2] SU R,HUANG Y X,ZHANG D,et al. SRDFM:Siamese Response Deep Factorization Machine to improve anti-cancer drug recommendation [J].Briefings in Bioinformatics,2022,23(2):bbab534.
[3] ZHOU G R,SONG C R,ZHU X Q,et al. Deep Interest Network for Click-Through Rate Prediction [J/OL].arXiv:1706.06978 [stat.ML].(2017-06-21).https://arxiv.org/abs/1706.06978v3.
[4] 趙潤發(fā),婁淵勝,葉楓,等.基于Flink的工業(yè)大數(shù)據(jù)平臺研究與應(yīng)用 [J].計算機工程與設(shè)計,2022,43(3):886-894.
[5] 張文彬,王春梅,王靜,等.基于Spark的有效載荷參數(shù)解析處理方法 [J].計算機工程與設(shè)計,2020,41(2):587-591.
[6] 劉文竹,黃勃,高永彬,等.Item2vec與改進DDPG相融合的推薦算法 [J].武漢大學(xué)學(xué)報:理學(xué)版,2019,65(3):297-302.
[7] 申艷梅,姜冰倩,敖山,等.基于遺忘函數(shù)的均值貝葉斯個性化排序算法研究 [J].計算機應(yīng)用研究,2021,38(5):1350-1354+1370.
作者簡介:趙華銳(1993—),男,漢族,江蘇鹽城人,碩士研究生在讀,研究方向:推薦系統(tǒng);通訊作者:于瓅(1973—),女,漢族,安徽淮南人,教授,博士,研究方向:數(shù)據(jù)挖掘、區(qū)塊鏈。