李 挺 金福生 李榮華 王國仁 段煥中 路彥雄
1(北京理工大學計算機學院 北京 100081)
2(騰訊科技(北京)有限公司 北京 100080)
(litingbit@163.com)
社交網絡平臺的繁榮為社會的生產生活提供了相當程度的便利,極大地改變了人們的生活方式和行為方式.如今,互聯網上的大多數創作都是由平臺上的用戶發布和消費的,一個更高效、更個性化的推薦算法可以更能理解用戶的意圖,幫助用戶在平臺上找到感興趣的內容,縮短內容生產者和消費者之間的距離,提高平臺的用戶粘性[1].得益于用戶數據量的迅速增長,通過平臺內的畫像研究可以發現,偏好相似的用戶更有可能形成一個相互關聯的圈層,即根據特定條件或方法聚集得到的用戶群體,并在圈層中傾向分享彼此的交互,從而形成自發的協同過濾推薦.這是微博和推特等公共社交網絡平臺中的常見現象.基于這樣的社會學發現[2],在實踐中,不僅要考慮用戶的偏好,還要關注他們的“朋友”,即存在社交關系的用戶的交互數據,以改善推薦的效果.
現有的根據關系數據進行協同過濾的思路隨著圖神經網絡理論的發展得到了深入研究,基于普通圖的堆疊方法在一定程度上可以捕獲多跳的社交關系[3],相關的研究已經得到了一些優秀的結果.但在實際場景中,社交關系與用戶興趣分布的不相關性給用戶表征的學習帶入噪聲,同時用戶和項目的交互非常復雜,用戶之間也存在著更高階的復雜關系信息,這種信息無法依靠簡單成對關系建模.圖卷積網絡層的過度堆疊容易導致中間層表征的過度平滑[4],從而在稀疏場景下的用戶建模、用戶相似性發現與挖掘方面能力較弱.也有些工作提出使用超圖對用戶之間、用戶與項目之間的關系進行高維建模,但異質超圖神經網絡(hypergraph neural network,HGNN)多選擇將用戶和項目等多種不同屬性的節點統一到同一個圖中進行模式挖掘[5-8],其中的復雜結構增加了超圖卷積操作的復雜度,并降低了模型的訓練效率.另一方面,由于平臺內容的快速增長和用戶對平臺的使用習慣不同,以騰訊微信“搜一搜”等內容平臺為代表的應用產生了極大的用戶活躍度和高度稀疏的生態數據分布.上述高度稀疏場景與傳統場景有所不同,用戶頻繁交互形成的交互對象集合的重疊度極低(即交互呈現“孤島”型分布),這提高了從交互拓撲中挖掘用戶興趣關聯性的難度,對生態內的推薦算法提出了挑戰,即如何完成高度稀疏數據場景下的個性化推薦任務并保證推薦效果和用戶表示的可解釋性.在場景中,面對根據用戶所屬群體的畫像進行內容推薦的圈層內容推薦任務,單純依靠拓撲關系進行圖學習的現有模型很難達到令人滿意的效果,且這些模型輸出的用戶與項目表征在可解釋性上存在短板,難以勝任群體行為模式挖掘的相關任務.
出于解決高度稀疏數據場景下的圈層內容推薦和提高用戶表征可解釋性的任務考慮,針對圈層內容推薦任務,本文提出了一個新的輕量同質超圖神經網絡(lightweight homogeneous hypergraph neural network,Light-HGNN)模型,模型以項目為核心來構建連接用戶節點的超邊,從而構造用戶節點同質超圖來直接建模用戶拓撲關系,降低了模型復雜性并縮小了參數規模,提升了訓練的效率.如圖1 所示,模型忽略用戶間的關系,并根據用戶的交互歷史數據提取蘊含在項目中的用戶的興趣信息,并結合超圖拓撲關系和項目內容表示進行編碼、輸出用戶在表示空間的表征,改善了表示的可解釋性.

Fig.1 ?llustration of transferring interactions into circles of users圖1 用戶交互轉化為用戶圈的示意圖
本文模型通過用戶交互數據至超圖的轉化、卷積生成用戶表征序列、用戶表征計算與過濾來實現用戶表示的編碼.模型首先將用戶-項目交互數據轉化為只含用戶節點的同質超圖,并計算得到用戶表征解耦序列初始值,隨后根據超圖拉普拉斯過濾矩陣進行信息傳播與序列值的迭代生成,通過不使用激活層的卷積方法簡化模型結構,并根據提出的均值差跳躍知識(jump knowledge,JK)注意力機制為每個序列值生成權重矩陣.最終,通過對解耦序列的加權求和、過濾完成對用戶表示的編碼.在訓練階段,本文模型通過計算采樣的貝葉斯個性化排名[9]損失來優化參數,通過相關測試指標的結果來確定、比較模型的效果.
本文的主要貢獻有4 點:
1)提出了一種將傳統的用戶-項目二元關系轉化為同質超圖的新方法來對用戶數據進行建模.方法根據用戶表征的聚類來迭代地構建同質超圖,從而生成用戶表征序列,使構建的模型更加輕量、復雜性更低.
2)提出了根據交互對象的內容表示構建用戶的表征的方法,從而提高表征的可解釋性.
3)設計了新的更輕量的均值差JK 注意力機制來生成用戶表征序列對應的權重矩陣序列,并根據這一注意力機制完成高度稀疏數據條件下的圈層內容推薦任務中的編碼任務.
4)在真實數據集上進行了模型對比實驗,證明了模型相對更好的效果.
本節主要從超圖神經網絡、個性化推薦以及協同過濾的相關方法與模型3 個方面回顧相關領域的研究現狀.
超圖中的超邊可以同時連接多個節點,比圖結構中的普通成對關系的表達能力更強,具備了對數據的高維屬性進行建模的能力.此外,圖和超圖之間結構的相似性使得圖神經網絡領域的現有方法更容易通過一些自適應調整后在超圖上應用.
一些現有的工作已經證明了將圖領域方法應用到超圖領域的可行性與有效性.Feng 等人[10]在2019 年發表超圖神經網絡研究論文,在超圖中實現了類似圖卷積網絡[11](graph convolutional network,GCN)的操作方法.Zhang 等人[12]發表了模型Hyper-SAGNN,這個模型具有靈活處理多種形式超圖的能力.在后續的研究中,許多超圖神經網絡模型都開始借鑒其他網絡模型中使用的機制,如Bai 等人[13]在研究中提出的超圖卷積注意力機制,Hu 等人[14]使用拉普拉斯平滑過濾器替代冗余的權重矩陣進行嵌入表示的迭代等.這種嘗試在各自針對的任務中表現出極好的適應性.
個性化推薦的效果部分依賴于模型通過用戶偏好挖掘得到的表示的質量.最初的嘗試主要集中在分析用戶的查詢、點擊和參與主題等記錄的工作上來提取用戶的偏好,并得到用戶淺層興趣和深層興趣的合適表示.Teevan 等人[15]以及Dou 等人[16]分別在各自的工作中提出了衡量文檔得分的方法,即分析用戶歷史操作中的點擊來衡量文檔的點擊率.在主題的研究領域,手動設計特征的巨大研究成本促使相關研究探索自動學習文檔中涉及的主題表示的方法,根據相關分析[17],許多使用排序學習方法處理組合特征的方法的效果比傳統方法表現得更好.
隨著推薦系統中數據量的快速增長,圖與關系數據已經成為當前實踐中數據源的重要組成.深度學習的發展啟發了許多研究者在圖表示學習任務中采用神經網絡方法并取得了顯著成效.Wang 等人[18]提出的神經圖協同過濾(neural graph collaborative filtering,NGCF)是較為經典的編碼模型之一,可以在圖結構中學習嵌入表示,顯式地將協同過濾信號放入到嵌入過程中.He 等人[19]完成對NGCF 模型結構解析的工作后提出了LightGCN 模型,通過簡化卷積層的設計來提高其對推薦任務的適用性,得到了優于NGCF的結果.同時,基于對用戶社交關系的研究也有些令人印象深刻的成果.Wang 等人[3]提出了順序組推薦問題,并設計通過“組”這種結構來綜合學習長短期用戶表示.Zhou 等人[1]提出通過朋友關系網和相似搜索行為構建朋友圈,來解決用戶搜索歷史不足的問題.
隨著研究的深入,部分研究關注到了圖模型表達能力的局限,將關注點延伸至超圖.Ai 等人[20]提出的模型通過在不同用戶和商品的知識以及靜態和動態的關系的聯合建模來構建知識圖譜.Liu 等人[21]利用從用戶-查詢-商品中學習的邏輯結構表示和在邏輯路徑上的不同實體之間的協作信號來改進個性化商品搜索.Xia 等人[6]提出了一種雙通道超圖卷積網絡,將會話數據建模為超圖,并將自監督學習融入到網絡訓練中.Yu 等人[2]通過研究超圖結構上的用戶間和用戶與項目間的拓撲關系構建了自監督多通道卷積網絡.后續研究中Wu 等人[7]將自監督對比學習任務和推薦系統的監督學習任務相結合,提出了一種應用于用戶-物品二分圖推薦系統的圖自監督學習框架.
但在很多情況下,社會關系的復雜性意味著社交關系與興趣分布不一定正相關.推薦算法研究的另一個有效方向是進行元路徑,即交替的實體和關系序列的研究.有些方法遵循這種思路研究了不同任務場景下異質圖的元路徑模式以挖掘用戶潛在的搜索意圖,這些工作有助于提高推薦結果的可解釋性.Hu 等人[22]提出基于相關任務上下文的元路徑的方法,通過使用協作注意力機制來生成基于特定交互的推薦結果.但元路徑模式的設計需要大量的經驗,且任務間多不能通用,如何控制元路徑的長度來平衡推薦效果和計算資源成本也是制約效果的瓶頸.
在不同研究思路的協同過濾算法中,基于模型的協同過濾算法通過已知的用戶和項目之間的交互來形成模型,以便推薦系統能夠識別具有更高復雜度的模式,并在用戶表示的幫助下獲得推薦.在該研究思路上有聚類方法[23]、貝葉斯網絡[24]、關聯算法[25]以及奇異值分解(SVD)[26]等方法.在這些方法中,矩陣分解(MF)[27]將所有用戶和物品投影到一個共享的潛在因子空間,并根據表示的內積計算結果進行預測.算法因其性能和高擴展性曾被認為是最有效的協同過濾方法之一.此外還有Rendle 等人[9]提出的使用成對log-sigmoid 函數進行優化的貝葉斯個性化排名(Bayesian personalized ranking,BPR)也是較為經典的算法框架;He 等人[28]提出了Neural MF,使用多層感知機來學習交互.
當前也有很多研究的注意力集中在用戶和項目進行交互所生成的圖結構中.一些工作已經產生了很好的結果,例如SimRank[29],當被相似的對象引用時,將2 個項目視為相似的對.同時其他方法如?temRank[30]和 BiRank[31]則是受到標簽傳播機制的啟發.圖卷積層的引入為協同過濾任務創造了另一個可行的路線.GCMC[32]將其應用于用戶和項目之間的交互模型.而在另一些模型中,PinSage[33]參考了GraphSAGE[34]的思路,將卷積層結構嵌入到商業推薦系統中.而Ji 等人[8]提出的DHCF 模型嘗試使用基于高階連通性的跳躍超圖卷積(jump hypergraph convolution,JHConv)方法將用戶和項目表征進行同步優化,對許多現有研究都具有啟發性.
本節將深入地介紹Light-HGNN 模型的結構,并基于細節具體解釋如何構建模型、優化模型并將模型應用到圈層內容推薦任務中.
圖2 總體展示了Light-HGNN 的結構.模型第1步根據用戶和項目的關聯關系將原始交互數據轉化為超圖,并結合項目表示矩陣完成對用戶表示和用戶表示序列的初始化.在第2 步生成用戶表示序列的過程中,模型通過“用戶聚類、同類用戶交互擴展、構建超圖、超圖卷積”的方式迭代地生成用戶表示序列,每一個輪次的超圖都是根據上一個輪次生成.第3 步,整個序列經過注意力機制生成對應的權重序列.在第4 步對解耦序列加權求和、過濾得到最終的用戶表示矩陣.在整個流程中,模型根據用戶的聚類進行基于用戶表示相似性的交互擴展,并使用超圖卷積方法加強被相同項目連接的用戶間的信息流動.這樣將屬于相同圈層用戶的交互內容進行“共享”,來達到挖掘用戶的顯式與隱式偏好、進行協同過濾的目的.

Fig.2 ?llustration of Light-HGNN圖2 Light-HGNN 示意圖
定義1.圈層.圈層指根據某些條件或方法聚集起來的用戶群體或用戶集合.用戶可以同時屬于根據不同劃分確定的不同圈層來進行不同任務.
定義2.朋友圈與興趣圈.朋友圈指根據用戶之間的社交關系(圖3 中實線關系,如微信中的好友關系、微博等社交網絡的關注關系等)構成的同質圖結構,圖可以不是完全圖或連通圖.興趣圈是根據用戶在興趣表征空間中的分布情況構成的節點聚類(圖3中圈),在每一個聚類中,用戶的興趣表示具有一定的相似性.如圖3 所示.

Fig.3 ?llustration of friend circle and interest circle圖3 朋友圈與興趣圈示意圖
定義3.圈層內容推薦.圈層內容推薦任務屬于個性化推薦任務,在圈層內容推薦任務中,模型只學習用戶交互的項目的內容數據,不考慮用戶間關系,輸出帶有圈層性的用戶表征,即興趣表示相似的用戶在空間中聚集.同時,模型需要根據用戶的數據輸出用戶的表示,對于給定的候選項序列,模型需要根據用戶的表示和候選項的表示來計算候選項的分數,該分數在某種程度上預測了用戶對項目的興趣程度,或與用戶可能和項目發生交互的概率正相關,從而根據分數對候選項進行排序并生成推薦.
圈層內容推薦任務可以用公式化語言進一步描述.對給定項目表征矩陣E和給定交互數據集Dataset,其中交互指用戶和項目有交互,例如,用戶閱讀某文檔是一次交互.Dataset的定義如式(1)所示.
其中Setuser,Setitem表示用戶集合與項目集合,模型M應輸出用戶集合的表示矩陣U,并根據用戶u的表示和給定候選項集D={Di| 0<i≤n}對應輸出候選項集的評分集P={Pi| 0<i≤n},其中Pi=M(u,Di).
定義4.超圖.一般地,一個超圖可以被定義為G=(V,ξ,X,W),其中V為節點集,ξ為超邊集,X∈ R|V|×F為節點表示矩陣,F為節點表征向量的維度,W為超邊的權重矩陣.超圖中的節點與超邊的連接情況可以用關聯矩陣H來描述,一般來說,每個位置為0 或1,如式(2)所示.
其中vu∈ed表示超邊d連接節點u.根據超圖關聯矩陣,可以進一步計算節點和超邊的度矩陣.
2.2.1 超圖建模
1)交互數據轉化為超圖.最終的用戶表示是由用戶表征序列根據對應權重加權求和并過濾得到的,而用戶表征序列是由初始值通過迭代超圖建模后計算得來的.如式(1)所示的原始交互數據集Dataset中的數據,可對應地構建用戶和項目的關聯矩陣Hori.其具體步驟為:將矩陣初始化為|Setuser|×|Setitem|維度的零矩陣,對任意交互記錄(u,d),對Hori對應位置賦值使Hori對應位置的值為1.此時可以得到原始交互數據轉化來的關聯矩陣.如果將每一個項目視作超邊的核心,即以項目作為超邊連接所有與之發生交互的用戶,則可以將原始數據轉化為一個超圖,如圖4所示,用戶和項目的交互數據經處理對應構成了同質超圖.以用戶A,C,D與項目a發生的交互為例,在超圖中的用戶A,C,D將被項目a轉化得到超邊連接.原始數據轉化得到的超圖視作原始超圖,Hori是它的關聯矩陣.

Fig.4 ?llustration of transferring interactions data into hypergraph圖4 交互數據轉化超圖示意圖
2)用戶表征序列初始化.獲得超圖關聯矩陣Hori后,可以根據交互情況計算此時用戶表征矩陣.用戶u初始表示向量可以由交互項目的表示向量Ed相加得到.對用戶u的初始表示向量,如式(3)所示.
其中Ed表示項目d的表示向量.項目的向量表示可以來自上游任務,對于文檔、視頻等內容可以是關鍵詞的多熱或獨熱向量,亦或采集標題后使用自然語言處理模型輸出,如詞向量相加,Sentence2Vec 或TF?DF 以及其他廣泛接受的語料庫.
對整個用戶集和項目集,可以進行矩陣尺度的計算,如式(4)所示.
其中E表示項目表征矩陣,則用戶表征序列可以初始化為series={X(0)}.從上述內容中可以得出,本文提出的模型以用戶“交互”的對象的表示為基礎進行用戶編碼,從而將用戶與項目映射至相同的表征空間.這里的“交互”包含實際發生的交互以及擴展得到的可能交互.
2.2.2 表征序列生成
得到初始化的用戶表征序列后,可以根據表示序列預設長度K和當前最新的用戶表示進行超圖建模從而迭代地生成完整用戶表示序列.其具體做法是:首先對上一輪的用戶的表示X(i-1)(1 ≤i≤K-1)中的向量進行聚類,并根據聚類標簽進行用戶劃分.隨后,在每個用戶劃分內部,對任意成對的用戶進行交互擴展,即對每個用戶對,在保留自身交互記錄的同時,將自己的交互記錄“分享”給對方,作為對方的擴展交互記錄.由于擴展的記錄并非是用戶的實際交互,所以在生成交互數據時需要記錄的是形如(用戶u,項目d,置信度c)的三元組,其中置信度為擴展時2 個用戶表示之間的相似度,采用2 個用戶表示的余弦值并只取值在{0,1}(負值取0,原始交互數據中的置信度默認為1).為了減少可能帶入的噪音,可以在擴展時設置相似度閾值gate來減少低相似度的擴展,擴展示意如圖5 所示,以A和B構成的聚類為例,其中(A,b)與(B,a)的交互記錄是根據2 個用戶的表征相似性交互擴展得到的.經過這樣的處理就可以將式(1)中所示的原始交互數據Dataset進行擴展,得到式(5).

Fig.5 ?llustration of extension of interactions圖5 交互擴展示意圖
關聯矩陣的生成和初始值生成類似,此時將置信度賦值到對應位置.對任意交互記錄(u,d,c),將H(i-1)對應位置賦值使得=c.獲取上一輪的經擴展后的超圖鄰接矩陣H(i-1),則可以根據它計算節點度矩陣和超邊度矩陣對上一輪的矩陣表示進行卷積后可以得到
其中 γ為取值在[0,1]的超參數,W可以設為相對應維度的單位矩陣.γ在式(6)中起到了限制信息流入規模的作用.通過不使用激活層的卷積方法可以對表示矩陣進行快速迭代,實現模型結構的簡化與輕量化.
根據文獻[14]可以對式(6)進行化簡,得到
其中I是單位矩陣.取超圖拉普拉斯過濾矩陣
則卷積表達式經過化簡,可得
通過以上過程可以擴充用戶表示序列series,直至series的長度達到設定長度K.由于每一輪的鄰接矩陣是變化的,從而每一輪的超圖也是在動態變化的.算法1 描述了序列生成的全部過程.
算法1.用戶表征序列的動態生成.
得到用戶表征序列后的工作是將用戶表征序列進行加權求和并過濾,最終得到輸出的表征.這個過程可以用式(10)表述為
其中Wi表示序列中的X(i)的對應權重,MLP2表示模型中使用的第2 多層感知機,是一個由多組線性層堆疊生成的網絡層.表示序列對應的權重Wi是根據注意力機制決定的.
JK 注意力機制[35]的目的是在更大尺度上為每個節點構建擴展特征,從而對序列值對應的權重學習起作用.模型構建的均值差跳躍知識(average difference jump knowledge,AD-JK)注意力機制希望在構建更廣特征域的同時,提升各節點注意力信息的差異性,使序列中每個值感知其與序列均值的矢量距離.具體做法是將每一個值與整個序列均值的差值作為該值的額外信息輸入至第1 多層感知機,并作為用戶表征序列中每個值的特征擴展.從用戶維度來看,擴展后的用戶表示輸入至權重激活層,并得到權重向量的輸出.在獲得了全部權重向量的基礎上,對所有權重向量進行Softmax 處理,獲得最終的權重向量序列.
通過注意力機制可以從用戶的維度輸出權重向量;在表示矩陣上進行操作時,可以得到表示矩陣對應的權重矩陣;通過加權和的過濾,得到最終的向量表征矩陣.
在完成編碼步驟后,可以根據用戶的表示與候選項的表示來計算用戶對候選項的評分.本文所述方法采用內積操作,以2 個向量的內積結果作為評分輸出.這要求最終輸出的用戶表示和項目表示具有相同的維度,而本文方法將用戶和項目映射至相同的表征空間,很好地滿足了這個要求.對任意用戶u和項目d,且u∈Setuser,d∈Setitem,u對d的評分可以計算為
其中Xfeature,u表示從用戶表征矩陣中抽取u的表示向量,Ed表示從項目表征矩陣中抽取d的表示向量.則對任意用戶u和候選項集D,且滿足相關條件u∈Setuser,D?Setitem,u對D的評分向量可以計算為
其中ED表示根據候選項集中項目抽取的候選項表示矩陣.
在訓練階段,模型在訓練集上進行多個輪次的隨機采樣生成訓練集,在每個輪次上計算貝葉斯個性化排名[9]損失(BPR loss)并根據損失函數優化模型中的參數.
具體地,首先在訓練集上進行隨機采樣.在采樣階段需要根據用戶的交互記錄以[用戶,正例,負例]的方式進行測試用例采集,其中正例為在訓練集上與用戶發生了交互的項目,負例為在訓練集上未與用戶發生交互的項目.結合數據集的規模進行上述方式的采集后,可以在訓練集上進行模型損失的計算,即
其中Sample表示采樣訓練集,pos 和neg 表示一個測試用例里的正例和負例,Θ表示模型中所有多層感知機的網絡層的參數,λ控制參數的L2 正則化的強度.在模型訓練階段采用Adam 優化器,并以mini-batch的方式對模型進行訓練.
1)可解釋性分析.用戶表征的可解釋性依賴于項目表征的可解釋性.在構建用戶表征序列時,模型根據用戶的交互數據進行初始化.而在進行交互擴展時,用戶將“看到”同一聚類中的其他用戶的交互,根據擴展得到的交互構建同質超圖,并根據卷積結果構建新的聚類.通過這樣的方法,將用戶和項目映射到相同的表征空間.而項目的表征空間可以有多種方法確定可解釋性,如項目標簽的獨熱或多熱向量,或word2vec 等其他自然語言處理模型輸出的詞向量模型.結合項目表示向量和交互記錄,用戶表征向量可以被理解為表示了“某個內容領域有多大興趣”的用戶,可解釋性得到了加強.
目前主要的圖與超圖模型多采用拓撲關系學習用戶和項目的向量表示,將用戶和項目表征作為模型參數,將維度作為模型的超參數,以此在訓練中進行表征的優化,使表征分布符合用戶的拓撲特征.在高度稀疏數據場景下用戶不具備鮮明拓撲特征時,模型往往達不到滿意的效果.
2)輕量化分析.本文提出的模型中主要的網絡層來自注意力機制和過濾層的第1 與第2 多層感知機.模型的用戶表征序列生成部分采用了不使用網絡層與激活函數的卷積方法,如式(6)~(9)所示,從而幫助實現用戶表征矩陣的快速迭代.在式(11)~(13)所示的均值差JK 注意力機制中,第1 多層感知機的輸入維度比原始JK 注意力機制要小,能夠降低模型網絡層的復雜度與整體的訓練成本.同時,對比將用戶和項目表征作為模型參數的方法,在面對大規模數據集時,模型需要更新優化的參數規模要小得多.有關輕量化分析將在實驗部分通過模型訓練效率和網絡參數規模對比進行驗證.
本節將對實驗階段使用的數據集以及實驗結果部分進行分析討論.在說明使用數據集時,將詳細討論數據集的特點以及其給模型帶來的挑戰;實驗結果與分析的討論部分將介紹實驗評價指標、基準模型、實驗環境、超參設置以及實驗結果的分析等5 個方面的內容.
本文使用的數據集是來自騰訊微信的非公開數據集(Wechat-Set).微信是國內使用最廣泛的社交平臺應用之一,整合了公眾日常生活中應用的眾多入口,每天產生海量的用戶數據.使用的微信數據集主要是針對用戶在生態內容搜索引擎“搜一搜”內發出的搜索請求和點擊閱讀的文檔的記錄,通過數據搜集生成了時間跨度大約1 個月的查詢記錄,涉及101 852個匿名處理的用戶和27 982 299 個請求關鍵字與點擊閱讀的文檔標題,并經過清洗形成這個高度稀疏的數據集.表1 展示了選取的非公開數據集和常用公開數據集的參數對比.其中的Wechat-Set Sample 數據集是從Wechat-Set 交互記錄中隨機采樣得到的子集,涉及2 026 個用戶在1 212 934 個文檔上產生的1 672 129個交互記錄.數據集中,將用戶閱讀了某文檔作為一次交互.

Table 1 Details and Comparison of Parameters of Experimental Datasets表1 實驗數據集參數詳情與對比
從表1 可知,相較于經典的公開數據集,騰訊數據集具有非常高的交互稀疏度(交互記錄/(項目×用戶))和比密度(項目/用戶).這反映了微信生態內數據的高度稀疏以及項目數遠大于用戶數的特點,也對生態內的推薦算法提出了挑戰,即如何完成高度稀疏數據場景下的推薦任務并保證輸出的效果和學習得到的用戶表示的可解釋性.本文方法在這方面的性能與效果將在實驗階段進行更加詳細的說明.
實驗主要在測試集上計算3 個基礎的評價指標來確定本文模型和基準模型的效果對比.采用的評價指標為精準度(Precision@TOPK)、召回率(Recall@TOPK)和F1 分數(F1-Score).
精準度和召回率在推薦領域屬于較為重要的基礎概念.精準度指檢索出的相關項目數與檢索出的項目總數的比值,衡量的是方法的查準率;而召回率指檢索出的相關項目數與相關項目總數的比值,衡量的是方法的查全率.具體地,精準度和召回率計算為
而F值為精準度和召回率的調和平均值,較為常用的F1 值的計算方法為
從而可以在一定程度上客觀地衡量模型的效果.
在基準模型的選取上,本文在實驗階段主要選取了MF,NGCF,LightGCN 這3 個方法,通過模型最終的評價指標計算結果來比較模型在選定的數據集上的表現.
1)MF[27](矩陣分解).矩陣分解是較早時期主流的推薦算法,將隱向量的概念加入協同過濾算法中的共現矩陣,從而使模型處理稀疏矩陣的能力得到加強.該算法期望為每一個用戶和項目構成一個隱向量,將用戶和項目定位到相同的表征空間上使距離相近的用戶具有相似的興趣特點.
2)NGCF[18].NGCF 模型研究認為早期矩陣分解等方法中隱藏在用戶和項目間的信息難以在編碼的過程中表示,編碼可能難以捕獲協同過濾效果.NGCF 可以在圖結構中學習表示,顯示地將協同過濾信號放入編碼過程并表達高維特征.但是,模型的節點更新較復雜,且容易在小規模數據上出現過擬合問題.
3)LightGCN[19].LightGCN 簡化了圖卷積層的設計,只包含了用于協同過濾的鄰域聚合組件.在用戶和項目的交互圖上,模型通過線性傳播用戶和項目的表示來進行表示學習,并根據所有聚積層上得到的嵌入表示輸出最終的嵌入生成,模型更簡潔且容易實現和訓練.
基準模型與本文模型均在相同的實驗環境下進行實驗.
基本的硬件與軟件參數如表2 所示.在基準模型與本文模型的相關參數方面,學習率統一為0.001,正則化系數為0.000 1,卷積層數、表征序列長度均為5;在內存允許的要求下,表示向量維度為100,所有中間層維度為128,Light-HGNN 中的多層感知機層數為2;Light-HGNN 的 γ=0.1,聚類數默認為12,擴展閾值將默認為0.9.

Table 2 Experimental Parameters of Software and Hardware表2 實驗軟硬件參數
在測試中,每個用戶取頭部20 個項目來進行相關指標計算,所有模型的訓練輪次設定為300,在訓練過程中每10 個輪次進行1 次模型測試獲取指標數據點,生成相關指標的曲線.
1)模型結果分析.模型的評價指標計算結果如表3 所示.其中Light-HGNN(JK)表示采用了原始JK注意力機制的模型,Light-HGNN(AD-JK)表示采用了均值差JK 注意力機制的模型.對表3 中的結果分析可知,優化了輸入規模的更加精簡的均值差JK 注意力機制與原JK 注意力機制得到了更好的模型效果,而本文模型的效果,不論在原始JK 注意力機制還是在改進的均值差JK 注意力機制下,效果都要好于基準模型.

Table 3 Calculation and Comparison of Evaluation Indicators of Models表3 模型評價指標計算與對比 ‰
造成本文模型與基準模型的效果差異的原因可能是數據的高度稀疏特征.如前所述,騰訊微信的數據集擁有相對更低的交互密度和相對更高的比密度.這導致數據集中的很多項目的交互用戶很少甚至是唯一的,與此同時,對用戶群體而言,同時存在多個用戶與1 個項目交互的情況也是極少的.這使得依靠用戶與項目的拓撲關系很難挖掘出獨特的結構特征,且很多項目節點的表征很難在迭代中進行更新,此時將用戶表征和項目表征同時作為參數進行優化時會帶來較大的不確定性.本文模型結合了超圖與源數據中的拓撲關系并以內容為導向、以項目表征來學習用戶的表示,能夠使用戶的表示更好地反映用戶的興趣分布,從而提高模型的效果.
圖6 和圖7 展示了各模型在實驗數據集上取得的相關指標的變化曲線.Light-HGNN 在各項指標上要優于其他基準模型,在精準度指標上的優勢更加明顯.除前文所述的相關分析,在模型的結構設計上,根據用戶聚類進行交互擴展并卷積的做法能使用戶直接“感受”到更多的感興趣的項目;相較于Light-GCN 對表征序列直接求平均的方法,加入的注意力機制能夠更好地挖掘隱藏在用戶表征序列中的用戶特征,并對輸出進行適應性調整,從而提高模型的效果.

Fig.6 Variation curve of precision and recall圖6 精準度和召回率變化曲線

Fig.7 Variation curve of F1 value圖7 F1 值變化曲線
2)模型輕量化分析.表4 展示了相同軟/硬件條件下的模型訓練時間與參數規模對比來對模型進行輕量化分析.從表4 中可以看出,Light-HGNN 的輪次訓練平均時長要遠小于Light-GCN 和NGCF.這2 個模型將用戶和項目的表征作為參數進行優化,而Light-HGNN 的模型設計主要優化模型的第1、第2多層感知機和權重激活層的參數.因此,根據數據集內的項目數和用戶數,Light-GCN 和NGCF 將產生海量需要更新的參數,參數規模遠大于Light-HGNN 的參數規模.每輪訓練時間的比較也證明了本文模型的輕量化特點.

Table 4 Comparison of Training Time and Optimized Scale of Parameters表4 模型訓練時間與參數優化規模對比
本文針對微信“搜一搜”的圈層內容推薦任務提出了一個新的輕量同質超圖神經網絡模型.模型采用同質超圖對用戶數據進行建模,簡化了模型設計、降低了復雜度、提高了表征的可解釋性.在序列值的迭代生成過程中,根據提出的均值差JK 注意力機制為每個序列值生成權重矩陣,對序列進行加權求和,過濾后得到用戶表示,通過用戶表示和項目表示的內積得到用戶評分,實現了高度稀疏數據條件下的圈層內容推薦任務.在真實數據集上進行的實驗驗證了模型更優的效果.在后續研究中,將繼續探索更有效的注意力機制來進一步提升模型的效果,并對存在時序屬性的交互數據的建模進行研究.
作者貢獻聲明:李挺撰寫論文,設計實驗及測試系統;金福生負責理論和研究框架設計指導及論文撰寫;李榮華指導論文撰寫;王國仁負責理論指導;段煥中和路彥雄負責實驗指導.