高 營
(深圳大學(xué)城圖書館 廣東深圳 518055)
科技論文是科研人員研究的結(jié)晶,其被各類數(shù)據(jù)庫收錄及被引用的次數(shù)在一定程度上能反映學(xué)者的科研能力和水平,因此論文查收查引證明被廣泛應(yīng)用于職稱評定、課題申報、獎勵申報、人才選拔、科研評估以及成果鑒定等工作中[1-3]。由于其可計量以及具有相對客觀性等,查收查引服務(wù)目前仍然是高校圖書館信息檢索工作的一項重要內(nèi)容。
隨著我國科研論文數(shù)量的增加,論文收錄引用的需求隨之增加,深圳大學(xué)城圖書館(以下簡稱“我館”)近年來一直呈上升趨勢,2017年全年完成查收查引報告1 414份,檢索文獻(xiàn)30 018篇。論文查收查引服務(wù)是工作量大、重復(fù)度高的勞動,以人工為主的工作方式已難以滿足及時、高質(zhì)量的服務(wù)要求[4-6]。同時委托人一般會在項目申報截止前較短時間集中申請論文查收查引證明,導(dǎo)致同時收到大量委托,更增加了工作難度。圖書館員們從各種方面研究如何提高工作效率,目前已有許多關(guān)于手工檢索技巧、流程規(guī)范等方面的研究文獻(xiàn)[1-3,7]。中國科學(xué)技術(shù)大學(xué)樊亞芳、陳鍇等提出利用Excel的篩選功能、Endnotes Web以及EndNote、NoteExpress等文獻(xiàn)管理軟件輔助檢索,改進檢索和統(tǒng)計流程[1-2,7]。華南理工大學(xué)圖書館涂穎哲利用工具軟件進行論文查收查引,但其他引查詢?nèi)孕枰斯みM行二次檢索[8]。也有一些機構(gòu)開發(fā)了論文查收查引工具,如中國科學(xué)院系統(tǒng)[9-10]以及CALIS技術(shù)中心與北京大學(xué)圖書館聯(lián)合開發(fā)的CALIS論文收錄及引用系統(tǒng)[11]。查收查引自動化工作有較好的設(shè)計和實現(xiàn),但系統(tǒng)較為復(fù)雜,需要進行購買且每個圖書館有其各自不同的需求,有一些功能不能完全滿足。
論文查收查引工作中他引次數(shù)的查詢手工檢索步驟復(fù)雜,在整個工作中占用較多工作量。我館查收查引工作中他引次數(shù)采用的嚴(yán)格排自引,即引用文獻(xiàn)和被引用文獻(xiàn)中,只要有一個作者相同即為自引。通常情況下,論文查收查引中的去除自引論文工作是利用WOS(Web of Science)數(shù)據(jù)庫的作者分析功能及精煉檢索功能來完成的,這種方法適用于對于他人引用次數(shù)不多或者需檢索引用情況的文獻(xiàn)合作者不多時,當(dāng)用戶查詢的論文引用過多或者原論文合作者過多時,如果檢索人員仍使用精煉檢索將無法完成多合作者引用的排除[2,12],該方法工作量大且容易出錯。上述作者排除法需要對每一篇論文的被引論文列表進行一次操作,存在大量的重復(fù)勞動,工作效率低下。中國科學(xué)技術(shù)大學(xué)樊亞芳等采用EndNote、NoteExpress等文獻(xiàn)管理軟件中的檢索功能來解決這個問題,利用檢索功能在被引論文Library中查找作者含有被檢索人的論文,即可批量去除自引論文,利用Label 功能分類統(tǒng)計總他引頻次[1-2]。該方法能減少一定的勞動強度,但需要下載所有施引文獻(xiàn)。哈爾濱工業(yè)大學(xué)圖書館李莘等采用的他人引用查詢方法在當(dāng)用戶查詢的論文引用過多或者原論文合作者過多時,如果檢索人員仍使用精煉檢索將無法完成多合作者引用的排除,巧用WOS數(shù)據(jù)庫的高級檢索功能,將高級檢索功能與被引參考文獻(xiàn)檢索結(jié)合完成 SCI/SSCI/A&HCI多合作者自引的排除,檢索方式為:#1 NOT AU=(被引文章所有作者的姓名),其中#1為被引文獻(xiàn)標(biāo)題[12]。高級檢索的方法存在一個問題,如果論文作者非常多,手工編寫檢索并不是一個簡單的方法。華南理工大學(xué)圖書館涂穎哲的論文查收查引工具軟件的他引查詢過程可以軟件提取作者列表,然后在Word軟件里利用查找替換生成檢索式來進行查詢[8]。
我館采用的他引查詢方法是利用檢索式排除作者的方法,在工作中采用Word宏來輔助生成WOS平臺排除自引檢索式來輔助檢索,這種方法可以在一定程度上減少手工工作,但未減少在線檢索的步驟,仍需要花費較多的時間。
電子科技大學(xué)藺梅芳應(yīng)用Python語言開發(fā)的SCI引文檢索自動化軟件能夠?qū)崿F(xiàn)4種他引標(biāo)準(zhǔn)下的引文檢索,該軟件他引判斷方法通過程序讀入施引文獻(xiàn),進行作者字段比較來排除自引,仍需要下載所有施引文獻(xiàn)記錄,且檢索過程采用模擬瀏覽器訪問方式來獲取數(shù)據(jù)[13]。
我們在工作中結(jié)合工作實際,利用Python語言開發(fā)了WOS他引查詢軟件,利用WOS平臺提供的APIs(Web of Science Web Services)獲取數(shù)據(jù),采用SOAP(Simple Object Access Protocol)可以直接獲取WOS平臺提供的格式化數(shù)據(jù)。程序可以提取輸入內(nèi)容中的WOS入藏號,自動生成相關(guān)檢索式進行檢索,直接獲得他引次數(shù),減少人工操作的步驟,大大減輕了工作強度,提高了準(zhǔn)確度,并且結(jié)果具有可重復(fù)性。
軟件模擬人工查詢他引次數(shù)的步驟,實現(xiàn)自動獲得他引次數(shù),具體流程如下(見圖1)。
圖1 他引查詢程序流程圖
輸入信息可以直接從Word文件或網(wǎng)頁信息復(fù)制粘貼含有入藏號的信息,也可以輸入WOS平臺導(dǎo)出記錄文件,軟件從輸入信息中利用正則匹配提取所有入藏號信息。軟件按照入藏號通過WOS API查詢引用次數(shù),如果引次數(shù)為0次則不進行他引次數(shù)查詢,如果引用次數(shù)大于0次,進入他引查詢步驟,直至查詢完成所有入藏號的查詢,顯示輸出結(jié)果。
Python語言誕生于20世紀(jì)90年代初,現(xiàn)今已經(jīng)成為最受歡迎的程序設(shè)計語言之一[14],在最近的Git Hub排行榜中名列前茅。Python是一種解釋型、面向?qū)ο?、動態(tài)數(shù)據(jù)類型的高級程序設(shè)計語言,有豐富的標(biāo)準(zhǔn)庫和其他一些擴展庫,可以用較少的代碼完成一些復(fù)雜的工作。并且Python具有簡單、易學(xué)、免費、開源等諸多優(yōu)點。GitHub中有非常多的代碼實例可供參考,是一種易于閱讀和方便編寫代碼的語言,因此我們選擇Python作為開發(fā)語言。
藺梅芳等開發(fā)的引文自動化檢索軟件[13]和涂穎哲開發(fā)的論文查收查引工具軟件[8]等均采用模擬瀏覽器訪問的方式來獲取數(shù)據(jù),通過分析網(wǎng)頁結(jié)構(gòu)來提取數(shù)據(jù)。這種方式有可能受到網(wǎng)頁讀取速度的影響[13],如果網(wǎng)站升級網(wǎng)頁結(jié)構(gòu)變化,則需要修改程序來適應(yīng)相應(yīng)的變化,利用WOS API可以避免這些影響。
Web of Science Web Services[15]是基于SOAP 1.1 (Simple Object Access Protocol,簡單對象訪問協(xié)議)和WSDL 1.1(Web Services Description Language,網(wǎng)絡(luò)服務(wù)描述語言)的API,用于訪問和搜索Web of Science數(shù)據(jù)庫訂閱內(nèi)容。該API有兩個服務(wù)接口WOKMWSAuthenticate和WokSearch。其中WOKMWSAuthenticate是身份驗證和會話管理服務(wù),WokSearch提供數(shù)據(jù)檢索服務(wù)。可以在學(xué)?;驒C構(gòu)IP范圍內(nèi)通過WOKMWSAuthenticate接口獲取授權(quán)信息,然后通過WokSearch接口來進行檢索和獲取數(shù)據(jù)??梢酝ㄟ^該API可獲取到格式規(guī)范的XML數(shù)據(jù)(見圖2),由于僅獲取所需要的數(shù)據(jù),不需要打開整個網(wǎng)頁,可避免受到網(wǎng)頁讀取速度或網(wǎng)站改版的影響,且所獲取數(shù)據(jù)具有穩(wěn)定、規(guī)范的數(shù)據(jù)結(jié)構(gòu)。
圖2 通過WOS API獲取數(shù)據(jù)結(jié)構(gòu)
WOS數(shù)據(jù)庫收錄的每一篇文章都有一個唯一的入藏號,入藏號是以“WOS:”開頭,后面是15—16位數(shù)字或字母組成的編號,我們可以用正則表達(dá)式(WOS:w{15,16})來匹配提取所有入藏號。
通過Python的suds庫訪問WOS API來獲取數(shù)據(jù)(見圖3),通過WOKMWSAuthenticate接口的authenticate操作來獲取授權(quán)會話session SID,并將獲得的授權(quán)信息加入搜索進程。WokSearch服務(wù)有7個檢索操作[15],包括search、citedReference、citingArticles、relatedRecords、retrieveById、citedReferencesRetrieve、retrieve。其中Search查詢可以提交查詢并返回結(jié)果,與網(wǎng)頁界面高級檢索查詢功能返回結(jié)果一致;citingArticles查詢可以獲取引用查詢文章的所有文章,我們可以通過這個功能檢索引用次數(shù);可以結(jié)合search和citingArticles進行他引次數(shù)查詢。首先通過citingArticles查詢文章的所有引用次數(shù),即總引次數(shù),同時通過這個查詢可以獲得所查詢文章的詳細(xì)信息以及該查詢的查詢序號(queryId),從所得詳細(xì)信息中提取出所有作者列表,生成檢索式#queryId NOT AU=(被引文章所有作者的姓名),通過search查詢獲得他引次數(shù)及他引文章列表信息。
圖3 程序?qū)崿F(xiàn)過程
為了方便其他同事利用該程序,利用wxPython編寫可視化界面GUI(見圖4),并用pyinstaller打包成獨立的exe文件,可以拷貝到任何電腦使用,不需要電腦安裝Python環(huán)境的步驟。程序可以通過導(dǎo)入文本格式文件來提取入藏號,檢索完成后可以導(dǎo)出csv格式的文件,方便后續(xù)工作。
圖4 他引次數(shù)查詢程序界面
軟件開發(fā)以來已經(jīng)使用兩年有余,期間經(jīng)歷WOS從湯森路透到科睿唯安的轉(zhuǎn)變,均能穩(wěn)定使用。由于使用步驟簡便,輸出結(jié)果穩(wěn)定可靠,可以節(jié)約大量時間,減少重復(fù)性勞動,提高工作效率,得到了查收查引工作人員的認(rèn)可。
表1比較了本文程序及涂穎哲[8]、王學(xué)勤[9]和藺梅芳[13]所發(fā)表論文的引文檢索用時,本程序同藺梅芳文章中的程序用時相當(dāng),在引用查詢方面優(yōu)于其他兩篇文章中的程序。因為均為Python語言編寫,均采用多線程,考慮樣本選擇、網(wǎng)絡(luò)環(huán)境等可能存在差異,效率基本相當(dāng),但其結(jié)果有部分還需要人工復(fù)核。本程序通過兩次檢索可以得到他引查詢結(jié)果。
表1 引文查詢用時相關(guān)文獻(xiàn)比較
此外,本程序具有非常好的擴展性,除了可以檢索WOS總引、他引外,通過設(shè)置檢索數(shù)據(jù)庫范圍還可以檢索SCI總引和他引。通過設(shè)置檢索時間范圍,可以滿足一些特殊的需要。比如某項目需要檢索近5年的SCI引用情況,通過修改檢索時間范圍timespan開始和結(jié)束時間,就可以完成相應(yīng)他引次數(shù)的查詢。比如某大型科技公司集團有近千篇SCI收錄論文,其科技辦工作人員想知道每個月其所有論文的被引次數(shù)變化,如果通過人工檢索工作量可想而知,經(jīng)常需要幾天的時間,對本程序進行簡單修改,只需要一個小時左右即可完成檢索,省時省力,而且還能保證數(shù)據(jù)準(zhǔn)確可靠。
本文利用程序來進行他人引用次數(shù)的查詢,減輕了工作強度,并且減少了人為操作帶來的誤差和錯誤,有很好的重復(fù)性和穩(wěn)定性。程序為單文件形式,方便傳播及使用,得到了檢索人員的好評。
在后續(xù)工作中可以在軟件的易用性、美觀性等方面進行改進。例如,可建立數(shù)據(jù)庫保存相關(guān)人員的論文記錄,下次再進行檢索時僅需要檢索新增加記錄即可;除了檢索總引次數(shù)和他引次數(shù)外,可同時導(dǎo)出檢索論文列表及引文列表,更進一步可生成出具報告的相關(guān)內(nèi)容和格式,最大程度地降低人工工作強度。