段 震,余 豪,趙 姝,陳 潔,張燕平
(安徽大學 計算智能與信號處理教育部重點實驗室,合肥 230601)
(安徽大學 計算機科學與技術(shù)學院,合肥 230601)
引文推薦是指根據(jù)查詢者提供的信息,推薦與之相關(guān)的文獻,如論文、專利等.引文推薦在領(lǐng)域調(diào)研、論文撰寫、專利分析等科研學術(shù)活動中具有重要的應用價值.例如,當研究人員進入一個新的研究領(lǐng)域時,需要閱讀大量與之相關(guān)的文獻 資料,從中了解該領(lǐng)域的主要研究方法和最新進展.專利審查人員可以借助引文推薦的手段鑒定專利的新穎性和創(chuàng)造性.但通過人工從浩如煙海的文獻資料中快速找到相關(guān)的文獻,是一個艱巨的任務.如何使用機器學習方法,自動高效準確的查詢相關(guān)領(lǐng)域的出版物并智能化地推薦一組文獻集合,節(jié)約查找時間,是一個值得研究的課題.
近年來,引文推薦的研究主要可分為兩類方法,即基于內(nèi)容的引文推薦[1-3]和基于圖的引文推薦[4-7].在基于內(nèi)容的引文推薦方法中,主要依據(jù)文獻的文本屬性進行推薦,如標題、關(guān)鍵字、摘要、主題等.但是在學術(shù)研究領(lǐng)域,一種普遍的現(xiàn)象是新的名詞被不斷創(chuàng)造出來,從而會面臨一些語義混淆的問題[6],使得僅依賴內(nèi)容進行引文推薦的方法準確率相對較低.
很多研究學者認為,可以將引文推薦任務視作鏈路預測的問題來解決.引文網(wǎng)絡(luò)包含了多種類型的節(jié)點,如論文、作者、關(guān)鍵字、期刊等.不同類型的節(jié)點構(gòu)成一個異質(zhì)信息網(wǎng)絡(luò),使用異質(zhì)信息網(wǎng)絡(luò)表示學習方法可以更好地獲得引文網(wǎng)絡(luò)中的節(jié)點信息.對于異質(zhì)信息網(wǎng)絡(luò)中節(jié)點特征的獲取,目前主要采用元路徑(metapath)和隨機游走(random walk)兩類方法.元路徑可以捕獲特定的網(wǎng)絡(luò)結(jié)構(gòu)特征,但是會忽略節(jié)點周圍的部分鄰居信息;隨機游走可以對網(wǎng)絡(luò)中的節(jié)點進行采樣,但是不能有效地反應節(jié)點之間存在的關(guān)系.如果能有效地將文獻節(jié)點的屬性內(nèi)容和網(wǎng)絡(luò)結(jié)構(gòu)相結(jié)合,對節(jié)點進行采樣時可以更好的獲取節(jié)點的特征.
為了解決上述問題,本文提出一種基于異質(zhì)信息網(wǎng)絡(luò)表示學習的引文推薦算法(A Citation Recommendation Method based on Heterogeneous Information Network Representation Learn,CRM-HIN),通過利用網(wǎng)絡(luò)中的結(jié)構(gòu)信息以及文本信息,構(gòu)建一個包含語義鏈接的異質(zhì)信息網(wǎng)絡(luò).為了獲得每個節(jié)點之間的網(wǎng)絡(luò)結(jié)構(gòu)特征,使用混合元路徑的方式對每個節(jié)點進行采樣.如圖1所示,定義元路徑PAP(Paper-Author-Paper),在對節(jié)點進行采樣游走的時候,首先按照元路徑PAP進行游走,當元路徑采樣結(jié)束之后再使用隨機游走,通過兩種不同的游走方式相結(jié)合,獲得每個節(jié)點的游走序列.對游走序列使用skip-gram模型進行訓練,獲得每個節(jié)點的向量表示,通過計算網(wǎng)絡(luò)中每個節(jié)點的相似性,獲得推薦的論文列表.本文提出的算法可以更好地學習節(jié)點的特征表示,有效地捕獲論文之間的語義關(guān)系.在兩個真實的數(shù)據(jù)集上的實驗結(jié)果表明,本文提出的算法與其它引文推薦方法在效果上有顯著提升.
圖1 混合隨機游走采樣
本文的主要貢獻如下:
1)提出一種新的引文推薦框架,通過構(gòu)建一個包含語義鏈接的異質(zhì)信息網(wǎng)絡(luò),更好地融合節(jié)點屬性信息及網(wǎng)絡(luò)結(jié)構(gòu)信息.
2)給出一種新的混合元路徑采樣算法,該算法所生成的節(jié)點序列,能更好的表示網(wǎng)絡(luò)中的節(jié)點特征.
3)將算法應用于兩個真實引文網(wǎng)絡(luò)數(shù)據(jù)集,與其他方法相比,獲得了更好的準確率.
本節(jié)首先介紹基于內(nèi)容的引文推薦算法研究現(xiàn)狀,然后介紹基于圖的引文推薦算法研究現(xiàn)狀.
基于內(nèi)容的引文推薦方法通常結(jié)合文本語義[8,9]和潛在的主題來比較論文之間的相似性.此類方法可以使用單詞或者主題特征,利用數(shù)據(jù)挖掘技術(shù)對其進行建模.作為文本的高維度表示,可以將主題分布作為論文之間相似度的一個衡量標準,很多研究工作通過集成文本信息來擴展主題模型.例如,Tang等人提出了一種基于主題的方法[2],該方法可以基于引文關(guān)系和論文文本內(nèi)容的相關(guān)性,通過訓練兩層受限的玻爾茲曼機來學習主題分布.Dai等人不僅利用文本內(nèi)容的相似性,還利用作者之間的社交關(guān)系來進行有效的引文推薦[10].近期一些基于內(nèi)容的引文推薦方法,通過利用引文中的局部或者全局上下文信息對論文進行推薦排名[11,12].但是基于內(nèi)容的引文推薦方法還是存在傳統(tǒng)信息檢索的一些缺陷,如語義歧義等問題.
基于圖的引文推薦算法主要分為兩種,一種是基于同構(gòu)圖的引文推薦算法,另一種是基于異構(gòu)信息網(wǎng)絡(luò)[13]的引文推薦算法.
在基于同構(gòu)圖的引文推薦算法中,Ren等人提出一種基于聚類的引文推薦框架[4],按照將同一種類型的論文聚成一個興趣群的原則,獲得多個聚類,根據(jù)相關(guān)的興趣組預測每篇待查詢的引文.
為了更加有效的進行引文推薦,很多基于圖的方法都考慮將多種關(guān)系建模為異構(gòu)圖,然后將該任務看作為鏈路預測問題[12,14],使用圖的方法生成相應的引文推薦列表.為了更好的利用網(wǎng)絡(luò)的結(jié)構(gòu)特征以及節(jié)點的屬性信息,很多學者提出了如何將網(wǎng)絡(luò)中的結(jié)構(gòu)特征和文本信息融合在一起的方法[1,3,15-18].Chen等人提出一種包含語義鏈接的加權(quán)異質(zhì)信息網(wǎng)絡(luò),通過多模式相似性之間的線性組合來推薦相關(guān)論文[19].Deng等人構(gòu)建一種新的基于異構(gòu)圖的推薦方法[20],其中既包括引文又包括內(nèi)容,使用圖的相似性學習算法進行引文推薦.
本小節(jié)首先給引文推薦設(shè)計的符號進行了定義,然后給出了問題的形式化描述.
3.1.1 符號定義
表1給出本文所涉及的符號及其含義.
表1 符號含義
3.1.2 問題定義
引文推薦問題:給定一個論文的集合P,P=CP∩TP,CP是候選論文的集合,CP=(cp1,cp2,…,cpm);TP是目標論文的集合,TP=(tp1,tp2,…,tpn)引文推薦問題可以被描述為:輸入帶有屬性信息的目標論文集合TP,從候選論文集合CP中返回一個論文的推薦列表Pr.
異質(zhì)信息網(wǎng)絡(luò):給定一個有向網(wǎng)絡(luò)G=(V,E),其中V代表所有實體節(jié)點的集合,E代表所有關(guān)系邊的集合.存在一個節(jié)點類型的映射函數(shù)φ:V→A和一個邊類型的映射函數(shù)ψ:E→R,每個對象v∈V都屬于一個特定的對象類型,每個鏈接e∈E都屬于一種特定的關(guān)系類型,這種網(wǎng)絡(luò)稱為信息網(wǎng)絡(luò).當對象類型數(shù)量|A|>1或關(guān)系類型數(shù)量|R|>1時,這樣的信息網(wǎng)絡(luò)被稱為異質(zhì)信息網(wǎng)絡(luò),反之為同質(zhì)信息網(wǎng)絡(luò)[18].圖1給出的是一個異質(zhì)信息引文網(wǎng)絡(luò),其中包含論文、作者、期刊、關(guān)鍵字等4種類型的節(jié)點.
在一個異質(zhì)信息引文網(wǎng)絡(luò)中,兩個對象之間會存在多種不同路徑的連接.例如,引文網(wǎng)絡(luò)中的兩篇論文可以通過“論文—作者—論文”進行連接,也可以通過“論文—作者—作者—論文”進行連接.不同路徑下的語義意味著不同的相似性,這些路徑在形式上被稱為元路徑.
本文定義元路徑PAP(Paper-Author-Paper),在引文網(wǎng)絡(luò)中論文和作者的關(guān)系比較大,同一個作者,所發(fā)表的論文,研究方向較為接近,對于同類型的論文,引用的可能性也更高,因此將元路徑設(shè)置為PAP.對節(jié)點進行采樣游走時,首先按照元路徑PAP進行游走,元路徑采樣結(jié)束之后再使用隨機游走,通過兩個不同的游走方式相結(jié)合,獲得每個節(jié)點的游走序列.此時,混合隨機游走的一條路徑P可以表示為p=p+,其中p為元路徑,為隨機游走產(chǎn)生的路徑.具體的混合隨機游走的實例如圖1所示,元路徑p=PAP,隨機游走的路徑為=KPVPAP,所以混合隨機游走的路徑為P=PAPKPVPAP.
算法框架如圖2所示,整體算法框架分為3個模塊.第1個模塊主要是通過BERT和Word2vec獲得關(guān)鍵詞和摘要的向量,從而重新建立包含語義鏈接的異質(zhì)信息網(wǎng)絡(luò);第2個模塊使用元路徑和隨機游走獲得節(jié)點的游走序列;第3個模塊對模型進行訓練,從而獲得推薦的結(jié)果.
圖2 基于異質(zhì)信息網(wǎng)絡(luò)表示學習的引文推薦算法框架
3.2.1 包含語義鏈接的異質(zhì)信息網(wǎng)絡(luò)的構(gòu)建
(1)
最終選擇top-ka個最相似的論文構(gòu)建語義鏈接.
(2)
最后選擇最相似的top-kk個最相似的關(guān)鍵詞構(gòu)建語義鏈接.
將論文中的一些語義信息(摘要,關(guān)鍵詞等)融合到網(wǎng)絡(luò)結(jié)構(gòu)中,對原始的異質(zhì)信息網(wǎng)絡(luò)G進行重構(gòu),獲得一個新的異質(zhì)信息網(wǎng)絡(luò)G′,重構(gòu)之后的網(wǎng)絡(luò)包含了節(jié)點的語義信息.
3.2.2 混合隨機游走
節(jié)點采樣序列的好壞,決定了表示學習之后節(jié)點的特征好壞,本文使用混合隨機游走對網(wǎng)絡(luò)中的節(jié)點進行采樣,具體的采樣過程如下.
對于網(wǎng)絡(luò)G′中的每一個節(jié)點vi,需要對其進行采樣,捕獲每個節(jié)點的網(wǎng)絡(luò)結(jié)構(gòu)特征.定義游走長度l,設(shè)定元路徑P的長度為lp,其中l(wèi)>lp,以根節(jié)點vi進行隨機游走的一個游走序列為Wvi,混合隨機游走的過程可以描述為:從節(jié)點vi開始,按照元路徑P進行元路徑游走,從節(jié)點vi的鄰居節(jié)點開始,選擇一條元路徑進行游走,當游走的長度等于lp時,從當前停止的節(jié)點開始進行隨機游走,直到游走序列的長度為l時,停止節(jié)點vi的隨機游走;依次遍歷網(wǎng)絡(luò)G′中的所有節(jié)點.
3.2.3 模型訓練
網(wǎng)絡(luò)表示學習可以從網(wǎng)絡(luò)中學習節(jié)點的特征,并且可以獲得節(jié)點的低維向量表示,在分類、鏈路預測、聚類等下游任務中用于特征表示.給定一個低維空間Rd,d?|N|,網(wǎng)絡(luò)表示學習的目的就是學習一個映射函數(shù)f:N→Rd,Θ=(θ1,θ2,…,θ|N|)表示學習得到的低維空間向量,Θ應該盡可能的保留原始網(wǎng)絡(luò)的拓撲信息.
(3)
算法的詳細描述如下:
算法1.基于異質(zhì)信息網(wǎng)絡(luò)表示學習的引文推薦算法
輸入:Heterogeneous citation network
G=(V,E),metapath:Ppath,walk lengthl,walk numberr.
1.Pre-processing:Use word2vec to get a vector of abstracts ?p;Use BERT to get a vector of keywords ?k
2.Use ?p、?kto Reconstructing heterogeneous information citation networkG′=(V,E)
3.Initializewalksto Empty
4.fori=0 to r do:
5.O=shuffle(v)
6.foreachvi∈Odo:
7.walk=mixRandomWalk(G′,vi,l)
《意見》明確要求,各級財政部門要始終把解決好“三農(nóng)”問題作為工作重中之重,堅持優(yōu)先發(fā)展、壓實責任,堅持綜合施策、系統(tǒng)推進,堅持改革創(chuàng)新、激發(fā)活力,把農(nóng)業(yè)農(nóng)村作為財政支出的優(yōu)先保障領(lǐng)域,公共財政更大力度向“三農(nóng)”傾斜,確保投入力度不斷增強、總量持續(xù)增加,確保財政投入與鄉(xiāng)村振興目標任務相適應,堅持績效導向、加強管理,將財政資金的分配和使用管理與支持鄉(xiāng)村振興工作的實際成效緊密結(jié)合起來,加快推進鄉(xiāng)村治理體系和治理能力現(xiàn)代化,加快推進農(nóng)業(yè)農(nóng)村現(xiàn)代化,堅持走中國特色鄉(xiāng)村振興之路。
8. Appendwalktowalks
9.endfor
10.endfor
11.fv=skipgram(walks)
12.forvi∈Gpdo
13.forvj∈Gcdo
14. calculate CosSim(fvi,fvj)by Equation(3)
15.endfor
16.Ktop-k most similar paper forvi
17.endfor
1.mixRandomWalkG′=(V,E)start nodevi,walk lengthl
2.walk=[u]
3.forwalk_iter=1 toldo
4. curr=walk[-1]
5.iflength(curr) 6.lmetapath=metpath(curr) 7. else 8.lrandom=randomwalk(curr) 9.walk=lmetapath+lrandom 10.endfor 11.returnwalk 為了評估算法性能,選取了兩個常用于驗證引文推薦方法性能的數(shù)據(jù)集:DBLP(1)https://www.aminer.cn/citation和PubMed(2)https://pubmed.ncbi.nlm.nih.gov/.數(shù)據(jù)集描述如表2所示. 表2 實驗所用的數(shù)據(jù)集 DBLP是一個著名的在線數(shù)字圖書館,包含了計算機科學和相關(guān)學科領(lǐng)域的文章和書籍的書目條目.本文從中DBLP v9版本中抽取了一個子集,里面有50227篇文章,26593名作者,11個期刊,按照年份劃分數(shù)據(jù)集,其中2010年以前的論文作為訓練集,2010年-2013年的論文作為測試集,平均每篇論文的引文數(shù)量為4個. PubMed 數(shù)據(jù)集包含了47347篇醫(yī)學領(lǐng)域的科學文獻,共有42441名作者,11個期刊,平均每篇文獻有17個引用關(guān)系,數(shù)據(jù)集中包含了標題、摘要、地點(文獻發(fā)布的期刊或者會議)、作者、引文(文獻中引用其他的文獻)和關(guān)鍵詞.2010年以前的論文作為訓練集,2010年-2013年的論文作為測試集. 本文使用Precision、Recall和MRR來評估算法效果,k表示給目標論文推薦k個候選文章: (4) (5) Q是目標論文的數(shù)量,k是推薦的論文數(shù)量,Rp是基于目標論文p推薦的前k個引文論文列表,Tp是論文p真實引用的集合. MRR(Mean Reciprocal Rank):對于信息檢索系統(tǒng)(如問答系統(tǒng)或推薦系統(tǒng)),只關(guān)心第一個標準答案返回的位置(Rank),越靠前越好,這個位置的倒數(shù)稱為RR,對問題集合求平均,則得到MRR. (6) F1分數(shù)(F1-score)是分類問題的一個衡量指標.一些多分類問題的機器學習競賽,常常將F1-score作為最終測評的指標.它是精確率和召回率的調(diào)和平均數(shù),最大為1,最小為0. (7) ClusCite[4]:ClusCite將異構(gòu)圖中的論文、作者、期刊的相似節(jié)點聚集在一起,用來查找應該被引用的論文. BM25[25]:BM25是一種基于文本的方法,可以計算僅使用文字信息的相似度得分. NNSelect[16]:是一種基于內(nèi)容推薦引文的方法.將給定的查詢文檔嵌入到向量空間中,然后使用其最近的鄰居作為候選對象,使用判別模型對候選論文進行排序. Doc2vec[21]:是一種非監(jiān)督式算法,可以獲得句子/段落/文檔的向量表達,是 word2vec算法的拓展. DeepWalk[23]:DeepWalk是一種學習網(wǎng)絡(luò)中節(jié)點表示的方法,將語言模型中的方法應用在社會網(wǎng)絡(luò)分析中,從而可以應用深度學習的方法,不僅能表示節(jié)點特征,還能表示出節(jié)點之間的拓撲關(guān)系. Metapath2vec[26]:是對異構(gòu)信息網(wǎng)絡(luò)進行特征表示學習的一種方法,具體的做法是基于元路徑的隨機游走來獲得節(jié)點游走序列,之后使用異構(gòu)的skip-gram模型來獲得節(jié)點的向量表示. 在本節(jié)中,首先將本文提出的CRM-HIN算法與其他6種基于內(nèi)容的引文推薦算法以及基于圖的引文推薦算法相比較;然后分析不同參數(shù)對實驗結(jié)果的影響. 實驗環(huán)境操作系統(tǒng)為Windows10 64位,語言為python3.6;本文算法設(shè)置的元路徑為PAP,每個節(jié)點的隱維數(shù)(representation_size)為256,游走次數(shù)為80;ClusCite算法中參數(shù)的設(shè)置為:K=200,cp=10-6,cw=10-7;NNSelect、BM25參數(shù)和算法原文保持一致,Doc2vec的實現(xiàn)方法參考gensim(3)https://radimrehurek.com/gensim/庫,deepwalk算法的實現(xiàn)采用了清華大學OpenNE(4)https://github.com/thunlp/OpenNE的工具包;metapaht2vec算法中,元路徑參數(shù)設(shè)置為PAP. 表3、表4分別顯示了本文算法和其他對比算法在DBLP和PubMed數(shù)據(jù)集上的推薦結(jié)果.通過分析實驗數(shù)據(jù)可知,CRM-HIN算法在recall、precision、NDCG上面有很好的推薦結(jié)果.對于只使用文本相似度進行推薦的算法(BM25、Doc2vec),效果沒有基于圖的推薦算法效果好,主要是因為對于引文網(wǎng)絡(luò),由于引文中不僅存在文本信息,更重要的是還存在作者、出版社、文獻之間的引用等關(guān)系,而BM25和Doc2vec只使用文本信息,沒有將網(wǎng)絡(luò)中的結(jié)構(gòu)信息考慮進去.本文提出的基于異質(zhì)信息網(wǎng)絡(luò)表示學習的引文推薦算法,使用了網(wǎng)絡(luò)中的結(jié)構(gòu)以及文本信息,通過節(jié)點序列,獲得不同類型節(jié)點之間的關(guān)系,從而可以獲得更好的推薦效果. 表3 DBLP上的實驗結(jié)果對比 表4 PubMed上的實驗結(jié)果對比 DeepWalk使用隨機游走獲取節(jié)點序列;Metapath2vec使用元路徑獲取節(jié)點序列,圖3和圖4分別對比了在兩個數(shù)據(jù)集上使用混合游走、元路徑和隨機游走3種方式對節(jié)點進行采樣時的效果.可以發(fā)現(xiàn),基于元路徑獲得節(jié)點序列,只對路徑上的各種節(jié)點進行了游走,忽略了節(jié)點周圍的其他類型節(jié)點.CRM-HIN對于節(jié)點序列的采樣,首先按照元路徑獲得節(jié)點序列,從而獲得與該節(jié)點最相關(guān)的結(jié)構(gòu)信息;隨后使用隨機游走,獲得高階鄰居節(jié)點的信息;為了使文本信息可以融合到網(wǎng)絡(luò)結(jié)構(gòu)中,在獲取節(jié)點序列的時候,考慮了節(jié)點本身的文本相似性.從實驗結(jié)果可以發(fā)現(xiàn),CRM-HIN要比其他算法推薦效果好.因此,結(jié)合網(wǎng)絡(luò)中的文本信息和異構(gòu)網(wǎng)絡(luò)的結(jié)構(gòu)信息可以獲得更好的結(jié)果. 圖3 使用不同節(jié)點采樣方法在DBLP上的實驗效果 圖4 使用不同節(jié)點采樣方法在PubMed上的實驗效果 本節(jié)分析超參數(shù)采樣長度的敏感性對實驗結(jié)果的影響.對節(jié)點進行采樣時,選擇不同的采樣長度,結(jié)果如圖5所示,我們使其游走長度依次遞增,觀察實驗結(jié)果的變化,從實驗結(jié)果中我們可以分析出,當游走長度為6的時候,效果最好.由于本文設(shè)置的元路徑為PAP,獲取節(jié)點序列的時候,里面包含了元路徑,兩篇論文有共同的作者,這兩篇論文很可能是同一個作者研究的內(nèi)容,兩篇論文有一定的相關(guān)性.元路徑之后的隨機游走,可以獲得與論文相關(guān)的一些信息,比如論文和出版社之間的關(guān)系,論文之間的引用關(guān)系.適當長度的游走,可以有效的提升推薦的效果,但是當游走長度過長的時候,游走序列后半部分的節(jié)點序列,與前半部分的節(jié)點序列,相關(guān)性減輕,對這些節(jié)點序列進行訓練,會對實驗結(jié)果產(chǎn)生一定的影響.因此,選擇合適的游走長度,可以有效地提升推薦的效果. 圖5 不同游走長度對實驗結(jié)果的影響 本文提出一種基于異質(zhì)信息網(wǎng)絡(luò)的引文推薦算法,通過將論文的文本內(nèi)容融合到網(wǎng)絡(luò)的結(jié)構(gòu)中,使用元路徑和隨機游走相結(jié)合的方式來提取節(jié)點的特征,從而訓練獲取更好的推薦效果.獲取真實論文推薦列表的實驗結(jié)果表明,和基準方法相比,本文提出的引文推薦算法可以有效地結(jié)合網(wǎng)絡(luò)中的結(jié)構(gòu)信息和文本信息,從而獲得更好的推薦結(jié)果.4 實驗與結(jié)果分析
4.1 數(shù)據(jù)集
4.2 評估方法
4.3 對比算法
4.4 實驗結(jié)果及分析
5 總 結(jié)