于林峰 譚率 盧鋒妮 黃雪嬌 秦振華
關(guān)鍵詞: 學(xué)術(shù)論文;論文元數(shù)據(jù);主題查詢;合著關(guān)系;引用關(guān)系
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2023)12-0074-04
1 引言
信息技術(shù)的飛速發(fā)展給人們生活帶來了巨大便利,同時(shí)也對(duì)海量信息的有效管理和檢索帶來了新的挑戰(zhàn)。學(xué)術(shù)論文的查閱和調(diào)研是廣大科研人員的一項(xiàng)基本工作。然而,大規(guī)模的學(xué)術(shù)論文數(shù)據(jù)雖然給科研人員提供了豐富的檢索資源,但也為論文信息的高效獲取提出了新的需求。
目前,一些面向?qū)W術(shù)論文的搜索引擎(如百度學(xué)術(shù)、谷歌學(xué)術(shù)、知網(wǎng)等)的主要作用集中在為用戶檢索符合輸入條件的論文資源,但是它們?nèi)鄙俑顚哟蔚臋z索服務(wù)。例如,通過論文引用關(guān)系分析可以評(píng)估論文的影響力,易于對(duì)相關(guān)技術(shù)進(jìn)行溯源[1];通過分析作者合著關(guān)系可以了解特定領(lǐng)域內(nèi)科研團(tuán)體的構(gòu)成和特征,促進(jìn)未來研究團(tuán)體間的跨界合作[2]。這些信息也是科研工作者針對(duì)特定學(xué)術(shù)領(lǐng)域和技術(shù)進(jìn)行調(diào)研分析的重要依據(jù)。
針對(duì)現(xiàn)有學(xué)術(shù)搜索引擎的不足,本文聚焦于面向大規(guī)模學(xué)術(shù)論文元數(shù)據(jù)的查詢和分析可視化需求,設(shè)計(jì)并實(shí)現(xiàn)一個(gè)大規(guī)模學(xué)術(shù)論文元數(shù)據(jù)的管理系統(tǒng),致力于提供科研人員高效、多維度和多角度獲取論文信息的功能,提高論文檢索的效果和效率。本文所設(shè)計(jì)的系統(tǒng)功能具體包括:1) 自動(dòng)獲取多源大規(guī)模學(xué)術(shù)論文的元數(shù)據(jù);2) 支持海量學(xué)術(shù)論文元數(shù)據(jù)的高效管理;3) 提供基于主題語義的論文信息查詢功能,解決傳統(tǒng)關(guān)鍵字查詢導(dǎo)致檢索結(jié)果不準(zhǔn)確和不全面的缺陷;4) 構(gòu)建論文引用關(guān)系圖和作者合著關(guān)系圖,實(shí)現(xiàn)基于圖結(jié)構(gòu)的檢索和可視化展示。
2 大規(guī)模學(xué)術(shù)論文元數(shù)據(jù)管理系統(tǒng)的設(shè)計(jì)
2.1 學(xué)術(shù)論文元數(shù)據(jù)的管理流程
學(xué)術(shù)論文的元數(shù)據(jù)的來源主要有兩個(gè)途徑:
1) 從在線學(xué)術(shù)網(wǎng)站上爬取論文的信息;2) 現(xiàn)有已構(gòu)建好的公開論文數(shù)據(jù)集。這些論文的信息經(jīng)過解析后組織成結(jié)構(gòu)化的論文元數(shù)據(jù),對(duì)論文摘要進(jìn)行主題識(shí)別并構(gòu)建倒排索引。另一方面,分別利用無向圖和有向圖對(duì)論文元數(shù)據(jù)中的作者合著關(guān)系和論文引用關(guān)系建模,并將這兩類圖存儲(chǔ)到圖數(shù)據(jù)庫中。當(dāng)用戶根據(jù)主題的語義進(jìn)行查詢時(shí),首先識(shí)別用戶輸入字符串的主題信息,并在倒排索引基礎(chǔ)上檢索出主題相關(guān)的論文列表,然后從主題語義的相似度、被引用情況和作者情況等角度綜合評(píng)估列表中論文的重要性,最后據(jù)此進(jìn)行論文結(jié)果的排序和展示。圖1描述了論文元數(shù)據(jù)從數(shù)據(jù)獲取到查詢檢索整個(gè)流程。
2.2 系統(tǒng)的體系結(jié)構(gòu)系統(tǒng)的結(jié)構(gòu)
按照功能可劃分為服務(wù)交互層、服務(wù)處理層、存儲(chǔ)層三個(gè)層次,如圖2所示。
在服務(wù)交互層中,前端采用Node.js 環(huán)境,使用Vue前端框架,NPM包管理工具,WebPack打包工具和WebSocket技術(shù),給用戶展示關(guān)系查詢和可視化的界面;使用Nginx Web服務(wù)器支持用戶訪問;采用satoken權(quán)限認(rèn)證框架進(jìn)行用戶鑒權(quán)。
服務(wù)處理層主要負(fù)責(zé)處理論文搜索、作者合著關(guān)系查詢、論文引用關(guān)系查詢等操作;還可以使用批量數(shù)據(jù)導(dǎo)入、數(shù)據(jù)解析與構(gòu)建服務(wù)來維護(hù)系統(tǒng)中的論文元數(shù)據(jù)。此外,從論文相關(guān)網(wǎng)站爬取的論文元數(shù)據(jù)也在本層加工后為系統(tǒng)運(yùn)行提供數(shù)據(jù)基礎(chǔ)。
存儲(chǔ)層負(fù)責(zé)系統(tǒng)中論文元數(shù)據(jù)的組織、存儲(chǔ)和管理。用戶數(shù)據(jù)存儲(chǔ)在MySQL關(guān)系型數(shù)據(jù)庫中,論文引用關(guān)系、作者合著關(guān)系等關(guān)系圖則采用Neo4j圖數(shù)據(jù)庫存儲(chǔ),論文元數(shù)據(jù)和主題通過倒排索引為論文元數(shù)據(jù)查詢服務(wù)提供快速的檢索支持。
2.3 系統(tǒng)核心功能的算法設(shè)計(jì)
1) 超越關(guān)鍵字匹配的主題語義查詢
傳統(tǒng)基于關(guān)鍵字匹配的檢索方法不能體現(xiàn)查詢字符串和查詢結(jié)果之間的語義關(guān)系,降低了論文檢索的準(zhǔn)確度。本系統(tǒng)針對(duì)基于關(guān)鍵字匹配的查詢方法的不足,重點(diǎn)關(guān)注整合論文內(nèi)容和領(lǐng)域語義相關(guān)的論文查詢方法,并在查詢結(jié)果中同時(shí)體現(xiàn)論文相關(guān)性和用戶偏好,以解決傳統(tǒng)查詢方法的缺陷。除支持傳統(tǒng)輸入若干個(gè)關(guān)鍵字的模式外,系統(tǒng)還允許用戶輸入一串較長的字符串(如論文的摘要等),從而能夠更準(zhǔn)確和更全面地描述用戶的查詢意圖?;谟脩糨斎氲牟樵冏址?,算法1描述了系統(tǒng)中基于主題語義的查詢算法。
在算法1中,首先對(duì)論文列表進(jìn)行初始化(第1行),并利用文檔主題生成模型LDA (Latent DirichletAllocation)[3]來識(shí)別輸入字符串潛藏的主題信息(第2行)。然后,基于識(shí)別出的主題信息,通過預(yù)先構(gòu)建的倒排索引快速檢索出系統(tǒng)中包含這些主題的論文列表(第3行)。接著,利用余弦相似度計(jì)算論文列表中每篇文章與輸入字符串的語義相似度(第5行):
其中str(i)和p(i)分別是輸入字符串str和論文p 的第i維分量,α、β 和γ 是三個(gè)可調(diào)節(jié)的權(quán)重參數(shù)??紤]到論文被引用次數(shù)c 和作者發(fā)表論文的數(shù)量n 也能反映論文的重要性,因此通過三個(gè)權(quán)重參數(shù)(α、β 和γ) 將它們與語義相似度結(jié)合起來評(píng)估論文p 的重要性程度(第8行)。最后,根據(jù)論文的重要性指數(shù)對(duì)論文列表L中的論文進(jìn)行排序(第10行)。
2) 作者合著關(guān)系的構(gòu)建與查詢
論文合著是科學(xué)合作的一種普遍形式,它與論文的影響力存在著緊密的聯(lián)系[4],同時(shí)也是科研人員了解相關(guān)研究領(lǐng)域的一個(gè)重要途徑。為此,系統(tǒng)根據(jù)論文元數(shù)據(jù)中的信息,對(duì)大規(guī)模的作者合著關(guān)系進(jìn)行提取、整合和建模,并利用圖數(shù)據(jù)庫有效地存儲(chǔ)這類數(shù)據(jù)。在本系統(tǒng)中,將作者視為無向圖中的結(jié)點(diǎn),合著關(guān)系視為結(jié)點(diǎn)之間的邊,并自動(dòng)維護(hù)作者間的合著關(guān)系。這種關(guān)系構(gòu)建的過程如算法2所示。
本系統(tǒng)使用圖數(shù)據(jù)庫Neo4j(https://neo4j.com) 對(duì)相關(guān)的圖數(shù)據(jù)進(jìn)行管理,并利用聲明式圖數(shù)據(jù)庫查詢語言Cypher進(jìn)行圖數(shù)據(jù)的檢索。首先,在解析獲取每篇論文的所有作者信息后(第2行),由于這些作者間存在合著關(guān)系,因此從這些作者中任意組合兩個(gè)創(chuàng)建一條代表合著關(guān)系的邊(第3行)。接著,對(duì)每個(gè)新生成的合著關(guān)系,查詢現(xiàn)有圖中是否存在當(dāng)前合著關(guān)系中的作者,如果沒有,則增加相應(yīng)的結(jié)點(diǎn)(第5、6行)。最后,如果描述當(dāng)前合著關(guān)系的邊不存在于圖中,則在兩個(gè)相應(yīng)結(jié)點(diǎn)間增加一條邊(第7 行)。在實(shí)際的應(yīng)用中,可以根據(jù)需求考慮是否為圖中的邊賦予權(quán)重,權(quán)重高則表示對(duì)應(yīng)兩個(gè)作者合著的次數(shù)更多,從而描述作者間合作關(guān)系的緊密程度。
3) 論文引用關(guān)系的構(gòu)建與查詢
學(xué)術(shù)論文之間并不是孤立存在的,一篇學(xué)術(shù)論文通常建立在多篇論文研究的基礎(chǔ)上,這種關(guān)聯(lián)通常通過論文間的引用關(guān)系來體現(xiàn)[5]。因此,學(xué)術(shù)論文間的引用關(guān)系是學(xué)術(shù)研究中的普遍需要。它一方面能夠?yàn)閷W(xué)術(shù)論文提供最佳論據(jù)并得以開展學(xué)術(shù)論證,另一方面方便讀者了解相關(guān)技術(shù)并進(jìn)行技術(shù)溯源。此外,論文間的引用關(guān)系隱含著論文重要程度的信息。例如,當(dāng)一篇論文被大量相同領(lǐng)域的其他論文引用時(shí),這意味著這篇論文是該領(lǐng)域的一篇重要文獻(xiàn)。因此,本系統(tǒng)將論文的引用關(guān)系視作一項(xiàng)重要的信息并進(jìn)行維護(hù)和查詢。
論文之間的引用關(guān)系是一種天然的圖結(jié)構(gòu)信息,本系統(tǒng)使用有向圖對(duì)這種關(guān)系進(jìn)行建模:將論文視為圖中的結(jié)點(diǎn),如果論文A引用了論文B,則在從A引出一條有向弧指向B。由此可以得到一個(gè)描述論文引用關(guān)系的有向無環(huán)圖。該圖的構(gòu)建和查詢與作者合著關(guān)系圖的構(gòu)建和查詢算法類似,鑒于篇幅,此處不再詳述。
3 系統(tǒng)實(shí)現(xiàn)
圖3展示了將“network security”作為關(guān)鍵字查詢輸入后返回的查詢結(jié)果。在該頁面的左邊區(qū)域,用戶可以設(shè)定時(shí)間年限來限制相應(yīng)的內(nèi)容;在輸入框中,用戶還可以將論文的摘要作為輸入字符串,通過系統(tǒng)對(duì)輸入字符串進(jìn)行主題識(shí)別能更準(zhǔn)確地理解用戶的查詢意圖,返回更準(zhǔn)確地檢索結(jié)果。
對(duì)于作者合著關(guān)系查詢,本文以名為“Webpageunderstanding: beyond page-level search”的論文為例,其作者的合著關(guān)系如圖4所示。由圖中的結(jié)果可以看出來,該查詢結(jié)果明顯地描述了不同的學(xué)術(shù)合作團(tuán)體。
圖5展示了上例論文的引用關(guān)系,為了使展示的結(jié)果簡潔,我們?cè)诓樵冎邢薅ㄒ藐P(guān)系為兩層。該結(jié)果可以直觀地體現(xiàn)不同論文之間的引用關(guān)系,方便用戶進(jìn)行技術(shù)的追蹤和調(diào)研。
4 結(jié)論
本文從廣大科研工作者對(duì)海量學(xué)術(shù)論文進(jìn)行快速、準(zhǔn)確和全面的檢索需求出發(fā),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)面向大規(guī)模學(xué)術(shù)論文元數(shù)據(jù)的管理系統(tǒng)。該系統(tǒng)根據(jù)輸入字符串的語義表示,檢索出語義相似且重要性高的論文結(jié)果,避免了傳統(tǒng)學(xué)術(shù)論文搜索引擎中采用關(guān)鍵字匹配時(shí)面臨的查詢結(jié)果不準(zhǔn)確和不全面的問題。同時(shí),鑒于科學(xué)研究中作者合著關(guān)系和論文引用關(guān)系的重要性,系統(tǒng)中將這兩種關(guān)系分別建模成無向圖和有向圖,并采用圖數(shù)據(jù)庫對(duì)這類數(shù)據(jù)進(jìn)行有效的管理,通過圖形化的方式向用戶提供直觀的關(guān)系查詢結(jié)果。該系統(tǒng)的實(shí)現(xiàn),能夠?yàn)楹A空撐脑獢?shù)據(jù)的管理和查詢提供便利,更好地滿足廣大科研工作者對(duì)論文的高質(zhì)量檢索需求。