杜偉靜,李 翀,王宇宸,劉學(xué)敏
1(中國科學(xué)院 計(jì)算機(jī)網(wǎng)絡(luò)信息中心,北京 100190)2(中國科學(xué)院大學(xué),北京 100049)
科技成果是評價(jià)一個(gè)國家社會(huì)發(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)用還僅限于微觀,如通過閱讀論文了解科研動(dòng)態(tài)確定研究方向,而對論文宏觀數(shù)據(jù)價(jià)值研究及各維度關(guān)聯(lián)關(guān)系挖掘十分欠缺.部分已有研究僅停留在應(yīng)用軟件階段,直接生成統(tǒng)計(jì)結(jié)論[1].目前應(yīng)用最廣的軟件為陳超美博士研發(fā)的CiteSpace(2)http://cluster.ischool.drexel.edu/~cchen/citespace.,用于科學(xué)文獻(xiàn)的識(shí)別并顯示科學(xué)發(fā)展新趨勢和新動(dòng)態(tài).文獻(xiàn)[1]應(yīng)用CiteSpace軟件進(jìn)行數(shù)據(jù)導(dǎo)入,選擇對應(yīng)算法得出結(jié)論,這在一定程度上不能按需定制,應(yīng)用范圍受限.另外當(dāng)前針對論文數(shù)據(jù)的研究還存在一些問題:如文獻(xiàn)[2]中數(shù)據(jù)分析維度單一,缺乏多樣化,研究分析不具有實(shí)時(shí)與長遠(yuǎn)性,不能反映熱點(diǎn)學(xué)科變化趨勢.除此,當(dāng)前研究在熱點(diǎn)學(xué)科預(yù)測及潛在人才發(fā)現(xiàn)機(jī)制方面還處于欠缺狀態(tài).
鑒于以上問題,本文以多維度論文數(shù)據(jù)為依托,對數(shù)據(jù)進(jìn)行了多角度的計(jì)量分析,確定了當(dāng)前研究熱點(diǎn).實(shí)驗(yàn)采用Neo4j(3)>https://neo4j.com/.圖數(shù)據(jù)庫進(jìn)行存儲(chǔ),利用優(yōu)化后的Louvain社區(qū)發(fā)現(xiàn)算法(CommunityDetection)[3]對研究熱點(diǎn)背后活躍學(xué)術(shù)圈進(jìn)行挖掘.最后本文通過PageRank算法發(fā)現(xiàn)合著網(wǎng)絡(luò)中的權(quán)威學(xué)者,了解其科研合作行為與合作關(guān)系,給科研學(xué)者與專家提供合作選擇依據(jù),從而促進(jìn)科研合作的健康發(fā)展.
本文論文數(shù)據(jù)來源于WOS核心合集,分為藝術(shù)與人文(Arts&Humanities)、生命科學(xué)與生物醫(yī)學(xué)(LifeScience & Biomedicine)、自然科學(xué)(Physical Science)、社會(huì)科學(xué)(Social Science)、應(yīng)用科學(xué)(Technology)5大類.在數(shù)據(jù)收集過程中,本文采用網(wǎng)站數(shù)據(jù)直接導(dǎo)出并存儲(chǔ)至HBase(4)https://hbase.apache.org/.的方式.最終收集了時(shí)間范圍在1900-2019年來自中科院的論文數(shù)據(jù)共638177條.
本文隨機(jī)篩選了其中60606條詳細(xì)論文數(shù)據(jù)作為實(shí)驗(yàn)樣本.這些數(shù)據(jù)經(jīng)整理得到了73個(gè)數(shù)據(jù)字段.實(shí)驗(yàn)主要應(yīng)用了以下核心字段:AF(作者全名)、TI(文獻(xiàn)標(biāo)題)、DE(作者關(guān)鍵詞)、C1(作者地址)、NR(引用參考文獻(xiàn)數(shù))、TC(Web of Science 核心合集的被引頻次計(jì)數(shù))、U2(使用次數(shù)、DI(數(shù)字對象標(biāo)識(shí)符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)的定義,在存儲(chǔ)關(guān)聯(lián)數(shù)據(jù)時(shí)采用非結(jié)構(gòu)化的方式,數(shù)據(jù)關(guān)聯(lián)特性表現(xiàn)的更加直接.常見的圖數(shù)據(jù)庫有Titan、Neo4j、OrientDB、JanusGraph、Trinity等.Neo4j與Titan和JanusGraph相比,用戶生態(tài)更為完整;與Trinity相比,其邊可以自帶屬性,同時(shí)Neo4j采用的操作語言Cypher直觀易學(xué)習(xí)(5)https://www.cnblogs.com/zhongzihao/p/11328407.html, 2019-08-09..除此,Neo4j提供了完整的數(shù)據(jù)庫特性,且存儲(chǔ)結(jié)構(gòu)均是單鏈表結(jié)構(gòu),在處理高度互連的數(shù)據(jù)時(shí)具有毫秒級(jí)響應(yīng)的性能[4].Neo4j近年來發(fā)展迅速,應(yīng)用范圍越來越廣,如文獻(xiàn)[5]中用于磁盤圖形處理算法的I/O開銷測試;文獻(xiàn)[6]中用于搜索問答系統(tǒng)底層數(shù)據(jù)存儲(chǔ).
Neo4j中實(shí)體(entity)、關(guān)系(relationship)示意圖如圖1所示.由于論文數(shù)據(jù)之間高度互聯(lián),背后隱藏關(guān)系錯(cuò)綜復(fù)雜,這與Neo4j功能特性相吻合,故本文最終選擇了Neo4j圖數(shù)據(jù)庫.
社區(qū)發(fā)現(xiàn)算法是探尋社區(qū)內(nèi)部節(jié)點(diǎn)關(guān)系緊密程度的一種方法.主要有兩種思路,一種是凝聚方法,一種是分裂方法.GN[3]算法開啟了社區(qū)發(fā)現(xiàn)領(lǐng)域的研究,主要是利用邊介數(shù)刪除邊進(jìn)行劃分.隨機(jī)游走算法是以某一個(gè)預(yù)設(shè)的概率作為轉(zhuǎn)移概率,計(jì)算與相鄰節(jié)點(diǎn)的距離,選擇最小的兩個(gè)社團(tuán)C1和C2進(jìn)行合并[7],但該算法應(yīng)用范圍受限.標(biāo)簽傳播(Label Propagation)算法是一種自底向上的迭代算法,通過構(gòu)造相似矩陣以及節(jié)點(diǎn)傳播進(jìn)行劃分[8],但其在精度和穩(wěn)定性等指標(biāo)上還存在一些問題[9,10].
圖1 Neo4j實(shí)體關(guān)系示意圖Fig.1 Neo4j entity relationship diagram
Louvain算法是目前公認(rèn)的運(yùn)行速度最快的非重疊社區(qū)發(fā)現(xiàn)算法之一,采用模塊度(Modularity)Q度量社區(qū)內(nèi)部的緊密程度,算法通過兩層迭代得到劃分結(jié)果[11].近年來Louvain算法應(yīng)用范圍也越來越廣,Jianping Zeng[12]等將其實(shí)現(xiàn)為可擴(kuò)展的分布式算法,用于大規(guī)模的圖數(shù)據(jù)社區(qū)檢測;夏瑋[13]等將其與流式處理框架相結(jié)合,應(yīng)用于推薦系統(tǒng);Ghosh[14]等對分布式Louvain算法委托分區(qū)進(jìn)行優(yōu)化,來確保處理器之間的工作負(fù)載和通信平衡.
根據(jù)實(shí)驗(yàn)數(shù)據(jù)特征及效率兩方面考慮,本文最終選用了Louvain算法.
2.3.1 Louvain算法思想
Louvain算法是基于模塊度的一種社區(qū)發(fā)現(xiàn)算法,是基于貪婪策略的優(yōu)化方法[9],可以發(fā)現(xiàn)不同層次的社區(qū)結(jié)構(gòu)[6].Louvain算法實(shí)現(xiàn)過程如圖2所示,其兩步迭代步驟如下.
圖2 Louvain算法示意圖Fig.2 Louvain algorithm diagram
1)將每篇論文看為一個(gè)社區(qū),社區(qū)內(nèi)部節(jié)點(diǎn)間連邊權(quán)重初始為0.首先遍歷所有論文節(jié)點(diǎn),針對每個(gè)節(jié)點(diǎn)查找其所有鄰居節(jié)點(diǎn),并計(jì)算把該節(jié)點(diǎn)加入其相鄰節(jié)點(diǎn)所在的社區(qū)所帶來的模塊度收益,最終選擇收益值最大的鄰居節(jié)點(diǎn)社區(qū)進(jìn)行加入[15].
2)對步驟1中形成的社區(qū)重新折疊為一個(gè)新的單點(diǎn),計(jì)算該新生成的“社區(qū)點(diǎn)”與其他社區(qū)點(diǎn)之間的連邊權(quán)重,并計(jì)算該“社區(qū)點(diǎn)”內(nèi)部節(jié)點(diǎn)間的連邊權(quán)重之和,然后進(jìn)行下一輪判斷,直至結(jié)果達(dá)到最優(yōu)[15].
2.3.2 評價(jià)模型
1)模塊度
社區(qū)性強(qiáng)弱的衡量采用社區(qū)模塊度指標(biāo)Q表示,其定義如公式(1)所示[16].
(1)
m為論文語義圖中節(jié)點(diǎn)間邊的總數(shù)量;ki表示所有指向論文節(jié)點(diǎn)i的連邊權(quán)重之和;kj表示所有指向論文節(jié)點(diǎn)j的連邊權(quán)重之和;Ai,j表示論文節(jié)點(diǎn)i,j之間的連邊權(quán)重;Ci是論文節(jié)點(diǎn)i的社區(qū);δ(Ci,Cj)函數(shù)返回1表示論文節(jié)點(diǎn)i和論文節(jié)點(diǎn)j在同一個(gè)社區(qū)內(nèi),否則返回0[17].簡化公式如公式(2)所示.
(2)
∑in表示社區(qū)C內(nèi)部邊的權(quán)重之和;∑tot表示與社區(qū)C內(nèi)部節(jié)點(diǎn)相連的所有邊的權(quán)重之和[17].
2)模塊度增益
模塊增益度是評價(jià)迭代效果好壞的數(shù)值化指標(biāo),這是一種啟發(fā)式的優(yōu)化過程,類似決策樹中的熵增益啟發(fā)式評價(jià),如公式(3)所示.
(3)
ki,in代表由節(jié)點(diǎn)i入射集群C的權(quán)重之和;∑tot代表入射集群C的總權(quán)重;ki代表入射節(jié)點(diǎn)i的總權(quán)重[16].
本文按5大類別分析了中科院論文發(fā)表增長趨勢,如圖3所示.結(jié)果表明應(yīng)用科學(xué)論文發(fā)表數(shù)量年增速最大,在此基礎(chǔ)上利用關(guān)鍵詞共現(xiàn)、編輯距離算法等技術(shù)對研究熱點(diǎn)進(jìn)行了分析,其中計(jì)算機(jī)科學(xué)(Computer Science)論文發(fā)表增長速度較為突出,本文后續(xù)實(shí)驗(yàn)將針對計(jì)算機(jī)科學(xué)這一研究熱點(diǎn)的論文數(shù)據(jù)展開.
圖3 5大學(xué)科文獻(xiàn)論文發(fā)表趨勢圖Fig.3 Trends in publications of five university literatures
1)本實(shí)驗(yàn)最初設(shè)計(jì)的實(shí)體為作者,即作者與作者之間進(jìn)行關(guān)聯(lián),關(guān)系為workwith,存儲(chǔ)形式為“作者-workwith-作者”.實(shí)驗(yàn)中由于作者眾多出現(xiàn)關(guān)系爆炸情況,導(dǎo)致計(jì)算效率低、關(guān)系雜亂不明顯.為了解決這個(gè)問題,本文加入論文作者署名排序,采用第1作者與論文直接關(guān)聯(lián),除第1作者外的作者與第1作者形成workwith關(guān)聯(lián)關(guān)系,如圖4所示.這降低了關(guān)聯(lián)關(guān)系密度,同時(shí)提高了主要貢獻(xiàn)者地位,有利于形成模塊度較高的社區(qū).
2)實(shí)體關(guān)系創(chuàng)建過程中,如果以作者全名為唯一標(biāo)識(shí)會(huì)導(dǎo)致大量的重名作者錯(cuò)誤的連接到論文和機(jī)構(gòu)中,污染整個(gè)圖數(shù)據(jù)關(guān)系結(jié)構(gòu).為了解決這個(gè)難題,本文計(jì)算“作者全名”+“作者所屬全部機(jī)構(gòu)”的hash值作為唯一標(biāo)識(shí)“author_hash”來區(qū)分作者,提高作者的識(shí)別率,避免了圖數(shù)據(jù)重名關(guān)系污染.
圖4 作者署名排序?qū)嶓w關(guān)系圖Fig.4 Entity relationship diagram of author signature
本文以2000條論文數(shù)據(jù)進(jìn)行實(shí)驗(yàn),以論文作者全名進(jìn)行統(tǒng)計(jì)共得到14738位作者,以“author_hash”作為標(biāo)識(shí)共得到18191位作者,結(jié)果表明重名率高達(dá)19%,重名現(xiàn)象嚴(yán)重.優(yōu)化2)的應(yīng)用有效的解決了該問題.
3)在創(chuàng)建實(shí)體關(guān)系的過程中,需要進(jìn)行大量的屬性對比,嚴(yán)重拖慢關(guān)系創(chuàng)建速度.Neo4j提供了索引功能[15],可以針對實(shí)體或?qū)嶓w屬性建立索引,提升查詢速度.本文根據(jù)數(shù)據(jù)特點(diǎn)建立了論文、機(jī)構(gòu)、作者3個(gè)索引.
圖5 步長為200的實(shí)體關(guān)系創(chuàng)建時(shí)間對比圖Fig.5 Entity relationship creation time comparison chart with a step size of 200
本文結(jié)合以上3條優(yōu)化策略進(jìn)行了對比實(shí)驗(yàn),以2000條實(shí)驗(yàn)數(shù)據(jù)為樣本,每200條數(shù)據(jù)為間隔進(jìn)行一次時(shí)間測量,實(shí)驗(yàn)結(jié)果如圖5所示.結(jié)果表明數(shù)據(jù)插入性能顯著提升(最高性能提升高達(dá)16倍),且隨著數(shù)據(jù)量的增加,性能差距會(huì)進(jìn)一步拉大.
Louvain算法可通過關(guān)系權(quán)重(weight)調(diào)優(yōu)提高實(shí)體間關(guān)聯(lián)程度的計(jì)算精度,從而更加精確的挖掘社區(qū)[15].本文在作者間建立的workwith基礎(chǔ)上添加屬性weight,共采用了3種weight計(jì)算方式,第1種如公式(4)所示.即作者間合作次數(shù)為屬性weight的值,隨著合作次數(shù)的增加,作者間親密度得到提升,屬于同一社區(qū)的概率增加.
weight=作者間合作次數(shù)
(4)
公式(4)的weight計(jì)算方式過于簡單化,沒有多角度反映作者間關(guān)聯(lián)程度,例如作者間合作強(qiáng)度、不同權(quán)威作者彼此間影響力、作者所屬機(jī)構(gòu)關(guān)系等.故本文實(shí)驗(yàn)第2種計(jì)算方式如公式(5)所示.利用Salton方法[18,19]度量合作關(guān)系強(qiáng)度,加入合著論文數(shù)量在作者學(xué)術(shù)生涯中占比.
(5)
hi,j指作者i與作者j合著論文數(shù)量,hi指作者i發(fā)表的所有論文數(shù)量,hj指作者j發(fā)表所有論文數(shù)量[18,19].
方法2中未考慮合著作者所屬機(jī)構(gòu)關(guān)系影響,對于同一機(jī)構(gòu)內(nèi)作者,作者間合作幾率會(huì)相對較高,不同機(jī)構(gòu)作者間合作幾率會(huì)相對較小,所屬機(jī)構(gòu)不同不能同等看待.為解決該問題,本文在Salton方法基礎(chǔ)上添加了合著作者間所屬機(jī)構(gòu)影響,即第3種計(jì)算方式,如公式(6)所示.
(6)
oi,j指作者i與作者j屬于同一個(gè)機(jī)構(gòu)的數(shù)量(一個(gè)作者可能屬于多個(gè)機(jī)構(gòu)),oi指作者i所屬機(jī)構(gòu)數(shù),oj指作者j所屬機(jī)構(gòu)數(shù),k為機(jī)構(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
實(shí)驗(yàn)章節(jié)分為兩個(gè)部分,首先詳細(xì)描述了圖數(shù)據(jù)庫中實(shí)體關(guān)系創(chuàng)建及優(yōu)化過程,其中數(shù)據(jù)結(jié)構(gòu)優(yōu)化參考3.1節(jié).其次詳細(xì)描述了針對Louvain社區(qū)發(fā)現(xiàn)算法的優(yōu)化及應(yīng)用,具體算法優(yōu)化可以參考3.2節(jié).
表1 實(shí)體關(guān)系屬性表Table 1 Entity relationship attributeTable
第1部分實(shí)驗(yàn)從AF、C1、DI等WOS核心字段提取相關(guān)數(shù)據(jù),創(chuàng)建實(shí)體及實(shí)體間的關(guān)系.實(shí)體類型為Author(作者)、Paper(論文)、Org(作者所屬機(jī)構(gòu));實(shí)體屬性包含name(全名)、community(所屬社區(qū)號(hào))、author_hash(作者哈希值)等;實(shí)體間關(guān)系為belong to、write、workwith.workwith中包含屬性weight,如表1所示.最終實(shí)驗(yàn)中有論文數(shù)據(jù)60606條,作者423492位,機(jī)構(gòu)103390個(gè).其中計(jì)算機(jī)科學(xué)相關(guān)論文4199篇,作者為19200位,機(jī)構(gòu)為26232個(gè),生成workwith關(guān)系數(shù)為15799.
圖6 機(jī)構(gòu)影響系數(shù)變化圖Fig.6 Change chart of mechanism influence coefficient
第2部分實(shí)驗(yàn)是對Louvain算法的應(yīng)用,并對weight關(guān)系屬性進(jìn)行了3種方式的優(yōu)化.針對公式(6)中機(jī)構(gòu)影響系數(shù)的確定,進(jìn)行了多次實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖6所示,當(dāng)k為0.07時(shí)可得到最大模塊度.
表2 weight優(yōu)化前后模塊度變化表Table 2 Modularity changes before and after weight optimization
實(shí)驗(yàn)以3.1節(jié)1)的優(yōu)化為基礎(chǔ),對weight 3種不同計(jì)算方式進(jìn)行了模塊度對比,如表2所示.實(shí)驗(yàn)結(jié)果顯示優(yōu)化后模塊度從0.5提升至0.9;在k為0.07且加入機(jī)構(gòu)影響維度情況下模塊度達(dá)到最優(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
最終實(shí)驗(yàn)共得到5005個(gè)社區(qū),前10社區(qū)分布如表3所示.社區(qū)分布示意實(shí)例圖如圖7所示,其中大節(jié)點(diǎn)為論文,中節(jié)點(diǎn)為機(jī)構(gòu),小節(jié)點(diǎn)為作者.本文在挖掘出的科研社區(qū)基礎(chǔ)上,利用PageRank算法對社區(qū)中權(quán)威優(yōu)秀人才進(jìn)行了挖掘,并計(jì)算出了每個(gè)作者的權(quán)威分?jǐn)?shù),最終篩選出科研高產(chǎn)出人才,如表4所示,其中前3名分別為“Yan,Zheng”、“Du,Jun”、“Ma,Wenping”.優(yōu)秀科研人才的挖掘?qū)椭蒲袑W(xué)者或?qū)<伊私饪蒲泻献餍袨榧昂献麝P(guān)系,并提供科研合作選擇依據(jù),從而促進(jìn)科研工作快速發(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ù)進(jìn)行了多角度分析,首先利用數(shù)據(jù)計(jì)量分析得出應(yīng)用科學(xué)為當(dāng)前熱點(diǎn)學(xué)科,計(jì)算機(jī)科學(xué)為學(xué)術(shù)界的研究熱點(diǎn).其次在研究熱點(diǎn)基礎(chǔ)上,利用Neo4j圖數(shù)據(jù)庫構(gòu)建論文語義網(wǎng)絡(luò)圖,應(yīng)用Louvain社區(qū)發(fā)現(xiàn)算法對科研社區(qū)進(jìn)行挖掘,并針對關(guān)系屬性weight的計(jì)算方式進(jìn)行優(yōu)化,進(jìn)而提升了社區(qū)內(nèi)部關(guān)聯(lián)度.實(shí)驗(yàn)結(jié)果顯示優(yōu)化效果明顯,模塊度高達(dá)0.9916.最后以挖掘出的社區(qū)為基礎(chǔ),利用PageRank算法發(fā)現(xiàn)合著網(wǎng)絡(luò)中的權(quán)威學(xué)者,了解其科研合作行為與合作關(guān)系,為科研學(xué)者與專家提供合作選擇依據(jù).
同時(shí),本文研究工作還存在一些不足:如Louvain算法挖掘出的社區(qū)過大,人員和機(jī)構(gòu)過多,后續(xù)將對社區(qū)進(jìn)行二次挖掘.其次分析維度還不夠全面,后續(xù)實(shí)驗(yàn)將加入基金專利數(shù)據(jù),近一步提高數(shù)據(jù)分析精確度.除此,在下一步實(shí)驗(yàn)中將加入spark平臺(tái),通過機(jī)器學(xué)習(xí)算法構(gòu)建模型,對潛在優(yōu)秀人才進(jìn)行挖掘,從而為國家人才培養(yǎng)提供參考性意見.