董永峰,屈向前,李林昊*,董 瑤
(1.河北工業大學人工智能與數據科學學院,天津 300401;2.河北省大數據計算重點實驗室(河北工業大學),天津 300401;3.河北省數據驅動工業智能工程研究中心(河北工業大學),天津 300401)
發表科研論文是學術工作者最關心的事情,找到合適的發表刊物是論文發表[1]過程中極為重要的一步。對于學術工作者而言,選擇一個合適的出版刊物尤其重要。向合適的刊物提交論文將提高論文的被錄用可能性,反之,如果提交論文的主題不滿足學術刊物的錄用要求,論文作者不僅將面臨被拒稿的風險,還會浪費寶貴的時間[2]。借助推薦系統,如基于聚類和矩陣分解的協同過濾推薦算法[3]、基于用戶偏好的信任網絡隨機游走推薦算法[4]等,根據不同的影響因素為每一篇文章找到最佳的出版刊物成為許多科研工作者的關注點。學術投稿刊物推薦系統(Academic Journal Contribution Recommendation System,AJCRS)主要應用于文章編輯完成后為作者找到合適的發表刊物。
科研工作者們為了給學術文章推薦一個滿意的學術投稿目標刊物,探索了各種影響因素。一種是探索文章的內在特征,Yang 等[5]結合文章內容和文體特征,建立了一個文章寫作風格分析系統,通過比較不同文章的寫作風格,得出不同文章的相似性。Medvet 等[6]提出了基于文章摘要的主題匹配程序,并相應推薦了刊物。Dehdarirad 等[7]在2020 年基于數據來源、評價方法、未來方向等幾乎所有要素,建立了出版刊物推薦系統。Dai 等[8]結合雙向長短期記憶網絡和分層注意網絡,在推薦刊物時從摘要、標題、關鍵詞和研究領域中提取作者關注點。另一種是探索作者的一些社會關系,強調與其他文章或作者的外部關系,并嘗試構建集成內部組件和外部關系的聯合模型。Luong 等[9]基于作者網絡分析建立了一個框架,通過參考相關合著作者信息,為論文作者找到合適的學術投稿目標刊物,其核心思想是圖論與概率論的結合。Pham 等[10]提出通過聚類的方法為社會信息建立模型,并學術投稿目標刊物推薦領域取得一定的效果。Chen 等[11]將社交網絡用圖建模,用基于隨機游走的算法求解。Yu等[12]在合著者網絡上運行了一個帶重啟的隨機游走模型,由此產生并利用合作出版頻率、關系權重和研究人員學術水平三種信息來完成最終推薦。Xia 等[13]進一步探索了研究人員的學術背景,將研究人員的研究興趣納入AJCRS 中,也整合了科研工作者的學術追求。最近,文章的文本相似性和作者的社交網絡被整合在一起,形成了一個個性化的學術投稿目標刊物推薦系統[14],并根據學術投稿目標刊物推薦任務的特點,對已有的算法進行了調整。Alshareef 等[15]探索引文網絡中潛在的關系信息,構建有效的學術投稿刊物推薦系統。
在過去的幾年里,學術刊物推薦領域多以以下兩個方面的研究為主:1)探討文章內容信息與刊物之間的聯系;2)分析作者合著者網絡;但沒有深度挖掘刊物的熱度和學術焦點與時間的潛在聯系。本文提出基于作者偏好的學術投稿刊物推薦算法(Academic Journal Contribution Recommendation algorithm based on Author Preferences,AP-AJCR),該算法是一種融合作者主題偏好和歷史發刊記錄的學術投稿刊物推薦模型。首先,使用潛在狄利克雷(Latent Dirichlet Allocation,LDA)主題分布模型,從標題中提取潛在的主題信息,并將所有文章分類成簇;然后,進一步探討文章標題、日期和學術投稿目標刊物之間的聯系,建立主題-刊物、時間-刊物圖模型,使用大規模信息網絡嵌入(Large-scale Information Network Embedding,LINE)概率模型來學習異構圖節點的嵌入;接著,使用了兩個參數來平衡作者主題偏好和歷史發刊記錄的向量表達;最后,求得在不同權重下融合作者主題偏好和歷史記錄的刊物得分,并向作者完成推薦。
與本文相關的工作主要包含以下2 個方面:1)大規模信息網絡嵌入(LINE)模型;2)基于圖嵌入的推薦算法。
Tang 等[16]在2015 年提出了一個大規模信息網絡嵌入(LINE)模型。此模型主要解決低維向量空間中嵌入超大信息網絡的問題,該問題在可視化、節點分類、鏈接預測等任務中均有應用。
Tang 等[16]將信息網絡定義為圖的結構G=(V,E),其中:每個節點定義為一個數據對象,而V表示節點集合,E表示圖節點之間的邊信息。每個e∈E都表示一個有序對e=(a,b),且都有關聯的正權重wab表示關聯強度。給出了如下定義:
1)一階相似度:一階相似度是網絡中兩個節點的局部相似度。若節點a和b之間有邊(a,b),則使用邊的權值wab表示a和b之間的一階相似度;如果a和b之間沒有可以觀察的邊,則一階相似度設為0。對于每條邊(a,b),其連接可能性的定義如式(1)所示,其中p1=1/(1+exp(-x))是一個常規概率函數,a∈Rd是節點a的低維向量表示,p(·,·)是|V|*|V|向量空間下的一個分布,它所驗證的概率可以被定義為,其中W=。為了保留一階相似度,可以直接最小化式(2)目標函數,其中d(·,·)表示兩個分布的距離。

通常d(·,·)選擇使用KL(Kullback-Leibler)距離,KL 距離主要用于衡量兩個隨機變量的差異程度,計算方法如下:

其中:x表示一個隨機變量,R和S表示兩個分布,PR(xi)和PS(xi)表示兩個事件發生的概率。
通過尋找使式(4)最小化的節點的嵌入向量,可以在d維空間里表示相應節點。

2)二階相似度:網絡中一對節點(a,b)之間的二階相似度是它們相鄰網絡結構的相似度。使用sima=(wa,1,wa,2,…,wa,|V|)描述節點a與其他節點的一階相似度,那么a與b的二階相似度取決于sima與simb之間的相似度。如果沒有從a到b連接(或從b到a)的中間節點,則a和b之間的二階相似度為0。二階相似度定義如下:

為了保留二階相似度,從而得到目標函數(6),其中λa表示節點a的度(在有向圖中,一般使用節點的出度)。

同樣地,使用KL距離來代替d(·,·),得到了目標函數:

3)大規模信息網絡嵌入:給定一個大型圖G=(V,E),大規模信息網絡嵌入的目標是把每個節點a∈V嵌入到低維向量空間Rd中,且節點間的一階相似度和二階相似度都被保留。
Xie 等[17]提出了一種基于圖的興趣點(Points of Interest,POI)嵌入學習算法,構建了三個二部圖,通過使用LINE 模型的一階相似性和二階相似性進行嵌入學習,在推薦時,作者根據用戶動態偏好建模,使用了一組直接相加的用戶歷史位置向量來表示用戶向量,如式(8)所示。通過直接相加用戶、時間片段、上下文三方面對位置的評分完成推薦,如式(9)所示。

其中:uτ表示用戶在τ時間段的嵌入向量,p表示興趣點的嵌入向量,r表示位置信息的嵌入向量,t表示時間片段的嵌入向量,S表示算法計算的用戶對興趣點的得分。式(8)主要用于計算用戶行為偏好,通過用戶歷史興趣點的表示向量來計算用戶的向量表達;式(9)則將地點因素和時間因素對最終評分的影響納入到推薦模型中。
Hu 等[18]提出了基于圖嵌入的細粒度POI 推薦算法,在Xie 等[17]的基礎上,建立了5 個二部圖,完成更細致的項目推薦,在表示用戶偏好時,仍然是以簡單直接相加表示,并未考慮不同向量在表示用戶時,各個表示因素所占權重對推薦效果的影響。
在一些流行的文獻數據系統(例如DBLP)中,只提供作者u、標題t、日期y、刊物v這四種信息,因此可以使用四元組(u,t,y,v)表示任意的論文發表活動。U、T、Y和V分別是所有作者、標題、日期和學術投稿目標刊物的集合。本文的研究內容為:給定一個含有論文發表行為的數據集,作者u,一篇該作者新的文章標題t,以及預計投稿的日期y(即查詢q(u,t,y)),本文的目標是返回給該作者一個由期刊組成的列表,供作者選擇投稿。
2.2.1 提取主題
在實際研究中,直接分析一個刊物和一個特定的名稱之間的聯系沒有太大意義,所以本文從文章標題入手,提取文章主題。由于一個刊物通常與一系列的學術領域相關,本文將提取論文主題,并將其作為一個給定的標題及其所在刊物之間的橋梁。首先本文對原始數據進行預處理操作,工作內容包含數據清洗,因為一篇文章的作者署名通常根據貢獻進行排序,排名靠前的作者往往占據了文章相當大的工作,本文去除作者數量超過6 的文章中第6 個作者以后的作者信息;接著去除停用詞;然后刪除標點符號;最后刪除字母小于2 個的單詞。需要注意的是,一些論文數據庫中會收錄一些預出版的論文,如DBLP 中會收集arXiv 中計算機領域的文章CoRR,本文在數據清洗階段也刪除了這類數據。
為了從這些標題中提取主題,本文使用LDA 模型。在本文中,主題用s表示,所有主題的集合為S;于是,構造一個新的四元組,表示為H:(u,s,y,v)。包含所有論文的整個數據集由H表示。
刊物推薦任務是根據作者過去的出版記錄向作者推薦學術刊物。因此,對于每個作者u,本文創建了一個用戶配置文件來記錄該作者所有相關的四個元組,并使用Γui:{h|u=ui,h∈H}表示。
學術投稿目標刊物推薦實際上是一個建立用戶(作者)和對象(學術投稿目標刊物)之間聯系模型的任務,每次提交決定都是由作者做出的。這里的作者指的是第一作者,本文認為每一篇文章的主題都是由第一作者的研究興趣決定的。在每一篇文章中,作者、標題(主題)以及日期(時間)的聯系在出版記錄中都比較明確。因此,以下建立不同主題與投稿目標刊物之間、日期與刊物之間的聯系模型。
2.2.2 構建主題-刊物二部圖
主題-刊物二部圖:記為GSV:(S∪V,eSV),表示不同主題在特定刊物的受歡迎程度。其中,S是提取的所有主題的集合,V是所有學術投稿目標刊物的集合,eSV是主題和學術投稿目標刊物之間的一組加權邊。對于每個特定的邊(例如,以節點si和vj之間的邊為例),其權重由式(10)決定:

其中:N(·)是一個數字計數器函數,表示主題為si、刊物為vj的所有四元組H的數量與主題為si的所有四元組H的數量的比值,即刊物vj上發表的主題為si的論文在所有主題為si的論文中所占的比值。
此外,利用閾值來消除邊緣的不顯著性(即權值較小)。這是因為,某一刊物很少接受某一主題的文章,向編寫了這個主題文章的作者推薦該刊物并不是一個合理的選擇。然后,構造相應的負邊,對于每個節點vj,如果沒有正邊連接到它,本文將不為它安排負邊;相反,一旦有正邊連接到它,本文在si中隨機地選擇數個沒有連接到vj的節點來構造負邊。
2.2.3 構建時間-刊物二部圖
時間-刊物二部圖:記為GYV:(Y∪V,eYV)。這張圖主要估計了研究人員在不同時段對特定學術投稿目標刊物的關注程度。對于每條邊,權值直接由每年發表論文的數量比值定義,由式(11)決定:

在學術投稿目標刊物推薦任務中,推薦的學術投稿目標刊物不僅由被查詢的文章來確定,還由它的相關信息來確定。因此,在建立了上述單級連接之后,另一個任務是在這些節點之間找到更深層次的連接。本文從兩個二部圖出發,進行嵌入學習操作來尋找更多可能的連接。在嵌入過程中,通過保留部分原始連接來探索更多的潛在連接,每個節點對應的相似性和差異性都應該反映在本文最終的推薦圖中。
2.2.4 建立模型
最終,在推薦圖中,每個節點都由一個向量表示。使用s、y和v分別表示主題節點s、時間節點y和刊物節點v的嵌入向量。本文參考Xie 等[17]異構圖節點嵌入學習方法估計了邊存在的概率(例如,在節點si和vj之間)由式(12)決定:


其中:a和b是任意兩個分居二部圖左右兩側的節點。E是所有潛在節點的集合,即E=S∪Y∪V,wa,b是式(10)和(11)中所對應的正邊的權值,是對應負邊的權值。至此得到了模型的目標函數(15)。為了求解式(15),本文采用異步隨機梯度下降(Asynchronous Stochastic Gradient Descent,ASGD)方法。

通過執行上述節點嵌入過程,本文獲得嵌入的主題s、時間y、刊物v向量。為了更好地捕捉作者對學術投稿目標刊物的偏好,本文結合了作者最近在選擇目標學術投稿目標刊物時的行為。本文分別用ur、yr和tr表示新提交文章的作者、時間和標題。AJCRS 會向提交者(一般是學術工作者本人)返回查詢q(ur,tr,yr)所得到的推薦刊物列表。
首先,本文引用作者的歷史出版記錄來查詢作者在不同時間的發刊數據。為了自適應地表示作者的動態行為,本文進一步安排一個時間系數,作者的歷史出版記錄的時間越接近提交日期,系數越大,反之,那些日期久遠的文章將對本文的推薦產生很小的影響。具體基于作者歷史發刊記錄向量計算公式由式(16)給出:

其中:yr是作者預計投稿時間,α是用于平衡嵌入向量的參數。然后,可以通過簡單地將刊物的嵌入的向量與這個作者偏好向量進行比較,即對不同刊物vi進行評分,如式(17)所示。最接近作者偏好的刊物將被推薦。

其次,作者的研究興趣在于多個主題,這也可以從用戶配置文件中的記錄中體現出來。本文使用ur發表過的刊物和主題來構建主題偏好向量。為了得到嚴謹的推薦結果,一篇文章一般涉及幾個主題。文章與第k個主題相關的概率由多項式樸素貝葉斯算法計算。作者的主題偏好向量由學術投稿目標刊物向量和歷史主題向量的加權線性組合表示,如式(18)所示:

其中:ρk表示提交文章與第k個主題相關的概率,β是用于平衡嵌入向量的參數。可以通過將刊物的嵌入的向量與這個作者主題偏好向量進行比較,即對不同刊物vi進行評分,如式(19)所示。最接近作者主題偏好的刊物將被推薦。

最后,本文將作者歷史發刊記錄評分和主題偏好評分結合,得到一個綜合評分作為最終推薦決策的評分標準。

參數η平衡了主題偏好和歷史發刊記錄的影響,其最佳值將在本文的實驗中進一步探索。基于式(20)。本文可以計算出所有候選刊物的得分,并據此做出推薦。
結合上述操作,基于作者偏好的學術投稿刊物推薦算法的流程如下:
輸入 數據集中所有四元組H:(u,s,y,v)形式的發刊記錄,標題集合T,日期集合Y,學術投稿目標刊物集合V,和一個查詢q(ur,tr,yr)。
輸出 由N個學術投稿目標刊物組成的列表。
步驟1 數據預處理,進行數據清洗,去停用詞,去除字母少于兩個的單詞,去標點符號等;
步驟2 使用LDA 主題提取模型算法從標題集T中獲得主題集S;
步驟3 建立兩張二部圖:通過式(10)和式(11)分別建立主題-刊物二部圖GSV:(S∪V,eSV),時間-刊物二部圖GYV:(Y∪V,eYV);
步驟4 使用異步隨機梯度下降方法訓練模型;
步驟5 通過式(16)和式(17)分別計算作者的歷史發刊記錄向量和各個刊物的得分;
步驟6 通過式(18)和式(19)分別計算作者的主題偏好和主題偏好下各個刊物的得分;
步驟7 通過式(20)計算各個學術投稿目標刊物對每個作者的最終得分,并由高到低排序,將最高的N個刊物返回給學術工作者。
DBLP 數據集 DBLP 是計算機領域內對研究的成果以作者為核心的一個計算機類英文文獻的集成數據庫系統,按年代列出了作者的科研成果,包括國際期刊和會議等公開發表的論文。DBLP 提供計算機領域科學文獻的搜索服務,但只儲存這些文獻的相關元數據,如標題、作者、發表日期等。
PubMed 數據集 PubMed 是一個提供生物醫學方面的論文搜尋以及摘要,并且免費搜尋的數據庫,其數據主要來源 有:MEDLINE、OLDMEDLINE、Record in process、Record supplied by publisher 等。
在DBLP 數據集中,本文的測試數據為DBLP 2019 年的記錄。訓練數據包括DBLP 中2009—2018 年期間的所有記錄。記錄的詳細信息見表1。本文的評估標準是Recall@N。Recall@N會估計真實提交出現在Top-N推薦列表中的情況。DBLP 測試數據由122 739 個樣本組成,測試任務是從1 407名計算機科學領域的投稿刊物中,推薦Top-N學術投稿目標刊物。此外,PubMed 數據集中,大部分文章只有標題,這與本文的研究動機一致。由于計算能力有限,本文使用了PubMed 中的部分記錄。

表1 實驗中使用的數據集Tab.1 Datasets used in experiments
3.2.1 參數設置
本文使用手工估算的方法分別在DBLP 和PubMed 數據集上測試了式(16)、(18)和(20)中的參數α、β和η的取值,結果如圖1 所示。
其中,圖1(a)是在DBLP 數據集上測試的α、β和η三個參數取值,圖1(b)是在PubMed 數據集上測試的α、β和η三個參數取值。從中可以發現,選擇過大或過小的參數值都會降低算法的性能。本文在調整參數α時,首先將η設置為1,根據式(20)可知,此時僅考慮作者歷史發刊記錄、各個刊物學術焦點和時間的潛在聯系;而在調整參數β時,將η設置為0,根據式(20)可知,這時本文僅考慮主題與刊物之間的聯系。通過上述操作分別得到了參數α和參數β的最優值,通過調整η的取值,可以得到本文模型的最好的推薦效果。由圖1 可見,對于DBLP 數據集,在α=0.60、β=0.35 和η=0.45 時得到最優值;對于PubMed 數據集,在α=0.60、β=0.30 和η=0.40 時得到最優值。

圖1 兩個數據集上不同參數設置的比較Fig.1 Comparison of different parameter settings on two datasets
3.2.2 主題數量對實驗結果的影響
本文通過實驗分析了主題提取數量對推薦Recall@10 的影響,結果如圖2 所示。對于DBLP 數據集,主題提取的數量在少于40 時,對結果的影響比較大;主題數量在40~80 時,結果相對穩定;而主題數量多于80 時,算法結果略有下降,本文推測是因為當LDA 算法提取主題數量太大時,會導致在圖嵌入時一些刊物和主題間的潛在聯系消失,同時也出現了過擬合等問題。對于PubMed 數據集,當主題數量少于60時,對最終推薦效果影響較大;主題數量在60~100 時,推薦效果比較平穩;而當主題數量在100 以上時,算法推薦效果會略微下降。綜上,本文設定主題數量為60。

圖2 主題數量對推薦結果的影響Fig.2 Influence of topic number on recommendation result
本文選取NMF(Non-negative Matrix Factorization)、DeepWalk、SVD(Singular Value Decomposition)、SVD++、KNN、CF 六種常用推薦方法,在推薦刊物列表長度為N的召回率(記為:Recall@N)方面進行比較,其中N=1,5,10,20,30。結果如表2所示。
從表2 可以看出,本文提出的AP-AJCR 算法在兩個數據集上的表現均優于其他方法。在DBLP 數據集上,相較于SVD、SVD++、KNN、CF、DeepWalk 和NMF 方法,AP-AJCR 在Recall@10 上分別提升了0.525 0、0.479 6、0.382 7、0.548 0、0.087 4 和0.445 5;在PubMed數據集上,分別提升了0.375 9、0.358 9、0.354 5、0.358 2、0.024 1 和0.299 5。相較于其他方法,本文提出的AP-AJCR 算法總是能把作者“感興趣”的刊物排在推薦列表靠前的位置。次優的方法是DeepWalk 方法,在進行圖嵌入時,DeepWalk 方法通過隨機游走的方式捕捉圖的結構,適用于無權圖,而本文提出的APAJCR 算法可以充分利用網絡結構中邊的信息,信息利用率高,故AP-AJCR 算法要優于DeepWalk 方法。通過表2 中數據可以得出,在僅使用論文內容信息中的標題數據的情況下,AP-AJCR 算法仍然有較高的推薦質量,由此證明了所提出的推薦方法的有效性和魯棒性。

表2 不同算法在DBLP數據集和PubMed數據集上的推薦性能比較 單位:%Tab.2 Comparison of recommendation performance of different algorithms on DBLP dataset and PubMed dataset unit:%
然后本文將訓練數據集的大小由10 年數據縮小到7 年和4 年進行了實驗分析,即將2009—2018 年的訓練集大小分別縮小至2012—2018 年和2015—2018 年,以探究不同時間跨度對推薦算法魯棒性的影響,結果如圖3 所示。在訓練數據充足的情況下,本文算法會給出有效的推薦結果,在DBLP數據集上,10 年時間跨度的Recall@10 達到0.750 5,7 年時間跨度的Recall@10 有0.605 5,4 年時間跨度的Recall@10 僅有0.250 9;在PubMed 數據集上,10 年時間跨度的Recall@10 達到0.581 0,7 年時間跨度的Recall@10 有0.501 3,4 年時間跨度的Recall@10 僅有0.198 5。

圖3 本文算法在不同時間跨度的訓練集上的推薦魯棒性比較Fig.3 Comparison of recommendation robustness of the proposed algorithm on training sets with different time spans
造成這種結果的原因是當數據不充足時,時間-刊物二部圖GYV會受到很大的影響,時間跨度縮小會出現兩個問題:1)刊物的學術焦點在很短的時間段內難以捕捉,作者對刊物的潛在的動態偏好很難展現出來;2)對于科研工作者而言,他們通常需要一定時間的研究與實驗,才能完成自己的學術成果,數據集時間跨度較短時,數據稀疏性問題對推薦效果的影響明顯。但是,在實際情況下,大部分公共學術發刊活動數據集都有相當長的歷史,出版記錄豐富且完備,故本文基于圖嵌入的作者偏好推薦算法在實際情況下是可靠的,在實際應用中具有良好的普適性。
最后,本文測試了算法的訓練階段和推薦階段的時間消耗,詳細信息見表3。

表3 不同算法在訓練階段和測試階段的耗時比較 單位:sTab.3 Comparison of time consumption of different algorithms in training stage and testing stage unit:s
通過對比表中數據發現,SVD、SVD++、KNN、CF 方法無論是在訓練階段還是測試階段,耗時都明顯較低,而DeepWalk、NMF 和AP-AJCR 耗時相對較高。對精度要求不高,但對測試階段耗時要求比較高的情況下,KNN 和SVD++可以勝任工作;對精度要求不高,對訓練階段耗時要求較高的情況下,推薦使用KNN 算法;在要求推薦精度的情況下,AP-AJCR、KNN、NMF、DeepWalk 都可以勝任工作,KNN 耗時小、精度相對較低;AP-AJCR 和NMF 方法耗時處于同一量級,但AP-AJCR 推薦效果明顯優于NMF;雖然AP-AJCR 和DeepWalk 推薦質量相差不大,但AP-AJCR 相較于DeepWalk,在訓練階段可以節省90%左右的時間。
本文提出了一種基于作者偏好的學術刊物投稿推薦算法。在實際任務中,文章的所有信息并不一定是對所有人可見的,而且這些信息的預處理操作在各種推薦算法中耗時較長,因此本文提出了一個僅適用作者、標題、發表時間和發表刊物的推薦系統。在所提出的系統中,將作者主題偏好分數(即作者對主題的偏好)和作者歷史發刊記錄(即作者投稿刊物偏好的變化趨勢)結合起來,并產生最終的推薦。在DBLP和PubMed 上的實驗結果表明,與其他算法相比,所提出的推薦算法不僅在大多數情況下足夠有效,而且減少了對元數據和知識庫的信息需求,但是對時間的需求較高。未來,本文將探索一種自適應的、分層的從標題中提取主題的方法,挖掘潛在的自我聯系(如主題-主題、刊物-刊物),以及作者合著者之間的聯系,以完善現有的推薦系統。