高銘蔚,桑楠,楊茂林
(電子科技大學信息與軟件工程學院,成都 610054)
隨著信息技術的高速發(fā)展以及互聯(lián)網(wǎng)的大規(guī)模普及,信息爆炸使人們進入了信息過載時代。搜索引擎和推薦系統(tǒng)是解決信息過載的兩種主要技術,前者需要使用者提供關鍵詞來獲取信息,而后者則通過分析使用者的歷史行為信息獲取其興趣偏好并主動給用戶推薦其感興趣的信息[1]。近年來,推薦系統(tǒng)已經廣泛應用于各種互聯(lián)網(wǎng)平臺,例如淘寶的商品推薦、今日頭條的新聞推薦、抖音的短視頻推薦等。
當前深度學習廣泛應用于推薦系統(tǒng)領域,通過學習樣本數(shù)據(jù)的多種內在規(guī)律和多維表示層次,實現(xiàn)自適應的差異化信息推送和用戶的個性化服務。在交互式網(wǎng)絡電視(Internet Protocol Television,IPTV)應用中,一個電視終端往往由多名家庭成員共享,不同成員的興趣偏好往往不同。因此,正確分析隱藏在同一終端ID 后的多成員興趣偏好是進行IPTV 視頻點播個性化推薦的關鍵。
經典推薦算法通常對家庭組的視頻點播數(shù)據(jù)進行統(tǒng)一建模,這種建模方法會使得推薦系統(tǒng)側重于家庭組整體的興趣偏好而難以滿足不同家庭成員的獨特興趣偏好。為此,本文提出了一種基于膠囊網(wǎng)絡的IPTV 視頻點播的推薦算法CapIPTV,以解決多用戶共享同一IPTV 終端的差異化推薦問題。首先,利用膠囊網(wǎng)絡對每個終端的歷史行為進行聚類,將具有較高相似性的點播視頻聚集在一起,聚類后的多個結果表示終端背后不同匿名成員的多種類型興趣偏好。其次,根據(jù)多種興趣偏好為IPTV 終端召回多種類型的點播視頻以滿足不同家庭成員的需求。實驗結果顯示,該策略可以更好地提取出每臺IPTV 終端背后多名家庭成員的興趣偏好,有效提升對IPTV視頻點播的推薦效果。
本文的主要工作如下:
1)提出了一種基于膠囊網(wǎng)絡的IPTV 視頻點播推薦模型,通過膠囊網(wǎng)絡提取不同家庭成員的興趣偏好,從而充分滿足多名成員的差異化需求;
2)利用注意力機制動態(tài)賦予不同興趣偏好以不同的注意力權重,使得感興趣程度更高的興趣偏好能夠獲得更多的曝光度。
推薦算法在電視領域的應用最早由Das 等[2]開始。早期研究主要對經典推薦算法加以改進,使其適應電視視頻推薦的基本數(shù)據(jù)要求。Yu等[3]提出了一種針對多用戶共享的電視節(jié)目推薦算法,利用群組內所有觀眾的偏好組合成一個群組的偏好,并采用平均策略為群組成員進行推薦,從而提高群組整體的滿意度。Kim 等[4]提出了一種基于協(xié)同過濾的IPTV 個性化推薦算法,將觀看時長轉化為隱式評分。Shin 等[5]提出了一種混合多模式的推薦算法,結合基于分類的方法和基于關鍵字的方法,提出了一種基于關系的相似性度量,以提高分類內容的評分精準度。Teng等[6]提出了一種基于協(xié)同過濾的推薦相似度計算方法,利用評分、觀看和收藏三種用戶行為進行歷史行為數(shù)據(jù)挖掘,以評估不同類型的行為與用戶興趣的關系。
鑒于深度學習在計算機視覺和自然語言處理方面取得了顯著的應用效果[7],研究者將深度學習技術廣泛應用于推薦系 統(tǒng)[8]。Covington 等[9]在2016年構建了基于深度學習的YouTube 個性化推薦系統(tǒng)并且提供了設計、迭代和維護大型復雜推薦系統(tǒng)的實踐經驗。Zhou 等[10]提出了DIN(Deep Interest Network)推薦模型,利用注意力機制學習用戶興趣偏好的表達形式,并在阿里巴巴的個性化廣告推薦系統(tǒng)中成功部署,取得了較好的效果。Xiao 等[11]提出了DMIN(Deep Multi-Interest Network)推薦模型,利用多頭自注意力機制提取用戶的多興趣偏好,從而提升點擊率預估效果。Tang 等[12]使用卷積神經網(wǎng)絡對用戶行為進行建模并提供了一個統(tǒng)一而且靈活的網(wǎng)絡結構。各種類型的深度模型已經在推薦系統(tǒng)領域引起了廣泛的關注,如何利用全連接深度神經網(wǎng)絡建模表示用戶物品交互數(shù)據(jù)受到了重點關注。其中,He 等[13]提出了NCF(Neural Collaborative Filtering),Guo 等[14]提出了DeepFM以及Xue等[15]提出了DMF(Deep Matrix Factorization)。
膠囊網(wǎng)絡是由Hinton 等[16]在2011 年首次提出的一種全新的深度學習神經網(wǎng)絡,其最初被用來改變卷積神經網(wǎng)絡(Convolutional Neural Network,CNN)和循環(huán)神經網(wǎng) 絡(Recurrent Neural Network,RNN)的局限性。帶有轉化矩陣的膠囊網(wǎng)絡可以自動學習到整體與部分之間的關系,從而作為一種層次結構來對特征之間潛在的復雜關系進行建模。膠囊網(wǎng)絡用一個向量來表示一個神經元,一個膠囊就是一個向量。Sabour 等[17]提出用膠囊網(wǎng)絡的向量輸出代替CNN 的標量輸出特征檢測器,用動態(tài)路由協(xié)議代替最大池化,確保低層次特征可以選擇性地聚合成高層次特征。與CNN 的最大池化不同,膠囊網(wǎng)絡可以避免丟失待檢測部分在整個區(qū)域內的精確位置信息。
Li 等[18]將膠囊網(wǎng)絡引入推薦系統(tǒng)領域,提出了一種基于動態(tài)路由機制的推薦算法模型MIND(Multi-Interest Network with Dynamic routing),利用膠囊網(wǎng)絡聚類用戶的歷史行為,從而獲取用戶對于不同類型商品的興趣。Li等[19]提出了一種基于雙向路由機制的情感膠囊網(wǎng)絡的用戶評分預測模型,該模型從用戶的評論數(shù)據(jù)中提取信息邏輯單元并判斷用戶對物品的情感,從而解釋用戶偏好。
已有膠囊網(wǎng)絡研究還未充分考慮IPTV 視頻點播推薦背景下中如何通過多個興趣向量共同表示一個終端興趣偏好的問題。本文針對該問題,在多家庭成員共享同一終端的前提下,提出了基于膠囊網(wǎng)絡的IPTV視頻點播推薦算法。
本文重點關注IPTV 視頻點播場景下的推薦問題,相關問題和定義闡述如下:
IPTV 視頻點播推薦系統(tǒng)的目標是為每一個電視終端t∈T從數(shù)萬級的點播視頻池I中最終篩選出數(shù)十個可能感興趣的點播視頻i∈I。為了實現(xiàn)這個目標,推薦系統(tǒng)利用終端歷史行為數(shù)據(jù)It構建推薦算法模型。
為了能更好地闡述本文算法的模型,表1 給出了本文所用到的相關符號及其含義。
表1 IPTV推薦模型符號定義Tab.1 Symbol definition for IPTV recommendation model
定義1終端歷史行為數(shù)據(jù)It是終端與點播視頻的交互數(shù)據(jù),包括曝光、瀏覽、點擊、觀看、購買、收藏等多種不同類型的行為數(shù)據(jù)信息。
定義2表示終端t所對應的向量化表示,其中d表示單個興趣向量的維度大小,K表示一個終端興趣矩陣所對應的興趣向量的個數(shù)。當K=1 時,表示僅使用一個興趣向量來表示一個終端。
定義3ei∈Rd×1表示點播視頻i所對應的向量化表示,其中d表示點播視頻向量的維度大小,點播視頻向量的維度大小與興趣向量的維度大小相同。
本文的核心任務是訓練一個函數(shù),可以通過輸入行為數(shù)據(jù)It,得到終端的興趣表示矩陣Vt。由于一個終端興趣具有多種不同類型的興趣偏好,因此一個終端的興趣表示矩陣Vt由多個不同的興趣向量組合而成。
當通過模型學習到終端t的興趣表示矩陣Vt和點播視頻i的表示向量ei之后,可以通過計算得到每一個終端興趣矩陣Vt的每一個興趣向量對于每一個點播視頻ei的評分。選取多個興趣向量的評分最大值作為終端興趣矩陣Vt對于點播視頻i的評分,這個評分可以反映出終端對于點播視頻的喜愛程度。通過對評分進行排序,取前N個評分最高的點播視頻作為最終推薦結果。
如圖1 所示,CapIPTV 推薦模型結構分別由嵌入層、用戶興趣生成層、全連接層、注意力層構成,其核心是用戶興趣生成層,輸入是終端的歷史行為記錄,而輸出則是終端的興趣矩陣Vt和點播視頻的表示向量ei。
圖1 CapIPTV推薦模型結構Fig.1 Structure of CapIPTV recommendation model
模型訓練是為了得到終端的興趣向量和點播視頻的表示向量。模型部署時需要將訓練得到的向量部署在服務器端,以便于及時響應來自電視終端的推薦請求。
本文所提出的CapIPTV 模型的輸入是終端行為數(shù)據(jù),包括終端ID 和其點擊觀看過點播視頻ID。由于IPTV 推薦系統(tǒng)中包含數(shù)以萬計的點播視頻和終端,并且這些ID 特征具有高維度和稀疏性的特點,因此可以利用推薦系統(tǒng)中常用的嵌入方法,將ID 特征轉化為低維度稠密特征向量,從而減少模型中參數(shù)量,加快模型的訓練速度。對于點播視頻而言,其表示向量共享同一個嵌入空間,嵌入空間可以表示為E∈Rd×|N|,|N|表示點播視頻池的大小,d表示該嵌入空間的維度大小。
2.4.1 興趣矩陣
為了學習到同一個IPTV 終端ID 背后多個家庭成員的興趣偏好,本文采用聚類算法將同一個終端的歷史交互點播視頻數(shù)據(jù)聚合成多個不同的類。同一個類中的點播視頻具有較高的相似度,不同類之間的點播視頻相似度較低,從而可以通過一個類來表示一種特定類型的興趣偏好。為此,本文設計了用戶興趣生成層,從終端的歷史交互點播視頻數(shù)據(jù)中提取多名家庭成員的不同興趣偏好。該層利用膠囊網(wǎng)絡強大的向量化特征表示能力以及基于動態(tài)路由機制的特征整合能力,從終端的歷史行為數(shù)據(jù)中提取多名家庭成員的不同興趣偏好,以提升推薦準確度。
通過用戶興趣生成層所得到的興趣矩陣,其中每一個興趣向量都可以表示一種特定類型的興趣偏好。每一個終端對這種類型的興趣偏好的喜愛程度可以用興趣向量的模長大小表示。興趣向量的模越長,該向量所對應的偏好出現(xiàn)的概率越高。為了實現(xiàn)這種特性,定義了一個膠囊網(wǎng)絡版的非線性激活函數(shù)squash。該函數(shù)將輸入向量的模長取值范圍壓縮到[0,1],確保短向量長度壓縮到接近0,而長向量長度壓縮到接近1,同時保持膠囊j總輸入向量sj與輸出向量uj方向相同。
用戶興趣生成層的輸入最終會經過一個非線性激活函數(shù)squash得到興趣矩陣。
2.4.2 動態(tài)路由機制
本文設計了一個擁有兩層膠囊網(wǎng)絡的用戶興趣生成層,利用動態(tài)路由機制從一個終端的歷史交互點播視頻數(shù)據(jù)中提取多名家庭成員的多興趣表達。第一層膠囊層的每一個輸出向量傳遞到合適的第二層膠囊層作為第二層膠囊的輸入,從而構建出第一層膠囊與第二層膠囊之間的潛在關系。
如圖2 所示,第一層膠囊網(wǎng)絡稱為終端膠囊層,第二層膠囊網(wǎng)絡稱為用戶膠囊層。當輸入數(shù)據(jù)進入終端膠囊層后,可以通過如算法1 所示的動態(tài)路由算法計算出用戶膠囊層。在每次迭代中,給出一個終端膠囊i∈{1,2,…,m},其表示向量為,Nt表示終端膠囊ti的維度,可以得到用戶膠囊j∈{1,2,…,n},其表示向量為,Nu表示用戶膠囊uj的維度。
圖2 用戶興趣生成層模型結構Fig.2 Structure of user interest generation layer model
對于用戶膠囊j而言,其輸出uj是其輸入sj通過壓縮激活函數(shù)squash 得到的,而輸入到用戶膠囊層的sj則是通過所有終端膠囊層作出的預測輸出向量加權和計算得到。
cij是由動態(tài)路由迭代過程所確定的耦合系數(shù),終端膠囊ti與用戶膠囊層中所有膠囊之間的耦合系數(shù)總和為1,表示終端膠囊ti與用戶膠囊uj之間的權重鏈接,耦合系數(shù)cij通過bij計算而得。
為了提高模型的泛化能力,在用戶興趣生成層的后面加入了全連接層網(wǎng)絡,并使用relu作為非線性激活函數(shù)。
通過用戶興趣生成層,利用終端的歷史行為生成了多個用戶興趣膠囊,不同的興趣膠囊代表了終端不同類型的興趣偏好。利用用戶興趣膠囊表示終端對某種偏好的喜愛程度,在模型訓練過程中,基于注意力機制設計了一個注意力層[10],利用目標點播視頻從而動態(tài)調節(jié)用戶膠囊層多個膠囊之間的權重。注意力層模型結構如圖3所示。
圖3 注意力層模型結構Fig.3 Structure of attention layer model
對于一個目標點播視頻而言,可以得到多個興趣向量和這個目標點播視頻的向量,通過計算出目標點播視頻與每一個興趣向量的匹配程度,將終端的多個興趣偏好向量的加權和作為這個終端對于目標點播視頻的終端表示向量。
對于工業(yè)級推薦系統(tǒng)來說,模型的訓練和部署是獨立的。隨著行為數(shù)據(jù)的不斷增長,推薦模型需要定時訓練以更新模型內部的參數(shù)。經過訓練后的模型會在線部署,以便于推薦請求訪問模型獲取最新推薦結果。
2.7.1 模型訓練
當?shù)玫矫總€終端的最終興趣向量vt和每個點播視頻的興趣向量ei后,通過計算得到某個終端t對于某個點播視頻i∈It的感興趣程度。
模型的目標函數(shù)是最大化感興趣程度P(i|t),即最小化損失函數(shù)loss。
模型訓練迭代過程中,將終端t的第n次交互點播視頻作為目標點播視頻,利用終端的前n-1 次交互行為預測第n次交互行為。當計算式(10)時,使用點播視頻池中所有的點播視頻來計算會導致計算量過大,因此采用sample softmax 來訓練模型[20]。
2.7.2 模型部署
通過訓練優(yōu)化模型,提取點播視頻的隱向量以及每個終端的多種興趣偏好。每一種興趣偏好向量可以獨立使用最近鄰相似算法從點播視頻候選池中召回終端可能感興趣的點播視頻。那些與終端興趣向量相似度較高的點播視頻將會作為召回階段的結果,在輸入排序階段進行排序。當終端產生了新的行為記錄時,可以通過定時訓練模型更新終端的興趣向量。在檢索與興趣向量最匹配的點播視頻時,使用Faiss[21]作為檢索工具。
為了驗證不同類型的數(shù)據(jù)集對算法模型性能的影響,本文分別選取MovieLens 公開數(shù)據(jù)集和某廣電系統(tǒng)的真實電視終端數(shù)據(jù)集IPTV來進行實驗。
MovieLens 數(shù)據(jù)集是一個在推薦系統(tǒng)中廣泛使用的公開數(shù)據(jù)集,本文選取了MovieLens-20M 數(shù)據(jù)集,此數(shù)據(jù)集包含了13 多萬名用戶和2 萬余部電影,以及2000 多萬條觀影行為。選取至少觀看過20部電影的用戶以及至少被觀看過5次的電影,最終得到了13萬多用戶、1.8萬多電影,以及2000萬多觀影記錄。
實際廣電網(wǎng)絡的IPTV 點播數(shù)據(jù)集包含用戶的曝光、瀏覽、點擊、觀看、購買等多種歷史交互行為。經過常規(guī)清洗等操作,得到約64萬個終端、2萬點播視頻,以及2300萬用戶隱式行為的數(shù)據(jù)。兩個數(shù)據(jù)集的具體統(tǒng)計信息如表2所示。
表2 實驗數(shù)據(jù)集統(tǒng)計信息Tab.2 Statistics of experimental datasets
在數(shù)據(jù)處理方面,將每個數(shù)據(jù)集的用戶按照8∶1∶1 的比例切分為訓練用戶數(shù)據(jù)集、驗證用戶數(shù)據(jù)集、測試用戶數(shù)據(jù)集,確保切分之后的各個數(shù)據(jù)集的用戶沒有交叉存在[22-23]。對于訓練用戶數(shù)據(jù)集,采用留一法切分訓練點播視頻和目標點播視頻;對于驗證用戶數(shù)據(jù)集和測試用戶數(shù)據(jù)集而言,按照8∶2的比例切分訓練點播視頻和目標點播視頻。
本文采用召回率(Recall)、命中率(HR)、歸一化折損累計增益(Normalized Discounted Cumulative Gain,NDCG)這三種評價指標來衡量推薦算法模型的性能。
Recall 反映推薦列表中用戶可能感興趣的點播視頻占測試集中有過交互行為的目標點播視頻的比例大小。令Rt表示終端t的最終推薦列表,表示測試集中與終端t有過交互行為的目標點播視頻列表,N表示推薦列表的大?。矗和扑]列表中包含的點播視頻的數(shù)量)。對于推薦列表大小為N的測試用例,召回率定義為:
HR 反映生成的推薦列表中是否含有測試集中的目標點播視頻,命中率越高,表明推薦的效果越好。對于推薦列表大小為N的測試用例,命中率定義為:
NDCG 是反映推薦列表中點播視頻位置的指標,用戶喜歡的點播視頻排在推薦列表中靠前的位置,則獲得的增益越大。其中,I(x)是一個指示函數(shù),當x>0 時,I(x)=1,反之為0。表示終端t的推薦列表中的第n個位置的推薦點播視頻。Z是一個常數(shù),其值為理想狀態(tài)下的DGC@N,對于推薦列表大小為N的測試用例,歸一化折損累計增益(NDCG)定義為:
選取以下模型與本文CapIPTV模型進行對比:
1)ItemPop[24],非個性化推薦策略的基準模型。該模型通過點播視頻的觀看次數(shù)來判斷其受歡迎的程度,并將熱門的點播視頻推薦給每一個終端。
2)YouTube DNN[9],由谷歌在2016 年提出的應用于視頻領域的推薦模型。該模型已經在YouTube 上線部署并且取得了較好的效果,是成功將深度學習應用于工業(yè)推薦系統(tǒng)的推薦模型之一。
3)DIN[10],首次提出使用注意力機制對用戶歷史行為進行建模,從而提取出用戶的興趣偏好。DIN 與CapIPTV 均使用注意力機制,不同的是DIN 直接對行為數(shù)據(jù)利用注意力機制進行建模,而CapIPTV 首先從行為數(shù)據(jù)中提取出多種類型的興趣偏好,然后利用注意力機制對興趣偏好進行建模。
4)DMIN[11],阿里研究發(fā)現(xiàn)用戶在同一個時間點的興趣是多樣的,因此利用多頭自注意力機制提取用戶的多樣化興趣。DMIN 與CapIPTV 都是提取多種興趣偏好,不同的是DMIN 使用多頭自注意力機制,而CapIPTV使用膠囊網(wǎng)絡。
5)MIND[18],面向天貓用戶的多興趣推薦模型。該模型提出了一種興趣轉化(Behavior-to-Interest,B2I)動態(tài)路由,可以將用戶行為自適應轉化為興趣表示向量。MIND 與CapIPTV均使用膠囊網(wǎng)絡提取多興趣,不同的是MIND 使用B2I動態(tài)路由,而CapIPTV 使用CapsNet[17]所使用的原始動態(tài)路由,并且CapIPTV 使用的注意力機制與MIND 所使用的自注意力機制也有所不同。
CapIPTV 模型與其他五種對比模型所有的實驗都是基于TensorFlow實現(xiàn),是在GEFORCE RTX 2080 Ti和內存64 GB的服務器上進行的。模型的超參數(shù)設置如表3所示。
表3 模型超參數(shù)設置Tab.3 Hyperparameter setting of model
3.4.1 訓練時間開銷
為了衡量本文所提出的模型與其他模型的復雜度,在相同參數(shù)設定的條件下,通過單次迭代訓練所消耗的時間間接體現(xiàn)出模型的復雜度。
如表4 所示,YouTube DNN 模型的時間開銷最小,從而反映出其模型結構較為簡單;DIN 模型相較于YouTube DNN 模型增大了時間開銷,是因為其增加了注意力機制,使得模型結構變復雜;DMIN 模型相較于DIN 模型而言,單次迭代所花費的時間更多,是由于采用了更加復雜的多頭自注意力機制,其模型結構更為復雜;MIND 模型的時間開銷最大,其引入了膠囊網(wǎng)絡并使用B2I 動態(tài)路由,增加了模型的參數(shù)量;本文所提出的CapIPTV 模型使用原始的動態(tài)路由協(xié)議,在保證模型精度的條件下,降低了模型的復雜度,減少了模型的訓練時間。
表4 不同模型單次迭代訓練時間對比 單位:sTab.4 Training time comparison of different models in single iteration unit:s
3.4.2 超參數(shù)選擇
本文最重要的超參數(shù)是動態(tài)路由機制的超參數(shù)。針對兩個數(shù)據(jù)集分別對比不同的參數(shù)設置并進行分析,結果如表5所示。
表5 不同參數(shù)K下的CapIPTV模型在MovieLens和IPTV數(shù)據(jù)集上的性能比較 單位:%Tab.5 Performance comparison of CapIPTV model with different parameter K on MovieLens and IPTV datasets unit:%
根據(jù)表5 中的實驗結果可以看出:對于MovieLens 數(shù)據(jù)集而言,當CapIPTV模型的參數(shù)K為1時,其召回率、命中率和歸一化折損累計增益明顯優(yōu)于參數(shù)K為其他值時的推薦效果。實驗結果表明,MovieLens 數(shù)據(jù)集中大部分用戶的興趣偏好較為集中,未能表現(xiàn)出明顯的單用戶興趣多樣性,并且隨著參數(shù)K的增加,推薦效果明顯減弱。對于IPTV 數(shù)據(jù)集而言,當CapIPTV 模型的參數(shù)K為4 時,推薦效果明顯優(yōu)于參數(shù)K為其他值時的推薦效果。實驗結果表明,本文所使用的IPTV 數(shù)據(jù)集中用戶呈現(xiàn)出明顯的興趣多樣性,并且K為4 時,CapIPTV模型可以充分提取多種不同的興趣偏好,推薦效果最優(yōu)。
根據(jù)表5的實驗結果可以看出:CapIPTV模型對于用戶興趣多樣性明顯的數(shù)據(jù)集可以充分提取出多種不同類型的興趣偏好,即對于IPTV 推薦場景而言,本文所提出的模型可以更好地獲取那些共享同一個IPTV 終端的家庭組中的不同家庭成員的不同興趣偏好,從而更好地滿足每一位家庭成員的個性化推薦需求,提升IPTV推薦場景下的推薦效果。
為了驗證CapIPTV 模型的性能,本文設計了3 組對比實驗,并對實驗結果進行了分析。
3.5.1 公開數(shù)據(jù)集實驗結果對比
第一組對比實驗將CapIPTV 模型與其他五種對比模型在MovieLens 數(shù)據(jù)集上進行比較來衡量推薦效果,表6 是對比實驗的結果,可以驗證CapIPTV 模型在通用推薦場景下的推薦效果。
表6 六種推薦模型在MovieLens數(shù)據(jù)集上的性能比較 單位:%Tab.6 Performance comparison of 6 recommendation models on MovieLens dataset unit:%
表6 顯示六種不同的推薦模型在公開數(shù)據(jù)集MovieLens上的推薦效果,可以從表6中看出:
1)非個性化的推薦模型ItemPop 在各項指標上均沒有其他5 種推薦模型效果好,這是因為非個性化推薦并沒有考慮到不同終端之間的興趣差異性,對所有的終端使用相同的推薦列表,不能夠提供個性化推薦。
2)YouTube DNN 模型僅優(yōu)于ItemPop模型,該模型利用深度學習挖掘用戶興趣,從而提升了推薦效果,說明深度學習確實可以有效提升推薦效果。
3)DIN 模型在YouTube DNN 模型的基礎上增加了注意力機制,因而推薦效果獲得了提升,表明引入注意力機制有利于充分獲取用戶偏好。相較于DIN 模型直接對行為數(shù)據(jù)進行建模,CapIPTV 模型首先從行為數(shù)據(jù)中提取出多種興趣偏好然后再進行建模,從而可以獲得更好的推薦效果。
4)DMIN模型引入多頭自注意力機制,充分提取用戶的興趣偏好,因而優(yōu)于YouTube DNN模型和DIN模型,說明多頭注意力機制可以有效提取用戶偏好。同樣是提取用戶偏好,與DMIN 模型不同,MIND 模型通過引入膠囊網(wǎng)絡提取用戶偏好,并取得了不錯的效果,體現(xiàn)了膠囊網(wǎng)絡捕獲多興趣偏好的強大能力。
5)對比本文所提出的CapIPTV 模型與其他模型可以看出,CapIPTV 模型在MovieLens 數(shù)據(jù)集的每一項指標上均具有至少1 個百分點的提升,表明融合膠囊網(wǎng)絡和注意力機制是非常有必要的。
3.5.2 真實廣電數(shù)據(jù)集實驗結果對比
第二組實驗將CapIPTV 模型與其他五種對比模型在IPTV數(shù)據(jù)集上進行比較來衡量推薦效果,結果如表7所示,可以驗證CapIPTV模型在特定場景下的推薦效果。
表7 為6 種不同的推薦模型在IPTV 數(shù)據(jù)集上的實驗結果,其整體趨勢與表6 所示結果相似,CapIPTV 模型均優(yōu)于其他模型,與同樣采用注意力機制的DIN 模型和同樣采用膠囊網(wǎng)絡的MIND 模型相比,融合了膠囊網(wǎng)絡與注意力機制的CapIPTV 推薦模型的Recall@50 分別提升了1.93 個百分點和1.07 個百分點,HR@50 分別提升了3.01 個百分點和1.31 個百分點,NDCG@50 分別提升了1.82 個百分點和0.8 個百分點,這表明CapIPTV 模型可以較好提升IPTV 視頻點播推薦場景下的推薦效果。
表7 六種推薦模型在IPTV數(shù)據(jù)集上的性能比較 單位:%Tab.7 Performance comparison of 6 recommendation models on IPTV dataset unit:%
通過表6~7 可以進一步得出,CapIPTV 模型無論在用戶興趣偏好比較集中的MovieLens數(shù)據(jù)集,還是在興趣偏好呈現(xiàn)出明顯多樣性的IPTV 數(shù)據(jù)集,都可以呈現(xiàn)出比較好的推薦效果。
3.5.3 模型消融實驗結果對比
第三組對比實驗針對CapIPTV 模型各個部分進行消融實驗[25],驗證模型中主要組成部分的有效性。CapIPTV_1 表示去掉用戶興趣生成層,即不提取多興趣偏好,直接對行為數(shù)據(jù)進行建模;CapIPTV_2 表示去掉模型中的注意力機制,使用men-pooling 操作融合多個興趣偏好;CapIPTV_3 表示去掉模型中的注意力機制,使用max-pooling 融合多個興趣偏好。各模型實驗結果如表8所示。
表8 CapIPTV模型的消融實驗結果 單位:%Tab.8 Ablation experimental results of CapIPTV model unit:%
CapIPTV 模型的消融實驗結果如表8 所示,從表8 可以看出:
1)CapIPTV 在各項指標上均優(yōu)于CapIPTV_1,這表明引入膠囊網(wǎng)絡提取多樣性偏好信息有助于提升推薦準確度。
2)CapIPTV 在各項指標上均優(yōu)于CapIPTV_2 和CapIPTV_3,表明引入注意力機制能夠有效地獲取多樣性偏好之間的隱含關系,從而提高IPTV視頻點播推薦的準確性。
針對IPTV 視頻點播推薦系統(tǒng)中一個電視終端由多名家庭成員共享的應用特點,本文提出了一種提取家庭組成員多類型興趣偏好的推薦算法CapIPTV。該模型融合了膠囊網(wǎng)絡與注意力機制,對歷史行為數(shù)據(jù)進行多層次建模,有助于生成更加精確的推薦結果。通過在公開數(shù)據(jù)集MovieLens 和廣電系統(tǒng)真實數(shù)據(jù)集IPTV 的實驗結果表明,本文所提出的推薦算法在召回率、命中率和歸一化折損累計增益上均優(yōu)于五種同類算法。另外,本文還通過消融實驗驗證了模型中各組成部分的有效性。
本文對于包含多名成員的群組推薦進行了新的嘗試,通過獲取家庭群組中多名成員的多種類型興趣偏好豐富群組的興趣表達。未來研究將關注用戶興趣與觀影時刻的潛在關系,利用成員的不同觀影習慣調節(jié)不同時間點多興趣的權重以優(yōu)化推薦效果,從而進一步提升推薦準確性。