杜偉靜,李 翀,王宇宸,劉學(xué)敏
1(中國科學(xué)院 計算機網(wǎng)絡(luò)信息中心,北京 100190)2(中國科學(xué)院大學(xué),北京 100049)
科技成果是評價一個國家社會發(fā)展程度的重要指標(biāo),通過對科技成果數(shù)據(jù)分析可以了解科研發(fā)展態(tài)勢,對指導(dǎo)國家科研投入和產(chǎn)業(yè)布局有重大意義,其中論文是最重要的科研成果轉(zhuǎn)化形式之一.本文主要針對WOS(1)https://webofknowledge.com/.網(wǎng)站中科院論文數(shù)據(jù)展開研究.
目前多數(shù)科研人員對論文的應(yīng)用還僅限于微觀,如通過閱讀論文了解科研動態(tài)確定研究方向,而對論文宏觀數(shù)據(jù)價值研究及各維度關(guān)聯(lián)關(guān)系挖掘十分欠缺.部分已有研究僅停留在應(yīng)用軟件階段,直接生成統(tǒng)計結(jié)論[1].目前應(yīng)用最廣的軟件為陳超美博士研發(fā)的CiteSpace(2)http://cluster.ischool.drexel.edu/~cchen/citespace.,用于科學(xué)文獻的識別并顯示科學(xué)發(fā)展新趨勢和新動態(tài).文獻[1]應(yīng)用CiteSpace軟件進行數(shù)據(jù)導(dǎo)入,選擇對應(yīng)算法得出結(jié)論,這在一定程度上不能按需定制,應(yīng)用范圍受限.另外當(dāng)前針對論文數(shù)據(jù)的研究還存在一些問題:如文獻[2]中數(shù)據(jù)分析維度單一,缺乏多樣化,研究分析不具有實時與長遠性,不能反映熱點學(xué)科變化趨勢.除此,當(dāng)前研究在熱點學(xué)科預(yù)測及潛在人才發(fā)現(xiàn)機制方面還處于欠缺狀態(tài).
鑒于以上問題,本文以多維度論文數(shù)據(jù)為依托,對數(shù)據(jù)進行了多角度的計量分析,確定了當(dāng)前研究熱點.實驗采用Neo4j(3)>https://neo4j.com/.圖數(shù)據(jù)庫進行存儲,利用優(yōu)化后的Louvain社區(qū)發(fā)現(xiàn)算法(CommunityDetection)[3]對研究熱點背后活躍學(xué)術(shù)圈進行挖掘.最后本文通過PageRank算法發(fā)現(xiàn)合著網(wǎng)絡(luò)中的權(quán)威學(xué)者,了解其科研合作行為與合作關(guān)系,給科研學(xué)者與專家提供合作選擇依據(jù),從而促進科研合作的健康發(fā)展.
本文論文數(shù)據(jù)來源于WOS核心合集,分為藝術(shù)與人文(Arts&Humanities)、生命科學(xué)與生物醫(yī)學(xué)(LifeScience & Biomedicine)、自然科學(xué)(Physical Science)、社會科學(xué)(Social Science)、應(yīng)用科學(xué)(Technology)5大類.在數(shù)據(jù)收集過程中,本文采用網(wǎng)站數(shù)據(jù)直接導(dǎo)出并存儲至HBase(4)https://hbase.apache.org/.的方式.最終收集了時間范圍在1900-2019年來自中科院的論文數(shù)據(jù)共638177條.
本文隨機篩選了其中60606條詳細論文數(shù)據(jù)作為實驗樣本.這些數(shù)據(jù)經(jīng)整理得到了73個數(shù)據(jù)字段.實驗主要應(yīng)用了以下核心字段:AF(作者全名)、TI(文獻標(biāo)題)、DE(作者關(guān)鍵詞)、C1(作者地址)、NR(引用參考文獻數(shù))、TC(Web of Science 核心合集的被引頻次計數(shù))、U2(使用次數(shù)、DI(數(shù)字對象標(biāo)識符DOI)、WC(Web of Science 類別)、SC(研究方向)等.
論文數(shù)據(jù)之間有著復(fù)雜的關(guān)聯(lián)關(guān)系,在關(guān)系型數(shù)據(jù)庫中使用結(jié)構(gòu)化形式一般不能直接表示這種聯(lián)系.而圖數(shù)據(jù)庫沒有模式結(jié)構(gòu)的定義,在存儲關(guān)聯(lián)數(shù)據(jù)時采用非結(jié)構(gòu)化的方式,數(shù)據(jù)關(guān)聯(lián)特性表現(xiàn)的更加直接.常見的圖數(shù)據(jù)庫有Titan、Neo4j、OrientDB、JanusGraph、Trinity等.Neo4j與Titan和JanusGraph相比,用戶生態(tài)更為完整;與Trinity相比,其邊可以自帶屬性,同時Neo4j采用的操作語言Cypher直觀易學(xué)習(xí)(5)https://www.cnblogs.com/zhongzihao/p/11328407.html, 2019-08-09..除此,Neo4j提供了完整的數(shù)據(jù)庫特性,且存儲結(jié)構(gòu)均是單鏈表結(jié)構(gòu),在處理高度互連的數(shù)據(jù)時具有毫秒級響應(yīng)的性能[4].Neo4j近年來發(fā)展迅速,應(yīng)用范圍越來越廣,如文獻[5]中用于磁盤圖形處理算法的I/O開銷測試;文獻[6]中用于搜索問答系統(tǒng)底層數(shù)據(jù)存儲.
Neo4j中實體(entity)、關(guān)系(relationship)示意圖如圖1所示.由于論文數(shù)據(jù)之間高度互聯(lián),背后隱藏關(guān)系錯綜復(fù)雜,這與Neo4j功能特性相吻合,故本文最終選擇了Neo4j圖數(shù)據(jù)庫.
社區(qū)發(fā)現(xiàn)算法是探尋社區(qū)內(nèi)部節(jié)點關(guān)系緊密程度的一種方法.主要有兩種思路,一種是凝聚方法,一種是分裂方法.GN[3]算法開啟了社區(qū)發(fā)現(xiàn)領(lǐng)域的研究,主要是利用邊介數(shù)刪除邊進行劃分.隨機游走算法是以某一個預(yù)設(shè)的概率作為轉(zhuǎn)移概率,計算與相鄰節(jié)點的距離,選擇最小的兩個社團C1和C2進行合并[7],但該算法應(yīng)用范圍受限.標(biāo)簽傳播(Label Propagation)算法是一種自底向上的迭代算法,通過構(gòu)造相似矩陣以及節(jié)點傳播進行劃分[8],但其在精度和穩(wěn)定性等指標(biāo)上還存在一些問題[9,10].

圖1 Neo4j實體關(guān)系示意圖Fig.1 Neo4j entity relationship diagram
Louvain算法是目前公認的運行速度最快的非重疊社區(qū)發(fā)現(xiàn)算法之一,采用模塊度(Modularity)Q度量社區(qū)內(nèi)部的緊密程度,算法通過兩層迭代得到劃分結(jié)果[11].近年來Louvain算法應(yīng)用范圍也越來越廣,Jianping Zeng[12]等將其實現(xiàn)為可擴展的分布式算法,用于大規(guī)模的圖數(shù)據(jù)社區(qū)檢測;夏瑋[13]等將其與流式處理框架相結(jié)合,應(yīng)用于推薦系統(tǒng);Ghosh[14]等對分布式Louvain算法委托分區(qū)進行優(yōu)化,來確保處理器之間的工作負載和通信平衡.
根據(jù)實驗數(shù)據(jù)特征及效率兩方面考慮,本文最終選用了Louvain算法.
2.3.1 Louvain算法思想
Louvain算法是基于模塊度的一種社區(qū)發(fā)現(xiàn)算法,是基于貪婪策略的優(yōu)化方法[9],可以發(fā)現(xiàn)不同層次的社區(qū)結(jié)構(gòu)[6].Louvain算法實現(xiàn)過程如圖2所示,其兩步迭代步驟如下.

圖2 Louvain算法示意圖Fig.2 Louvain algorithm diagram
1)將每篇論文看為一個社區(qū),社區(qū)內(nèi)部節(jié)點間連邊權(quán)重初始為0.首先遍歷所有論文節(jié)點,針對每個節(jié)點查找其所有鄰居節(jié)點,并計算把該節(jié)點加入其相鄰節(jié)點所在的社區(qū)所帶來的模塊度收益,最終選擇收益值最大的鄰居節(jié)點社區(qū)進行加入[15].
2)對步驟1中形成的社區(qū)重新折疊為一個新的單點,計算該新生成的“社區(qū)點”與其他社區(qū)點之間的連邊權(quán)重,并計算該“社區(qū)點”內(nèi)部節(jié)點間的連邊權(quán)重之和,然后進行下一輪判斷,直至結(jié)果達到最優(yōu)[15].
2.3.2 評價模型
1)模塊度
社區(qū)性強弱的衡量采用社區(qū)模塊度指標(biāo)Q表示,其定義如公式(1)所示[16].
(1)
m為論文語義圖中節(jié)點間邊的總數(shù)量;ki表示所有指向論文節(jié)點i的連邊權(quán)重之和;kj表示所有指向論文節(jié)點j的連邊權(quán)重之和;Ai,j表示論文節(jié)點i,j之間的連邊權(quán)重;Ci是論文節(jié)點i的社區(qū);δ(Ci,Cj)函數(shù)返回1表示論文節(jié)點i和論文節(jié)點j在同一個社區(qū)內(nèi),否則返回0[17].簡化公式如公式(2)所示.
(2)
∑in表示社區(qū)C內(nèi)部邊的權(quán)重之和;∑tot表示與社區(qū)C內(nèi)部節(jié)點相連的所有邊的權(quán)重之和[17].
2)模塊度增益
模塊增益度是評價迭代效果好壞的數(shù)值化指標(biāo),這是一種啟發(fā)式的優(yōu)化過程,類似決策樹中的熵增益啟發(fā)式評價,如公式(3)所示.
(3)
ki,in代表由節(jié)點i入射集群C的權(quán)重之和;∑tot代表入射集群C的總權(quán)重;ki代表入射節(jié)點i的總權(quán)重[16].
本文按5大類別分析了中科院論文發(fā)表增長趨勢,如圖3所示.結(jié)果表明應(yīng)用科學(xué)論文發(fā)表數(shù)量年增速最大,在此基礎(chǔ)上利用關(guān)鍵詞共現(xiàn)、編輯距離算法等技術(shù)對研究熱點進行了分析,其中計算機科學(xué)(Computer Science)論文發(fā)表增長速度較為突出,本文后續(xù)實驗將針對計算機科學(xué)這一研究熱點的論文數(shù)據(jù)展開.

圖3 5大學(xué)科文獻論文發(fā)表趨勢圖Fig.3 Trends in publications of five university literatures
1)本實驗最初設(shè)計的實體為作者,即作者與作者之間進行關(guān)聯(lián),關(guān)系為workwith,存儲形式為“作者-workwith-作者”.實驗中由于作者眾多出現(xiàn)關(guān)系爆炸情況,導(dǎo)致計算效率低、關(guān)系雜亂不明顯.為了解決這個問題,本文加入論文作者署名排序,采用第1作者與論文直接關(guān)聯(lián),除第1作者外的作者與第1作者形成workwith關(guān)聯(lián)關(guān)系,如圖4所示.這降低了關(guān)聯(lián)關(guān)系密度,同時提高了主要貢獻者地位,有利于形成模塊度較高的社區(qū).
2)實體關(guān)系創(chuàng)建過程中,如果以作者全名為唯一標(biāo)識會導(dǎo)致大量的重名作者錯誤的連接到論文和機構(gòu)中,污染整個圖數(shù)據(jù)關(guān)系結(jié)構(gòu).為了解決這個難題,本文計算“作者全名”+“作者所屬全部機構(gòu)”的hash值作為唯一標(biāo)識“author_hash”來區(qū)分作者,提高作者的識別率,避免了圖數(shù)據(jù)重名關(guān)系污染.

圖4 作者署名排序?qū)嶓w關(guān)系圖Fig.4 Entity relationship diagram of author signature
本文以2000條論文數(shù)據(jù)進行實驗,以論文作者全名進行統(tǒng)計共得到14738位作者,以“author_hash”作為標(biāo)識共得到18191位作者,結(jié)果表明重名率高達19%,重名現(xiàn)象嚴重.優(yōu)化2)的應(yīng)用有效的解決了該問題.
3)在創(chuàng)建實體關(guān)系的過程中,需要進行大量的屬性對比,嚴重拖慢關(guān)系創(chuàng)建速度.Neo4j提供了索引功能[15],可以針對實體或?qū)嶓w屬性建立索引,提升查詢速度.本文根據(jù)數(shù)據(jù)特點建立了論文、機構(gòu)、作者3個索引.

圖5 步長為200的實體關(guān)系創(chuàng)建時間對比圖Fig.5 Entity relationship creation time comparison chart with a step size of 200
本文結(jié)合以上3條優(yōu)化策略進行了對比實驗,以2000條實驗數(shù)據(jù)為樣本,每200條數(shù)據(jù)為間隔進行一次時間測量,實驗結(jié)果如圖5所示.結(jié)果表明數(shù)據(jù)插入性能顯著提升(最高性能提升高達16倍),且隨著數(shù)據(jù)量的增加,性能差距會進一步拉大.
Louvain算法可通過關(guān)系權(quán)重(weight)調(diào)優(yōu)提高實體間關(guān)聯(lián)程度的計算精度,從而更加精確的挖掘社區(qū)[15].本文在作者間建立的workwith基礎(chǔ)上添加屬性weight,共采用了3種weight計算方式,第1種如公式(4)所示.即作者間合作次數(shù)為屬性weight的值,隨著合作次數(shù)的增加,作者間親密度得到提升,屬于同一社區(qū)的概率增加.
weight=作者間合作次數(shù)
(4)
公式(4)的weight計算方式過于簡單化,沒有多角度反映作者間關(guān)聯(lián)程度,例如作者間合作強度、不同權(quán)威作者彼此間影響力、作者所屬機構(gòu)關(guān)系等.故本文實驗第2種計算方式如公式(5)所示.利用Salton方法[18,19]度量合作關(guān)系強度,加入合著論文數(shù)量在作者學(xué)術(shù)生涯中占比.
(5)
hi,j指作者i與作者j合著論文數(shù)量,hi指作者i發(fā)表的所有論文數(shù)量,hj指作者j發(fā)表所有論文數(shù)量[18,19].
方法2中未考慮合著作者所屬機構(gòu)關(guān)系影響,對于同一機構(gòu)內(nèi)作者,作者間合作幾率會相對較高,不同機構(gòu)作者間合作幾率會相對較小,所屬機構(gòu)不同不能同等看待.為解決該問題,本文在Salton方法基礎(chǔ)上添加了合著作者間所屬機構(gòu)影響,即第3種計算方式,如公式(6)所示.
(6)
oi,j指作者i與作者j屬于同一個機構(gòu)的數(shù)量(一個作者可能屬于多個機構(gòu)),oi指作者i所屬機構(gòu)數(shù),oj指作者j所屬機構(gòu)數(shù),k為機構(gòu)影響系數(shù).
操作系統(tǒng):CentOS 7 64位,KernelLinux 3.10.0
開發(fā)環(huán)境:python3.7.3+Neo4j 3.5.13
芯片:IntelXeonSilver 4114@2.20GHz 40核心
內(nèi)存:100GB
實驗章節(jié)分為兩個部分,首先詳細描述了圖數(shù)據(jù)庫中實體關(guān)系創(chuàng)建及優(yōu)化過程,其中數(shù)據(jù)結(jié)構(gòu)優(yōu)化參考3.1節(jié).其次詳細描述了針對Louvain社區(qū)發(fā)現(xiàn)算法的優(yōu)化及應(yīng)用,具體算法優(yōu)化可以參考3.2節(jié).

表1 實體關(guān)系屬性表Table 1 Entity relationship attributeTable
第1部分實驗從AF、C1、DI等WOS核心字段提取相關(guān)數(shù)據(jù),創(chuàng)建實體及實體間的關(guān)系.實體類型為Author(作者)、Paper(論文)、Org(作者所屬機構(gòu));實體屬性包含name(全名)、community(所屬社區(qū)號)、author_hash(作者哈希值)等;實體間關(guān)系為belong to、write、workwith.workwith中包含屬性weight,如表1所示.最終實驗中有論文數(shù)據(jù)60606條,作者423492位,機構(gòu)103390個.其中計算機科學(xué)相關(guān)論文4199篇,作者為19200位,機構(gòu)為26232個,生成workwith關(guān)系數(shù)為15799.

圖6 機構(gòu)影響系數(shù)變化圖Fig.6 Change chart of mechanism influence coefficient
第2部分實驗是對Louvain算法的應(yīng)用,并對weight關(guān)系屬性進行了3種方式的優(yōu)化.針對公式(6)中機構(gòu)影響系數(shù)的確定,進行了多次實驗,實驗結(jié)果如圖6所示,當(dāng)k為0.07時可得到最大模塊度.

表2 weight優(yōu)化前后模塊度變化表Table 2 Modularity changes before and after weight optimization
實驗以3.1節(jié)1)的優(yōu)化為基礎(chǔ),對weight 3種不同計算方式進行了模塊度對比,如表2所示.實驗結(jié)果顯示優(yōu)化后模塊度從0.5提升至0.9;在k為0.07且加入機構(gòu)影響維度情況下模塊度達到最優(yōu)為0.9916.優(yōu)化后比優(yōu)化前模塊度提升84.15%,提升效果明顯.

表3 社區(qū)人數(shù)及社區(qū)中論文數(shù)量表Table 3 Number of communities and the number of papers in the community
最終實驗共得到5005個社區(qū),前10社區(qū)分布如表3所示.社區(qū)分布示意實例圖如圖7所示,其中大節(jié)點為論文,中節(jié)點為機構(gòu),小節(jié)點為作者.本文在挖掘出的科研社區(qū)基礎(chǔ)上,利用PageRank算法對社區(qū)中權(quán)威優(yōu)秀人才進行了挖掘,并計算出了每個作者的權(quán)威分數(shù),最終篩選出科研高產(chǎn)出人才,如表4所示,其中前3名分別為“Yan,Zheng”、“Du,Jun”、“Ma,Wenping”.優(yōu)秀科研人才的挖掘?qū)椭蒲袑W(xué)者或?qū)<伊私饪蒲泻献餍袨榧昂献麝P(guān)系,并提供科研合作選擇依據(jù),從而促進科研工作快速發(fā)展.

圖7 科研社區(qū)內(nèi)部關(guān)系示意圖Fig.7 Schematic diagram of internal relations in the research community

表4 權(quán)威科研工作者排名表Table 4 Ranking of authoritative researchers
本文對WOS中科院論文數(shù)據(jù)進行了多角度分析,首先利用數(shù)據(jù)計量分析得出應(yīng)用科學(xué)為當(dāng)前熱點學(xué)科,計算機科學(xué)為學(xué)術(shù)界的研究熱點.其次在研究熱點基礎(chǔ)上,利用Neo4j圖數(shù)據(jù)庫構(gòu)建論文語義網(wǎng)絡(luò)圖,應(yīng)用Louvain社區(qū)發(fā)現(xiàn)算法對科研社區(qū)進行挖掘,并針對關(guān)系屬性weight的計算方式進行優(yōu)化,進而提升了社區(qū)內(nèi)部關(guān)聯(lián)度.實驗結(jié)果顯示優(yōu)化效果明顯,模塊度高達0.9916.最后以挖掘出的社區(qū)為基礎(chǔ),利用PageRank算法發(fā)現(xiàn)合著網(wǎng)絡(luò)中的權(quán)威學(xué)者,了解其科研合作行為與合作關(guān)系,為科研學(xué)者與專家提供合作選擇依據(jù).
同時,本文研究工作還存在一些不足:如Louvain算法挖掘出的社區(qū)過大,人員和機構(gòu)過多,后續(xù)將對社區(qū)進行二次挖掘.其次分析維度還不夠全面,后續(xù)實驗將加入基金專利數(shù)據(jù),近一步提高數(shù)據(jù)分析精確度.除此,在下一步實驗中將加入spark平臺,通過機器學(xué)習(xí)算法構(gòu)建模型,對潛在優(yōu)秀人才進行挖掘,從而為國家人才培養(yǎng)提供參考性意見.