?

基于異構圖嵌入的論文個性化推薦算法

2023-12-24 10:35趙成亮陳遠平
數據與計算發展前沿 2023年6期
關鍵詞:集上異構論文

趙成亮,陳遠平

1.中國科學院計算機網絡信息中心,北京 100083

2.中國科學院大學,北京 100049

引 言

快速增長的論文為科研人員帶來了更多可參考的科研成果,同時也為快速查找感興趣的論文造成了一定的困擾。

論文個性化推薦旨在通過技術手段提供查找論文的精度和準確度,減少搜索返回的次數,使研究人員得以從浩如煙海的文獻資料中解放出來,并根據不同研究人員的興趣推薦出不同的結果,使推薦更具個性化。

近年來,越來越多的研究使用基于圖的方法進行論文推薦研究。傳統的基于圖的方法使用基于隨機游走的算法[1-4](如PageRank和RWR)得到網絡中節點的收斂的得分。隨著深度學習技術的廣泛應用,圖嵌入技術得到了研究人員更多的關注。DeepWalk[5]等模型在節點分類、商品推薦等領域得到了廣泛的應用,之后也被應用于論文推薦問題中。

當前基于圖嵌入的工作仍存在一些不足,具體包括兩方面:(1)缺少異構圖嵌入模型:主流的圖嵌入模型如DeepWalk 和node2vec 都面向同構圖,而基于異構圖的方法通常使用元路徑的相似性進行推薦,Shi等[6]認為元路徑的相似依賴于路徑的可達性,在路徑稀疏時是不可靠的。(2)面向無查詢的研究較少:在綜述[7]中調研的62篇論文中,其中50篇論文(81%)都要求用戶向系統輸入一個查詢(關鍵詞、摘要、一篇論文)。

針對上面提到的問題,本文的目的是研究一種異構圖嵌入模型,解決面向用戶的論文個性化推薦問題(無查詢的場景)。根據作者發表的論文對作者的興趣建模,并推薦他們可能感興趣的論文。本文的主要貢獻如下:

(1)提出了一種新型的異構圖嵌入模型,稱為BFMR2vec,該模型通過設計的BFMR隨機游走獲得論文層的關系,同時獲得作者層的關系。

(2)提出了一種基于BFMR2vec論文推薦方法,用于解決面向用戶的論文個性化推薦問題。

(3)在DBLP 數據集上進行了廣泛的實驗,實驗結果證明了BFMR2vec的有效性。

1 相關工作

論文推薦中的方法可以分為四類:基于內容的(content-based),基于協同過濾的(collaborative filtering based),基于圖的(graph-based)和混合方法(hybrid)。

基于內容(CB)的方法通常通過用戶產生過交互的論文對用戶的興趣進行建模,這里的交互可能是閱讀、下載、發表、引用等行為。協同過濾(CF)可分為兩類:基于用戶的協同過濾和基于物品的協同過濾。Yang 等[8]根據用戶閱讀圖書的記錄建立用戶與圖書的交互矩陣,并計算用戶的相似度,使用基于用戶的協同過濾產生圖書推薦?;趫D的方法(GB)可以分為基于隨機游走的方法[1-4,9-12]、基于元路徑的方法[12-16]和基于embedding的方法。其中,基于隨機游走的方法可細分為PageRank、PaperRank 和RWR(Random walk with Restart)?;趀mbedding 的方法包括DeepWalk[17]、node2vec[18]和Struc2vec[19]等?;旌戏椒催x擇上述介紹的算法中的兩種或者多種進行組合。方法的組合可以消除單獨使用某個方法帶來的缺點,例如通過引入CB減輕CF的冷啟動問題。

根據圖中節點和邊的類型數量可以將圖分為同構圖和異構圖。同構圖指圖中僅包含一種類型的節點,且節點之間的邊也僅有一種類型,異構圖指圖中包含多種類型的節點和多種類型的邊。

使用同構圖進行論文推薦研究時面向的推薦場景通常較為受限,分為:(1)針對引文網絡中一個或幾個目標論文節點進行推薦;(2)推薦引文網絡中較為重要的節點,即“權威論文”。Gori等[2]針對某個特定的主題構建論文數據集,假定這些論文是某個作者在進行該主題下論文寫作時所引用的參考文獻,隨機選取一部分論文作為該作者已經引用的論文,使用PaperRank算法計算引文網絡中論文的得分,并推薦得分較高的論文。Kong等[19]同時使用論文的文本信息和引文網絡進行論文推薦,對于一篇目標論文分別選出網絡結構相似的n篇論文和文本相似的m篇論文組成一個子圖,之后使用Deep-Walk 算法對子圖中的節點進行相似度排序,推薦與目標論文相似的論文。Zhou 等[9]使用貪婪集團擴展算法(Greedy Clique Expansion algorithm)來發現引文社區,使用PaperRank 算法計算社區中文章的分數,將得分較高的論文作為“權威論文”進行推薦。

由于同構圖僅包含論文的信息,因此僅使用同構圖不能完成針對用戶的個性化推薦,使用異構圖可以解決上述問題。在進行個性化推薦時通常有兩個推薦場景:(1)根據用戶輸入的查詢(關鍵字、標題、摘要、參考列表等)進行推薦;(2)根據用戶發表的論文或引用過的論文進行推薦(無查詢)。當前絕大部分的研究都是面向有查詢的場景,例如Cai 等[18]使用node2vec 獲得不同類型節點的向量表示,并設計了相關性得分函數計算查詢(包括文本和當前用戶)與論文之間的得分,向用戶推薦得分較高的論文。也有部分研究是面向無查詢的場景,例如Ma 等[16]使用Doc2vec 獲得論文的初始向量表示并用作者發表的論文對作者進行表示,之后使用matepath 來更新他們的向量表示,最后計算作者和文章的相似度進行論文的個性化推薦。

本文主要關注無查詢的場景下的論文個性化推薦問題,嘗試完全使用圖的方式對論文推薦進行研究。與當前把異構圖中不同層子圖當做同構圖,并使用同構圖的嵌入算法獲取節點向量的方式不同,本文設計的異構圖嵌入模型將異構圖作為整體進行處理,最終獲得論文節點的向量表示,之后使用用戶發表的論文對該用戶的興趣進行表示,通過計算用戶興趣與論文的相似度向該用戶進行推薦。

2 模型與方法

2.1 異構圖的構建

本文首先構建了一個兩層的異構圖,異構圖的結構如圖1 所示。異構圖包含2 種類型的節點(作者節點和論文節點)和3 種類型的關系(co-work、write和cite)。其中co-work關系使用不帶箭頭的虛線表示,write 關系使用帶箭頭的實線表示,cite關系使用帶箭頭的虛線表示。

圖1 兩層異構網絡結構Fig.1 The structure of two-layer heterogeneous graph

用G=(Ga,Gp,Rap)表示圖,其中Ga表示作者層,Gp表示論文層,Rap表示作者節點與論文節點之間的關系(write)。 作者層表示為Ga=(Va,Ew),其中Va表示作者節點,Ew表示作者節點間的關系(co-work)。論文層表示為Gp=(Vp,Ec),其中Vp表示論文節點,Ec表示論文節點間的關系(cite)。

2.2 BFMR2vec模型

BFMR2vec 可以分為兩步:(1)通過BFMR隨機游走獲得每個論文節點的游走序列;(2)使用Skip-gram得到論文節點的嵌入表示。

BFMR 隨機游走策略的設計源于以下幾個思想:

(1)論文與其引文有較大相關性;

(2)論文與其任一引文相關性相同;

(3)論文與該論文中其他作者發表的論文具有相關性;

(4)距離起始節點跳數越多的論文與起始節點的相關性越小。

根據思想1 和2 設計了廣度優先的游走策略,根據思想3 引入了元路徑的機制,思想4 設計了重啟機制。根據上述思想,本文設計了BFMR(Breadth First then Metapath with Restart)的游走策略,BFMR隨機游走策略為首先廣度優先,其次是帶重啟的元路徑游走。一個元路徑模式定義為:

其中,Ri表示節點Vi與節點Vi+1之間的關系,這意味著在游走時不是一個完全隨機的行為,而是在確定的關系類型上的一個受限的游走,那么第i步的轉移概率就可以表示為公式(2)。

對于一個起始節點Pi,首先使用廣度優先,將該節點有直接引用關系的論文節點以隨機的順序加入到游走序列中。以圖1中的節點P1為例,從節點P1開始產生的路徑可能是P1→P4→P3或P1→P3→P4。

接下來是元路徑游走。圖2 給出了通過APP 路徑模式產生的游走序列的示意。從起始節點Pi的作者中隨機選擇一位Ai,之后從作者Ai發表的論文中隨機選擇一篇Pk將其加入路徑,然后根據論文的引用關系將后續引用鏈上的論文加入路徑中。需要注意的是作者節點只在查找關系時被用到,實際不會將其加入到路徑中。后續的實驗中共嘗試了3 種元路徑的路徑模式(包括APP、PP 和PAPP),以研究不同的路徑模式對推薦結果的影響。

圖2 BFMR隨機游走序列示意Fig.2 Some example walk sequences of BFMR walk

在元路徑游走階段如果不斷地按路徑模式游走下去,會導致路徑上的點與起始節點Pi的關系越來越小,因此為了更好地表示Pi引入了重啟的思想。在元路徑游走階段,每一次游走時有一定的概率1-alpha按照當前的游走模式游走到下一個節點,同時也有一定的概率alpha回到起始節點重新開始游走。

得到圖中每個論文節點的游走序列后,使用Skip-gram學習論文節點的嵌入表示。

2.3 面向用戶的推薦

通過BFMR2vec得到了論文節點的表示,之后通過作者發表過的論文對該作者的興趣進行表示,作者興趣向量通過公式(3)進行計算。其中,n表示作者發表過的論文數量,表示論文i的向量。

之后使用余弦相似度計算作者興趣向量與論文向量的相似度,按照相似度進行排序,向作者推薦前N篇論文,其中N∈{10,20,30}。

3 實 驗

3.1 數據集

本文選擇DBLP v13版本[20]的數據集,該版本數據集包含5,354,309 篇論文數據和48,227,950條引用關系。為了對比在不同規模網絡上算法的表現,本文構建了兩種大小不同的數據集,記為Small 和Big。其中Small 數據集包含18,481篇論文,Big數據集包含161,303篇論文。

之后對數據集進行訓練集與測試集的劃分,分別記為Train 和Test。測試集論文選擇的規則為:(1)測試集中的論文不應該被訓練集的論文引用;(2)每個作者被選擇作為測試的論文數量應小于等于該作者的論文量的1/5。

之后分別使用Train-Small和Train-Big構建了異構圖,圖中節點和關系的統計信息如表1所示。

表1 異構圖節點和關系個數統計Table 1 Statistics of nodes and relationships in heterogeneous graphs

3.2 基線模型

本文采用DeepWalk 和node2vec 作為基線模型。

(1)DeepWalk:使用深度優先的游走方式獲得游走序列。

(2)node2vec:結合了深度優先和廣度優先的游走方式獲得游走序列,通過參數p和q控制游走策略。本文的參數設置為p=0.25,q=100。

基線模型和本文提出的模型都基于相同的算法思想,即先產生游走序列,再使用Skip-gram算法學習得到嵌入向量,因此為了公平,實驗中為他們設置了相同的基礎參數,具體的參數設置如表2所示。

表2 基礎參數取值Table 2 The values of basic parameters

3.3 評價方式

如果向某一個作者推薦的論文被該作者引用過,則認為該推薦是有效的。使用作者在測試集中引用的文獻列表作為ground-truth。實驗使用3 個指標進行評價,分別為Precision@N、Recall@N和F1@N。

其中,Ri表示第i個作者的ground-truth的集合,表示針對第i個作者推薦結果的前N個結果組成的集合,N∈{10,20,30}。

3.4 實驗結果及分析

將使用不同路徑模式的BFMR2vec 分別記為BFS、BFS-papp、BFS-pp 和BFS-app。其中BFS 表示僅通過寬度優先獲取游走序列。為了公平的對比每種方法,為其選擇表現最好時的重啟概率(alpha)作為實際的取值,最終BFS-pp的alpha=0.4,BFS-papp 的alpha=0.2,BFS-app 的alpha=0.3。

表3展示了在Small數據集上不同算法的對比,表中加粗的數據為當前數據集上最好的結果。其中BFS 相較于DeepWalk 在P@10、R@10和F1@10 上分別提升了33.3%、30%和20.3%,相較于采用偏向BFS 游走策略的方法node2vec在P@10、R@10 和F1@10 上分別提升了9%、9.2%和9.1%。這證明了廣度優先的策略在論文推薦問題中是有效的。

表3 Small數據集上的算法對比Table 3 Performance Comparison on Big datasets

觀察發現BFS-*的方法相較于BFS 有了一定的提升,證明元路徑的引入對模型提供了正面影響。其中BFS-app得到了最優的效果,相比于node2vec,P@10 提升了16.1%,R@10 提升了17.5%,F1@10提升了17%。

表4 展示了在Big 數據集上不同算法的對比,表中加粗的數據為當前數據集上最好的結果。node2vec 算法更加逼近BFS 的結果,通過對路徑長度的統計(表5)發現node2vec 的平均路徑長度從6.41 增長到了18.93,這為node2vec帶來了更豐富的語義信息,使得其更加接近BFS的結果,同時雖然其路徑的平均長度比BFS 的平均路徑長度大2.88,但其結果仍略低于BFS,證明了廣度優先策略在當前問題中的適用性。在Big 數據集上仍然是BFS-app 的表現最好,同node2vec 相比P@10 提升了15.1%,R@10 提升了14.3%,F1@10提升了14.4%。

表4 Big數據集上的算法對比Table 4 Performance Comparison on Big datasets

表5 DeepWalk、node2vec、BFS和BFS-app在兩個數據集上的平均路徑長度Table 5 The average path length of DeepWalk,node2vec,BFS and BFS-app on two datasets

對比兩個數據集上P@10的表現,可以發現Big 數據集上的結果均好于Small 數據集,表明網絡規模的增大為圖嵌入的表達帶來了正向的影響,同時也證明了BFMR2vec模型在不同規模的圖中均具有優越性。

4 總結與展望

本文提出了一種新型的異構圖嵌入模型BFMR2vec,該模型使用BFMR游走策略獲得節點的游走序列,之后使用Skip-gram 獲得節點的嵌入表示?;谠撃P?,本文設計了一種面向用戶的論文個性化推薦算法,通過用戶發表的論文對用戶的興趣進行表示,并根據用戶的興趣向其推薦可能感興趣的論文。在DBLP 數據集上的實驗證明了本文提出的模型和算法的有效性。

當前的研究僅使用了論文和作者的信息構建了一個兩層的異構圖,未來考慮加入更多的信息(如期刊信息等)以豐富游走序列的信息。

利益沖突聲明

所有作者聲明不存在利益沖突關系。

猜你喜歡
集上異構論文
試論同課異構之“同”與“異”
Cookie-Cutter集上的Gibbs測度
鏈完備偏序集上廣義向量均衡問題解映射的保序性
復扇形指標集上的分布混沌
異構醇醚在超濃縮洗衣液中的應用探索
overlay SDN實現異構兼容的關鍵技術
LTE異構網技術與組網研究
下期論文摘要預登
下期論文摘要預登
下期論文摘要預登
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合