武子騰,宋承云
(重慶理工大學計算機科學與工程學院,重慶 400054)
電商領域的流量逐漸從匱乏轉為過剩,導致不可避免的信息過載問題[1]。為了讓用戶從大量產品中找到其感興趣的,讓產品方生產的產品得到用戶的反饋,平臺促成更多的交易,大多數電子商務和零售公司借助推薦系統為需求不明確的用戶過濾無效產品[2]。推薦算法利用各類歷史行為記錄推測用戶的潛在偏好,為用戶提供個性化內容,使推薦系統能最大限度地吸引用戶、留存用戶,增加用戶黏性和提高用戶轉化率等,實現公司長期的發展目標[3-5]。
隨著電商平臺業務覆蓋范圍逐步擴大,互聯網中用戶和項目的數量呈指數型增長[6],功能單一的信息篩選器已不能滿足海量用戶的個性化需求,電商協同過濾系統需要應對更多的挑戰來留住忠誠用戶[7]。國際知識發現和數據挖掘領域頂級賽事KDD(Knowledge Discovery and Data mining)CUP 2020 競賽由阿里巴巴達摩院主辦,旨在解決電商場景下的偏差(bias)問題,以對抗推薦系統中長期存在的馬修效應。協同過濾推薦模型的核心是計算項目間的相似度和預測目標用戶的潛在偏好,而用戶傾向于與推薦頁面曝光的項目交互[1],模型依據交互項目計算出與其相似的項目并推薦給用戶,對用戶的行為產生影響,造成曝光偏差(Exposure bias)。曝光偏差在電商協同過濾系統中迭代反饋,導致TopN預測列表偏離用戶的真實興趣,加劇曝光偏差,長此以往系統的推薦性能將越來越差,損害用戶對個性化推薦的滿意度[8]。
偏差問題在工業界引起了廣泛關注,然而學術界與此相關的研究工作相對欠缺,針對電商推薦系統中的曝光偏差問題,本文提出一種融合多模態深度游走與偏差校準因子(Multimodal DeepWalk and Bias Calibration factor,MmDWBC)的TopN推薦模型,將更多低曝光且感興趣的項目推薦給用戶。本模型首先利用用戶歷史交互記錄和高維多模態的項目屬性信息構建多模態項目圖;其次在項目圖上進行改進的深度游走表示,學習得到多模態項目節點的低維嵌入表示;最后基于校準思想以修正用戶興趣傾向性計算。
本文的工作主要有以下幾點:
1)針對低曝光項目交互數據稀疏性和冷啟動加劇問題,將高維多模態的項目屬性特征作為輔助數據,為構建多模態項目圖引入更多低曝光項目信息,通過改進的深度游走表示將多模態信息融入嵌入向量,有效緩解數據稀疏和冷啟動。
2)由于項目曝光度影響用戶興趣估計值,提出一種以校準策略為指導的偏差校準推薦計算新算法。
3)提出了一種TopN推薦新模型MmDW-BC,通過融合多模態深度游走(Multimodal DeepWalk,MmDW)和偏差校準因子(Bias Calibration factor,BC),有效地將不受關注且用戶感興趣的低曝光項目推薦給用戶。
推薦系統的曝光機制由推薦器構建者制定,相關學術研究人員無權限獲取和干預[9]。假設用戶只能與系統曝光的項目交互,則交互次數就代表曝光次數,項目交互數越大,則項目曝光度越高,交互數與曝光度成正比。本文統計Amazon 用戶交互數據中每個項目的交互次數,得到項目交互數(曝光度)分布圖,項目交互數越大越受用戶關注。從圖1 可以看出,項目交互數(曝光度)分布不均衡,只有極少一部分項目的交互次數達到100 以上,大多數項目的交互次數集中在[0,100]。

圖1 項目交互數(曝光度)分布圖Fig.1 Distribution diagram of item interaction number(exposure)
由圖1 可知,高曝光項目數量少,即使不推薦用戶也可以通過其他新媒體平臺獲得;相反,低曝光項目數量龐大且不受關注,用戶難以從除了推薦之外的其他途徑獲取到低曝光項目信息。因此與推薦高曝光項目相比,推薦低曝光項目將會帶來更大的價值。推薦系統受曝光偏差影響,只向用戶推薦高曝光項目忽視了滯留已久的低曝光項目,使越來越多的用戶被推薦系統局限在一個相對“狹窄”的推薦列表中,用戶的潛在興趣被帶有偏差的推薦結果忽略。因此,推薦低曝光且用戶感興趣的項目十分重要。
大型電子商務網站往往有龐大的用戶量,可利用推薦模型捕捉用戶的潛在偏好,為意圖不明確的用戶主動提供個性化服務?;陧椖肯嗨贫鹊膮f同過濾利用用戶-項目歷史交互數據建模用戶偏好模型,其輸入數據來源廣泛且語義豐富,展示給用戶的預測列表解釋性強,例如推薦頁面向用戶推送電蚊香,推薦原因是用戶近期購買過蚊帳。此模型的推薦依據是用戶歷史偏好行為,預測結果準確率高,由于電商場景下項目及其屬性信息更新較為穩定,項目相似度矩陣的更新和維護的代價相對較小。綜合上述優點,基于項目相似度的協同過濾成為大規模電商網站和工業界廣泛采用的推薦模型[6]。
Jaccard 相關系數(Jaccard Similarity Coefficient)和余弦相似度(Cosine Similarity)是計算項目相似度矩陣常用的方式。假設sim(i,j)表示項目i和項目j之間的相似度,N(i)表示與項目i交互過的用戶集合,N(j)表示與項目j交互過的用戶集合,|N(i)|表示與項目i交互過的用戶數量,|N(j)|表示與項目j交互過的用戶數量,|N(i) ∩N(j)|表示同時與項目i和項目j交互過的用戶數量。項目i和項目j之間的Jaccard相關系數計算方式為:

項目i和項目j之間的cosine 相似度計算方式為:

得到項目相似度矩陣后,計算目標用戶對歷史交互項目的相似項目的興趣傾向值:

其中:N(u)表示用戶u交互的項目集合;sim(i,k)表示與項目i最相似的k個項目;ruj表示用戶u對項目j的偏好程度,在隱式反饋推薦中ruj取值為1。
協同過濾機制容易過度推薦高曝光項目而放大偏差,曝光偏差使項目因曝光度不同而有不同的相似項目。一般來說,高曝光項目和其他項目間的相似程度要高于低曝光項目和其他項目間的相似度[10],這是因為頻繁曝光在推薦頁面的項目(高曝光項目)通常具有其他項目的共性特征,且受到系統中大多數用戶的關注。由式(3)可知,兩個項目間的相似程度越高對計算用戶興趣傾向值貢獻越大,推送給用戶的預測列表自然也是曝光度較高的項目。結合式(1)~(3)可知,協同過濾推薦模型中計算相似度矩陣和預測用戶興趣傾向值加強了高曝光項目的貢獻度,削弱了低曝光項目的貢獻度,模型難以避免曝光偏差對用戶決策(瀏覽、點擊、收藏、購買等)的影響,甚至加劇曝光偏差??梢?,降低曝光偏差帶來的影響對提高推薦精度是有效的。
圖嵌入表示是利用深度學習模型的方法,將拓撲圖中的鄰接關系用低維度嵌入空間中的向量表示[11],即學習出一個低維稠密的向量來表示圖中的節點、邊和局部結構,同時包含一些附加特征,得以讓預測、分類、可視化等任務更加方便地提取和利用圖結構中蘊含的特征[12]。圖嵌入的思想是使在原始圖結構空間中彼此接近的點,映射到嵌入后的低維度空間中也相應地接近[13]。深度游走(DeepWalk)是典型的圖結構數據挖掘模型[14],主要分為隨機游走和生成表示向量兩個部分。首先利用截斷隨機游走算法從圖中提取一些節點序列,然后借助自然語言處理(Natural Language Processing,NLP)的思路,將生成的定點序列看作由單詞組成的句子,所有的序列組成一個大的語料庫,最后輸入到神經語言模型中生成Embedding 向量。
隨著圖嵌入技術的發展,嵌入向量本身的表達能力進一步增強,而且能夠將各類補充信息融入嵌入向量之中,使嵌入向量成為非常有價值的推薦系統特征[15-16]。文獻[17]從理論的角度證明了基于SkipGram 模型的DeepWalk 是一種隱式的矩陣分解技術并推導出其近似的矩陣分解形式,進一步的研究發現,DeepWalk 的隱式矩陣通過低秩變換可轉換為歸一化的圖拉普拉斯矩陣,這項工作提出了一個用于顯式分解閉式矩陣的一般框架NetMF(Network embedding as Matrix Factorization)。盡管NetMF 學習到的表征向量用于后續任務時表現出較優的性能,但在學習大型圖的節點表征時需要付出相當大的代價,導致性能受限。之后,文獻[18]提出了基于譜傳播策略的ProNE 圖嵌入模型,可用于處理大規模圖數據。
融合多模態深度游走與偏差校準因子(MmDW-BC)的模型結構如圖2 所示,其中包含三個組件:構建項目圖組件、多模態深度游走MmDW 組件和偏差校準推薦BC 組件。

圖2 MmDW-BC模型的結構Fig.2 Structure of MmDW-BC model
由1.1 節的分析可知,電商推薦系統中存在大量低曝光項目,這些項目由于推薦頁面曝光次數不足而缺乏用戶交互,加劇項目交互數據稀疏性和冷啟動問題。項目屬性提供了高維多模態的元數據,主要為項目的文本描述和圖像描述,應用文獻[19]中已經預訓練得到的圖像特征向量和文本特征向量,將高維多模態的項目屬性特征引入作為輔助信息構建多模態連接邊。
本文用G表示構建的項目圖,圖G中的節點是項目節點,其中vi∈V,|V|表示圖G中的節點個數,定義了點擊共現連接和屬性相似連接兩種連接類型,連接邊分別屬于實邊集E={e11,e12,…,emn}和虛邊集依據用戶歷史點擊序列構建實邊,如果用戶先后點擊過兩個項目,說明兩項目間存在點擊共現連接關系,那么這兩個項目之間就由實線連接;通過計算兩個項目之間多模態屬性特征相似性生成虛邊,如果當前項目用戶未交互且與交互項目間屬性特征相似的,說明兩項目間存在屬性相似連接關系,則用虛線連接。由于項目的高維多模態特征是文本特征和圖像特征,計算項目間的文本相似性和圖像相似性得到項目間的屬性相似性。根據文獻[20]將相似度閾值b設為項目屬性的平均相似度,當項目間屬性相似度達到閾值b時,產生虛邊。

其中:i_txt表示項目i的文本屬性特征;j_txt表示項目j的文本屬性特征;ij_txt_sim表示項目i和項目j間的文本屬性相似度;i_img表示項目i的圖像屬性特征,j_img表示項目j的圖像屬性特征;ij_img_sim表示項目i和項目j間的圖像屬性相似度表示項目i和項目j間的屬性相似度。

圖3 未引入輔助邊和引入輔助邊的項目圖Fig.3 Item graphs without edges and with auxiliary edges


圖嵌入DeepWalk 模型在圖上進行截斷的隨機游走以探索更多節點,但DeepWalk 只考慮了網絡結構,忽略了節點連接邊中蘊含著豐富的附加信息。本文項目圖中,項目間的連接邊包括屬性相似虛邊和交互共現實邊,為了在游走采樣時對這兩種邊及其連接節點有所區分,改進傳統DeepWalk 中均勻隨機采樣的策略,提出一種新的節點轉移概率,探索更多未交互項目并將項目多模態屬性信息融入嵌入向量。本文提出多模態深度游走(MmDW)圖嵌入新模型(詳細描述見算法1),得到的嵌入表示中不僅保留了圖結構信息,還保留了有用的屬性信息,具體可歸納為四步:
1)以多模態項目圖上的節點為起點進行節點轉移,即到達節點vi時,下一步要遍歷的節點根據跳轉概率選擇鄰接點vj,重新得到一個由項目節點構成的序列。從節點vi轉移到vj的跳轉概率為:



3)生成多模態項目圖中節點的表示向量。
推薦機制受曝光偏差影響使交互項目呈現不均衡分布,推薦系統通常會放大這種不均衡,當下一次推送時傾向于推薦高曝光項目,低曝光項目往往得不到充分的展示,甚至不被展示。隨著系統的迭代反饋,曝光偏差被進一步放大,導致預測結果偏離用戶的真實興趣。校準是機器學習分類任務中的一個常見概念,當分類算法的預測結果分布與實際分布一致時,即為分類校準算法。本文為了緩解偏差放大,將校準策略應用于推薦任務,提出了偏差校準推薦算法(見算法2)。具體為,設計校準因子修正項目對推薦得分的貢獻度,使推薦結果中項目的分布比例均衡且符合用戶真實的偏好分布,從而規避曝光偏差對用戶決策的影響。
用戶傾向于與系統主動提供的內容進行交互,因此頻繁曝光在推薦頁面的高曝光項目得到大多數用戶的關注。這種情況下,用戶被動地接受推薦內容而產生的交互并不能反映其真實偏好。因此應削弱高曝光項目的貢獻度,本文提出項目曝光度校準因子Cexposure,用于校準項目曝光度對興趣傾向值的貢獻,即高曝光項目的相似度貢獻值下降,低曝光項目的相似度貢獻值提高。

研究表明,用戶活躍度對項目間相似性的貢獻程度不同,進而影響用戶興趣傾向性得分。系統中存在大量低活躍用戶,例如系統新用戶等,這些用戶需求不明確且偏好不穩定,傾向于與推薦頁面曝光的項目直接交互,此行為為高曝光項目提供了高相似度貢獻值,加劇了系統中的曝光偏差。本文提出用戶活躍度校準因子Cactivity,用于校準用戶活躍度對興趣傾向值的貢獻。

其中:|Ni|為項目i在歷史記錄中的交互次數;|Ni∩Nj|為同時與項目i和項目j交互的用戶數。
算法2 BC(Φ,Cexposure,Cactivity)。
輸入低維稠密的項目節點表示矩陣Φ,項目曝光度校準因子Cexposure,用戶活躍度校準因子Cactivity。
輸出下一次點擊的TopN預測列表。
1)依據用戶歷史交互數據構建用戶-項目倒排表。
2)計算項目相似度矩陣:

3)基于項目曝光度校準因子和用戶活躍度校準因子估計用戶興趣,進一步校準用戶興趣傾向性得分:

其中:N(u)表示與用戶u交互過的項目集合;S(i,k)表示與項目i最相似的前k個項目的集合。
4)將用戶對各個項目的興趣傾向性得分由高到低進行排序,選取前N項推薦給用戶。
本文選取被廣泛使用的評測協同過濾推薦模型性能的電影評分數據集ML-1M(MovieLens-1M)和Amazon 電商數據集,從真實電商Amazon 平臺數據中選擇圖書類和服飾類作為實驗數據集,數據包括從1996 年5 月截至2014 年7 月收集到的用戶評論信息(評分、評價、幫助性投票),產品元數據(文本信息、圖像信息、品牌、價格等)和鏈接(瀏覽/購買)。在真實推薦場景中,用戶的隱式交互更廣泛,本文通過預處理、采樣和篩選原始數據集最終將評級的出現視為隱式反饋,并使用時間戳確定用戶交互操作的順序。兩個數據集的細節描述如表1 所示。

表1 數據集的細節描述Tab.1 Details of datasets
Amazon 數據集中項目屬性元數據的字段含義如表2所示。

表2 Amazon數據集中元數據字段的含義Tab.2 Meanings of metadata fields in Amazon dataset
本實驗在64 位Windows 10 專業版環境下運行,處理器為Intel Core i7-8700 CPU @3.20 GHz,16 GB內存,NVIDIA GeForce GTX 1660 Ti 的顯卡,Python 3.7.4。
在評測推薦模型的性能之前,先用留一法(Leave-One-Out,LOO)劃分訓練集和標簽。留一法是機器學習中對學習器進行評估的一種方法,利用整個數據集幾乎所有的數據進行訓練,留下一個數據進行測試(驗證)。本文實驗的學習任務是利用用戶歷史交互記錄預測用戶下一次可能交互的項目,因此用LOO 方法進行數據集預處理。對于每個用戶,將歷史行為按時間戳排序,挑選出時間最近的一次交互項目作為標簽,除最新一次交互之外的所有交互作為訓練集,詳細過程見圖4。本文采用的預處理方法使訓練集與初始數據集相比只少了最近一次交互的樣本,降低了隨機劃分帶來的偶然性,使結果具有確定性;同時又能最大限度地利用初始數據集,使數據利用率更高。

圖4 LOO劃分數據集Fig.4 LOO method to divide dataset
預測用戶下一次點擊的TopN項目列表,最常用的評價指標是準確度,該指標衡量的是當前推薦模型預測用戶未來興趣的精準程度,得分越高說明模型預測越準確,推薦效果越好。本實驗用到的預測準確度指標是召回率(recall),除了召回率指標,還有衡量排序質量的評價指標,本文采用標準的歸一化折損累計增益(ndcg),用戶興趣度高的項目出現的位置越靠前說明排序效果越好。
recall 和ndcg 分別是衡量召回和排序的準確性指標,除此之外,本文還引入了反映推薦系統整體多樣性的新穎性(novelty)和多樣性(diversity)指標,用于衡量本模型校準不均衡分布的合理性[21]。其中,新穎性關注低曝光項目的推薦能力,常用推薦結果的平均曝光度計算新穎性;多樣性關注用戶廣泛且個性化的需求,常用推薦列表中項目間的不相似度來描述多樣性。上述指標可以表示為recall@N、ndcg@N、novelty@N和diversity@N,用于評測推薦模型在列表長度為N時的性能,指標值越大,證明模型的效果越好。
基線模型的簡要介紹如下:
MostPop:此模型簡單地將最熱門的項目推薦給所有用戶,不考慮用戶的個性化需求。
Item-KNN:基于鄰域的傳統協同過濾模型。
DeepWalk[14]:基于隨機游走的圖嵌入模型,得到網絡結構中節點的表示。
NetMF[17]:整合傳統圖嵌入模型,統一為具有封閉形式的矩陣分解通用推薦模型。
ProNE[18]:基于稀疏矩陣分解和譜傳播的快速且可擴展的圖嵌入模型。
RankALS+Re-ranking[22]:為了均衡系統中長尾項目和短頭項目的覆蓋率,首先基于傳統協同過濾RankALS 模型生成推薦列表,在此基礎上進行后處理控制(重排序)。
MmDW-BC 實驗的參數設置如表3 所示,基線模型的參數設置依據其原論文進行微調。

表3 本文用到的參數Tab.3 Parameters used in this paper
為了檢驗本文模型的有效性,在真實電商Amazon 數據集和電影ML-1M 數據集上,先進行整體效果比較,再進行多組自身消融對比實驗,最后討論參數變化對實驗結果的影響。
3.5.1 推薦性能比較
本文提出的MmDW-BC 模型與六個基準模型應用于稀疏性不同的數據集的整體效果比較結果見表4 所示。

表4 本文模型與基線模型的性能對比Tab.4 Performance comparison of the proposed model and baseline models
MmDW-BC 在四個評價指標上的結果均高于除ML-1M中的ndcg@50 外的其他對比模型,充分說明了本文明確考慮曝光偏差以提升推薦精度的必要性和有效性。MmDW-BC系統整體的多樣性較高,驗證了偏差校準的合理性。其中,MmDW-BC 模型在不同稀疏度的數據集上的表現略有差異,在recall@50、novelty@50 和diversity@50 指標上,模型在稀疏的Amazon 數據集上的表現明顯優于稠密數據集ML-1M,這得益于MmDW-BC 中的多模態深度游走模塊可以充分挖掘項目屬性的隱含特征,從而有效地緩解數據稀疏性和冷啟動問題;而模型在ndcg@50 指標上的表現與之相反,說明MmDW-BC 模型在稠密數據上的排序質量更高。
3.5.2 自身消融研究
Item-KNN 是先進推薦模型的基礎,本文在其基礎上對項目節點表示和計算用戶傾向性得分作改進。為了探索多模態深度游走MmDW 和偏差校準因子BC 分別對低曝光項目的推薦作用,進行了多組自身消融對比實驗。其中,MmDW 為基于多模態深度游走的推薦模型,BC 為只引入項目曝光度校準因子和用戶活躍度校準因子的推薦模型,消融實驗結果見表5 所示。

表5 消融實驗的結果Tab.5 Ablation experimental results
從表5 可看出,在稀疏Amazon 數據集和稠密ML-1M 數據集上,消融實驗結果表現出MmDW-BC>BC>MmDW>DeepWalk>Item-KNN,其中BC 在 recall@50、novelty@50 和diversity@50 指標上的表現均高于MmDW,說明通過引入偏差校準因子來改進用戶傾向性得分計算對緩解曝光偏差的貢獻更大,消融實驗充分驗證了偏差校準的合理性和緩解偏差放大的有效性。以上MmDW-BC、MmDW 和BC 三個模型的實驗結果都優于基準模型,且MmDW-BC 的結果達到最佳,驗證了本文模型MmDW-BC 的有效性。
3.5.3 參數N對推薦性能的影響實驗
為了探究推薦性能受預測列表的長度N的影響,本文設置N=10,20,30,40,50,實驗結果如圖5 所示。隨著N的增大,推薦指標也逐漸升高,但上升幅度逐漸減小,考慮到模型運行時間會隨N的增大而增加,因此本文設置模型的預測列表長度N為50。

圖5 推薦性能隨N值的變化Fig.5 Recommendation performance varying with value of N
3.5.4 參數k對推薦性能的影響實驗
為了探究推薦性能受項目近鄰數k的影響,設置k=10,20,40,80,160,320,實驗結果如圖6 所示。隨著k的增大,模型在Amazon 數據上的推薦指標值先逐漸上升后保持不變,而在ML-1M 數據上持續上升,但當k=160 后增長緩慢,因此本文設置項目近鄰數k為160。

圖6 推薦性能隨k值的變化Fig.6 Recommendation performance varying with value of k
本文為了緩解曝光偏差對協同過濾推薦性能的影響,提出一種融合多模態深度游走與偏差校準因子的TopN推薦模型MmDW-BC。與基線模型在不同稀疏性的數據集上的對比實驗結果表明,本文模型MmDW-BC 的整體推薦性能在四個評價指標上均優于基線模型,驗證了本文模型在低曝光項目上具有良好的推薦能力。