全錦琪, 傅洛伊, 甘小鶯, 王新兵
(上海交通大學(xué) 電子信息與電氣工程學(xué)院, 上海 200240)
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,大量學(xué)術(shù)論文以電子文檔的方式保存在各出版社的電子數(shù)據(jù)庫(kù)中,如ACM電子數(shù)據(jù)庫(kù)(DL)、IEEE DL、Springer數(shù)據(jù)庫(kù)等.為了方便研究人員對(duì)不同數(shù)據(jù)庫(kù)中的論文進(jìn)行統(tǒng)一檢索,很多學(xué)術(shù)搜索引擎也隨之產(chǎn)生,如谷歌學(xué)術(shù)、微軟學(xué)術(shù)、DBLP、Acemap等.通過(guò)這些學(xué)術(shù)搜索引擎,研究人員可以快速精準(zhǔn)地檢索出自己想要的論文,不僅可以通過(guò)標(biāo)題進(jìn)行精確檢索,也可通過(guò)關(guān)鍵詞進(jìn)行模糊檢索,還可以按照學(xué)者姓名檢索出該學(xué)者發(fā)表的所有論文.
然而,由于許多學(xué)者可能擁有完全一樣的名字,即學(xué)者的名字具有歧義性,給學(xué)術(shù)搜索引擎在數(shù)據(jù)整合及檢索上帶來(lái)很大的困擾.在學(xué)術(shù)論文數(shù)據(jù)整合過(guò)程中,若不能很好地對(duì)同名學(xué)者進(jìn)行區(qū)分的話(huà),那么當(dāng)用戶(hù)想檢索某一位學(xué)者發(fā)表的所有論文時(shí),往往得不到精確的結(jié)果.另外,目前也有許多研究人員從事針對(duì)學(xué)者的數(shù)據(jù)挖掘研究,例如學(xué)者師承關(guān)系挖掘、學(xué)者未來(lái)影響力預(yù)測(cè)等.這些研究都需要以能夠精準(zhǔn)獲得某位學(xué)者發(fā)表過(guò)的所有論文為前提.因此,對(duì)同名學(xué)者的區(qū)分具有很重要的研究意義.
目前,已有許多國(guó)內(nèi)外的研究人員對(duì)學(xué)者同名區(qū)分問(wèn)題展開(kāi)了研究.Yin等[1]提出了同名區(qū)分框架DISTINCT,該框架結(jié)合Jaccard系數(shù)及隨機(jī)游走來(lái)計(jì)算集合的相似度,利用支持向量機(jī)(SVM)訓(xùn)練出各特征的權(quán)重,再進(jìn)行層次聚類(lèi).Tang等[2]提出一種基于隱馬爾科夫隨機(jī)場(chǎng)的模型,模型每次迭代分配標(biāo)簽,尋找出最大化后驗(yàn)概率的分配方案.Fan等[3]提出了基于圖論的GHOST框架,該框架首先取得兩點(diǎn)間k跳內(nèi)的所有簡(jiǎn)單路徑,然后按照規(guī)則剔除無(wú)效邊,再采用仿射傳播算法進(jìn)行聚類(lèi).另外,網(wǎng)絡(luò)嵌入(Network Embedding)[4]研究領(lǐng)域近年來(lái)備受關(guān)注,學(xué)者們相繼提出了DeepWalk[5]、LINE[6]和node2Vec[7]算法.Zhang等[8]將Network Embedding的思想用于同名區(qū)分,通過(guò)最大化有邊相連的節(jié)點(diǎn)間的向量?jī)?nèi)積訓(xùn)練出論文的向量化表示,再采用K-Means算法進(jìn)行聚類(lèi).
盡管目前已存在一些針對(duì)學(xué)者同名區(qū)分的研究成果,但對(duì)非常大眾化的學(xué)者名(如Wei Wang),特別是在同一個(gè)機(jī)構(gòu)存在多個(gè)同名不同人的學(xué)者,或是同名不同人的學(xué)者在同一會(huì)議發(fā)表過(guò)文章等復(fù)雜情況下,現(xiàn)有方法不能很好地進(jìn)行同名區(qū)分,會(huì)造成精準(zhǔn)率偏高但召回率偏低,或是召回率偏高但精準(zhǔn)率偏低等問(wèn)題.本文提出基于網(wǎng)絡(luò)最大流的同名區(qū)分(MFND)算法,能夠有效地降低不同學(xué)者實(shí)體之間的共享特征(機(jī)構(gòu)、發(fā)表會(huì)議等)給同名區(qū)分帶來(lái)的影響,從而達(dá)到更好的同名區(qū)分效果.
本文研究的是如何解決學(xué)者同名的區(qū)分問(wèn)題.學(xué)者同名區(qū)分指的是對(duì)包含同一個(gè)學(xué)者人名的論文進(jìn)行區(qū)分,根據(jù)人名指代的真實(shí)實(shí)體不同將論文集合劃分成若干子集合.形式上,即給定一個(gè)學(xué)者人名,以及作者列表中包含該人名的論文集合P={P1,P2,…,PI},求P的劃分方式Dk={D1,D2,…,DK},使得P為同名但不同人的真實(shí)學(xué)者實(shí)體所發(fā)表的論文集合.某作者與論文關(guān)系圖示例如圖1所示.其中,A1、A2、A3是同名不同人的3位真實(shí)作者.
圖1 作者與論文關(guān)系圖Fig.1 The relationship between authors and papers
圖1中Pi(i=1,2,…,10)與Am(m=1,2,3)的對(duì)應(yīng)關(guān)系是真實(shí)正確的.然而在進(jìn)行同名區(qū)分之前,無(wú)法得知有多少個(gè)同名的作者實(shí)體Am,更無(wú)法知道Pi與Am的真實(shí)對(duì)應(yīng)關(guān)系,故圖中采用虛線(xiàn)表示.那么,同名區(qū)分的目標(biāo)在于將論文節(jié)點(diǎn)Pi進(jìn)行聚類(lèi),使得同一位作者所寫(xiě)的論文盡可能地聚到同一類(lèi)中,每一類(lèi)代表一個(gè)真實(shí)作者實(shí)體Am所寫(xiě)的論文集合.
首先,可以把同名區(qū)分問(wèn)題轉(zhuǎn)化為異構(gòu)網(wǎng)絡(luò)圖[9]中的聚類(lèi)問(wèn)題.異構(gòu)網(wǎng)絡(luò)圖即為擁有多種不同類(lèi)型節(jié)點(diǎn)和邊的網(wǎng)絡(luò)圖.若將待區(qū)分的學(xué)者名字對(duì)應(yīng)的所有論文,以及論文的合作者、所屬機(jī)構(gòu)等特征提取出來(lái)融合在同一網(wǎng)絡(luò)中,可形成一張異構(gòu)網(wǎng)絡(luò)圖.例如,將圖1中的論文及其特征融入一張圖中,可形成如圖2所示的異構(gòu)網(wǎng)絡(luò)圖.其中:Cq(q=1,2,3,4)表示合作者;Op(p=1,2,3)表示機(jī)構(gòu);Vr(r=1,2,3)表示論文發(fā)表所在的會(huì)議/期刊.在真實(shí)的聚類(lèi)情況中,(P1,P2,P3,P4,P5),(P6,P7,P8),(P9,P10)分別同屬于一個(gè)類(lèi).而同名區(qū)分的目標(biāo)在于,在不知道真實(shí)類(lèi)的情況下,如何將論文節(jié)點(diǎn)Pi進(jìn)行聚類(lèi).
圖2 學(xué)術(shù)異構(gòu)網(wǎng)絡(luò)關(guān)系圖Fig.2 Academic heterogeneous relationship network
聚類(lèi)的關(guān)鍵之一在于如何計(jì)算Pi和Pj的相似度sim(Pi,Pj).由圖2可知,P3-P5和P9-P10都擁有一個(gè)共同特征O2.而這種不同真實(shí)類(lèi)之間共享的特征,會(huì)給相似度的計(jì)算帶來(lái)很大的困擾.例如,若采用隨機(jī)游走的方式,則從源節(jié)點(diǎn)到目的節(jié)點(diǎn)產(chǎn)生的隨機(jī)游走路徑越多,兩節(jié)點(diǎn)間的相似度就越高.從P4出發(fā),可產(chǎn)生許多隨機(jī)游走路徑到達(dá)P2,同樣也可以產(chǎn)生幾乎等量多的路徑到達(dá)P9(見(jiàn)圖2).這就導(dǎo)致基于隨機(jī)游走的相似度計(jì)算方式無(wú)法很好地區(qū)分開(kāi)sim(P4,P2)和sim(P4,P9)的大小差異.
基于此觀(guān)察,采用基于網(wǎng)絡(luò)最大流的方式計(jì)算相似度,可降低不同真實(shí)類(lèi)之間的共享特征帶來(lái)的影響.具體而言,為了避免特征節(jié)點(diǎn)(Cq/Op/Vr)被重復(fù)用于提高相似度,給每個(gè)特征節(jié)點(diǎn)設(shè)定容量(初始化容量均為1,后續(xù)步驟會(huì)采取策略更新),再計(jì)算論文節(jié)點(diǎn)Pi兩兩之間的最大流量.例如在圖2中,特征節(jié)點(diǎn)設(shè)定容量為1后,可通過(guò)計(jì)算獲得P4-P2的最大流量為2,而P4-P9的最大流量為1,兩者具有較明顯的大小差異.
采用基于網(wǎng)絡(luò)最大流的方式計(jì)算相似度,需計(jì)算論文節(jié)點(diǎn)Pi兩兩之間的最大流.而常用的最大流算法,如Edmonds-Karp[10]等算法,僅用于邊有容量的網(wǎng)絡(luò).因此,需要將節(jié)點(diǎn)容量轉(zhuǎn)換成邊容量.將所有帶有容量限制的特征節(jié)點(diǎn)Xs(Cq/Op/Vr),拆分成Xs_in和Xs_out兩個(gè)節(jié)點(diǎn),并添加有向邊(Xs_in,Xs_out),使邊容量c(Xs_in,Xs_out)等于原始節(jié)點(diǎn)容量c(Xs).對(duì)于原本與Xs相連的每個(gè)論文節(jié)點(diǎn)Pi,添加(Pi,Xs_in)和(Xs_out,Pi)兩條有向邊.將圖2中的C2節(jié)點(diǎn)展開(kāi)為如圖3所示的形式.
圖3 節(jié)點(diǎn)容量轉(zhuǎn)化為邊容量示意圖Fig.3 Diagram of changing vertex capacity to edge capacity
雖然將節(jié)點(diǎn)容量轉(zhuǎn)換成邊容量后,整個(gè)網(wǎng)絡(luò)從無(wú)向圖變成了有向圖,但只從Pi節(jié)點(diǎn)來(lái)看,整個(gè)網(wǎng)絡(luò)圖依然是對(duì)稱(chēng)的,即Pi到Pj的最大流等于Pj到Pi的最大流.因此,可采用Gomory-Hu算法[11]計(jì)算所有Pi節(jié)點(diǎn)對(duì)的最大流.
若是每?jī)蓚€(gè)節(jié)點(diǎn)都計(jì)算1遍最大流,則需要計(jì)算I(I-1)/2次最大流.而Gomory-Hu算法通過(guò)求解Gomory-Hu 樹(shù)就可以獲得所有節(jié)點(diǎn)對(duì)之間的最大流,只需要計(jì)算I-1次最大流,大大地降低了時(shí)間復(fù)雜度.Gusfield[12]提出了一種更容易實(shí)現(xiàn)的 Gomory-Hu樹(shù)求解方式.基于文獻(xiàn)[12] 的算法思想,計(jì)算所有論文節(jié)點(diǎn)對(duì)的最大流.具體算法如下.
算法1求解所有論文節(jié)點(diǎn)對(duì)的最大流
輸入G(V,E),論文節(jié)點(diǎn)集合Pi∥G為一個(gè)圖;V為圖G中的頂點(diǎn)集合;E為圖G的中邊集合
輸出論文節(jié)點(diǎn)兩兩之間的最大流
(1) Initial Visited←{}
(2)r←rand(P) ∥隨機(jī)選取一個(gè)論文節(jié)點(diǎn)設(shè)為星型樹(shù)的中心r
(3) for eachi∈P-{r} do
(4) Tree[i]←r∥將其他論文節(jié)點(diǎn)與r相連
(5) for eachi∈P-{r} do ∥論文節(jié)點(diǎn)i為源節(jié)點(diǎn)
(6)j←Tree[i] ∥j為在星型樹(shù)中與論文節(jié)點(diǎn)i相鄰的節(jié)點(diǎn),并將j作為目的節(jié)點(diǎn)
(7) cut, partition←MinimumCut(i,j) ∥計(jì)算最小割cut及割集partition
(8) Flows[i,j]←cut, Flows[j,i]←cut ∥記錄論文節(jié)點(diǎn)i與j之間的最大流
(9) for eachkin the same partition asido ∥對(duì)于與論文節(jié)點(diǎn)i在同一割集的每個(gè)節(jié)點(diǎn)k
(10) ifk∈Pandk?Visited and Tree[k]=j∥若k是未訪(fǎng)問(wèn)過(guò)的論文節(jié)點(diǎn)且與j相連
(11) Tree[k]←i∥在星型樹(shù)中將k與論文節(jié)點(diǎn)i相連
(12) for eachm∈Visited-{j} do
(13) if cut < Flows[i,m]
(14) Flows[i,m]←cut, Flows[m,i]←cut
(15) Visited←Visited∪i∥論文節(jié)點(diǎn)i標(biāo)為已訪(fǎng)問(wèn)
(16) return Flows
為了更進(jìn)一步限制不同真實(shí)類(lèi)之間的共享特征(見(jiàn)圖2中的O2和V2)帶來(lái)的影響,可以為不同特征節(jié)點(diǎn)賦予不同的容量.直觀(guān)來(lái)看,若一個(gè)特征節(jié)點(diǎn)被越多越大的真實(shí)類(lèi)所共享,其容量應(yīng)該越小.基于此想法,所設(shè)計(jì)的容量更新策略為:在得到基于初始化容量(均為1)的兩兩論文節(jié)點(diǎn)間的最大流后,計(jì)算特征節(jié)點(diǎn)的所有鄰居可組成多少個(gè)內(nèi)部(兩兩節(jié)點(diǎn)之間)流量大于1的連通子圖.將連通子圖內(nèi)的節(jié)點(diǎn)個(gè)數(shù)記錄為Sl,將所有l(wèi)個(gè)連通子圖內(nèi)的節(jié)點(diǎn)個(gè)數(shù)s記錄為序列[Sl],再基于序列[Sl]按照下式進(jìn)行容量更新:
(1)
例如在圖2中,O2的鄰居有P3,P4,P5,P9,P10.經(jīng)過(guò)初始化容量1的最大流計(jì)算之后,這些鄰居可組成(P1,P2,P3,P4,P5),(P9,P10)兩個(gè)內(nèi)部流量大于1的連通子圖,則[Sl]序列為[3,2].根據(jù)式(1),O2的容量將被更新為 0.069 7.同樣,O3的容量將被更新為0.25,遠(yuǎn)大于O2的容量.下面給出更新特征節(jié)點(diǎn)容量的具體算法描述.
算法2更新特征節(jié)點(diǎn)容量
輸入G(V,E),特征節(jié)點(diǎn)x, 論文節(jié)點(diǎn)間的最大流Flows
輸出更新后的特征節(jié)點(diǎn)容量
(1) Initial Visited←{}, cap←1
(2)Z←neighbors(x) ∥獲取節(jié)點(diǎn)i的鄰居集合
(3) for eachz∈Zdo
(4) ifz?Visited
(5)s←1, Visited←Visited∪z
(6) for eachy∈V-Visited do
(7) if Flows[z,y]>1
(8)s←s+1
(9) cap←cap/[2+lb(1+s)]
(10) return cap
在獲得論文節(jié)點(diǎn)間的最大流后,可將最大流量作為節(jié)點(diǎn)相似度進(jìn)行層次聚類(lèi)(HAC)[13].將每個(gè)論文節(jié)點(diǎn)當(dāng)成不同的單個(gè)類(lèi)簇,然后重復(fù)合并相似度最高的兩個(gè)類(lèi)簇.基于節(jié)點(diǎn)間的相似度衡量類(lèi)簇間的相似度有單連接(SL)、全連接(CL)以及平連接(AL)3種方式,分別是將兩個(gè)類(lèi)簇的相似度定義為兩個(gè)類(lèi)簇中節(jié)點(diǎn)間相似度的最大值、最小值和平均值.
由于采用最大流量作為相似度的衡量方式,兩個(gè)類(lèi)簇之間的最大、最小和平均節(jié)點(diǎn)間最大流均相等,即采用SL、CL、AL 3種方式均等價(jià).因此,本文采用易于實(shí)現(xiàn)且時(shí)間復(fù)雜度更低的SL方式,每次合并相似度最大的兩個(gè)論文節(jié)點(diǎn)所在的類(lèi)簇,直到類(lèi)簇的數(shù)量小于等于用戶(hù)設(shè)定的聚類(lèi)個(gè)數(shù)(K),合并結(jié)束后每個(gè)類(lèi)簇就代表一個(gè)同名不同人的真實(shí)學(xué)者所發(fā)表的論文集合.在實(shí)驗(yàn)中將采用真實(shí)數(shù)據(jù)中的同名不同人的作者數(shù)作為聚類(lèi)個(gè)數(shù).
綜上所述,下面給出MFND算法的步驟總結(jié).
(1) 提取論文特征,將特征節(jié)點(diǎn)與論文節(jié)點(diǎn)融合成一張網(wǎng)絡(luò)關(guān)系圖;
(2) 為每個(gè)特征節(jié)點(diǎn)設(shè)定初始化容量(均為1);
(3) 根據(jù)算法1計(jì)算論文節(jié)點(diǎn)兩兩之間的最大流量;
(4) 根據(jù)算法2更新特征節(jié)點(diǎn)容量,并再一次計(jì)算論文節(jié)點(diǎn)間的最大流量;
(5) 根據(jù)最大流量對(duì)論文節(jié)點(diǎn)進(jìn)行層次聚類(lèi).
由于同名區(qū)分解決的是論文與真實(shí)作者之間的匹配問(wèn)題,為了驗(yàn)證該算法的有效性,需要論文與作者真實(shí)匹配的數(shù)據(jù)集.此前,Aminer發(fā)布了一個(gè)同名區(qū)分?jǐn)?shù)據(jù)集[2],包含論文與作者的真實(shí)匹配關(guān)系.由于該數(shù)據(jù)集中機(jī)構(gòu)名與會(huì)議/期刊名未歸一化,所以通過(guò)將其中的論文標(biāo)題和作者名與MAG(Microsoft Academic Graph)[14]進(jìn)行匹配來(lái)構(gòu)造一個(gè)新的數(shù)據(jù)集,即采用Aminer數(shù)據(jù)集所提供的論文與作者的匹配關(guān)系,而論文特征則用MAG所提供的特征.選取匹配后的10個(gè)對(duì)應(yīng)文章數(shù)最多的作者姓名進(jìn)行實(shí)驗(yàn),統(tǒng)計(jì)數(shù)據(jù)如表1所示.
表1 數(shù)據(jù)集統(tǒng)計(jì)數(shù)據(jù)Tab.1 The statistics of dataset
實(shí)驗(yàn)采用PairwisePrecision,PairwiseRecall和PairwiseF1作為評(píng)價(jià)指標(biāo),
PairwisePrecision=TP/(TP+FP)
(2)
PairwiseRecall=TP/(TP+FN)
(3)
PairwiseF1=
(4)
式中:TP表示真實(shí)屬于同一類(lèi)且預(yù)測(cè)分配到同一類(lèi)的對(duì)數(shù);FP表示真實(shí)不屬于同一類(lèi)但預(yù)測(cè)分配到同一類(lèi)的對(duì)數(shù);FN表示真實(shí)屬于同一類(lèi)但預(yù)測(cè)分配到不同類(lèi)的對(duì)數(shù).PairwisePrecision越高代表越多同一個(gè)類(lèi)中的文章是真實(shí)屬于同一人的,PairwiseRecall越高則代表越多同一人寫(xiě)的文章聚到同一個(gè)類(lèi)中.PairwiseF1為PairwisePrecision和PairwiseRecall的調(diào)和平均數(shù),PairwiseF1越高代表綜合性能越好.
為了有效驗(yàn)證MFND算法的性能,選擇以下3種方法進(jìn)行對(duì)比.
(1) 將整個(gè)網(wǎng)絡(luò)當(dāng)成同構(gòu)網(wǎng)絡(luò),使用Node2Vec算法[7]訓(xùn)練得到節(jié)點(diǎn)的向量化表示,再分別采用Single-Link和Average-Link兩種方式的層次聚類(lèi)進(jìn)行聚類(lèi).
(2) 采用文獻(xiàn)[8]中公開(kāi)的源碼實(shí)現(xiàn).由于文獻(xiàn)[8]中只使用了合作者的特征,為了公平起見(jiàn),本文進(jìn)行了兩組對(duì)比實(shí)驗(yàn),其中一組只使用合作者特征,而另外一組則使用合作者、機(jī)構(gòu)和論文發(fā)表所在的會(huì)議/期刊3種特征.
(3) 獲取Aminer官網(wǎng)中同名區(qū)分后的論文與作者對(duì)應(yīng)關(guān)系并進(jìn)行對(duì)比.該網(wǎng)址的同名區(qū)分是根據(jù)文獻(xiàn)[2]中的算法實(shí)現(xiàn)的.
算法對(duì)比實(shí)驗(yàn)結(jié)果如表2和3所示.表2為只使用合作者特征的實(shí)驗(yàn)結(jié)果,表3為使用了合作者、機(jī)構(gòu)和論文發(fā)表所在的會(huì)議/期刊3種特征的實(shí)驗(yàn)結(jié)果.其中:“Node2Vec-SL”和“Node2Vec-AL”均表示采用Node2Vec算法,“-SL”表示采用單連接層次聚類(lèi),“-AL”表示采用平連接層次聚類(lèi);“MFND”表示所提出的完整算法;“MFND-R”表示去掉第4步驟后的算法.σ為精準(zhǔn)率;ε為召回率;F1為精確率和召回率的調(diào)和平均數(shù);AVG為平均數(shù);A2為文獻(xiàn)[2]中所提算法;A4為文獻(xiàn)[4]中所提算法.
表2 使用合作者特征的同名區(qū)分結(jié)果Tab.2 Result of name disambiguation using co-author feature
表3 使用合作者、機(jī)構(gòu)、論文發(fā)表所在的會(huì)議/期刊3種特征的同名區(qū)分結(jié)果Tab.3 Result of name disambiguation using features of co-author & organization & venue of publication
由表2可知,去掉第4步驟后的MFND-R算法與采用完整步驟的MFND算法效果相同,均要優(yōu)于其他算法,并且精準(zhǔn)率高達(dá)98.4%.這說(shuō)明“合作者”這一特征能夠很好地區(qū)分不同作者所寫(xiě)的文章,是否采用第4步驟更新容量對(duì)算法結(jié)果影響不大,但MFND-R和MFND算法的召回率偏低,說(shuō)明僅使用“合作者”這一特征很難將同一個(gè)人所寫(xiě)的文章全部聚在一起.
將表2和表3對(duì)比來(lái)看,使用3種特征的同名區(qū)分效果優(yōu)于只使用合作者一種特征.由表3可知,Node2Vec-AL、Aminer以及ZHANG的算法取得了較高的精準(zhǔn)率,但召回率較低,這說(shuō)明同一個(gè)人所寫(xiě)的文章可能分散成多個(gè)類(lèi).采用Single-Link層次聚類(lèi)的Node2Vec-SL則擁有較為均衡的精準(zhǔn)率和召回率.而MFND算法同樣在精準(zhǔn)率和召回率上較為均衡,且綜合性能更好.另外,對(duì)比MFND-R和MFND算法可以發(fā)現(xiàn),加入“機(jī)構(gòu)”和“論文發(fā)表所在的會(huì)議/期刊”特征后,采用第4步驟更新容量能夠有效提高精準(zhǔn)率,進(jìn)而提升綜合性能.
本文提出一種基于網(wǎng)絡(luò)最大流的同名區(qū)分(MFND)算法.該算法將論文及其特征(合作者、機(jī)構(gòu)等)融合成一張網(wǎng)絡(luò)圖,根據(jù)特征節(jié)點(diǎn)的被共享程度設(shè)定不同的容量,再計(jì)算論文節(jié)點(diǎn)間的最大流量,并基于最大流量進(jìn)行聚類(lèi).實(shí)驗(yàn)結(jié)果表明:與現(xiàn)有的同名區(qū)分算法相比,MFND算法在精準(zhǔn)率和召回率上有較為均衡的表現(xiàn),綜合性能更好.