Python技術在期刊評價的應用

時間:2022-02-16 08:37:46

導語:Python技術在期刊評價的應用一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

Python技術在期刊評價的應用

學術期刊一直是學術研究所關注的熱點,近年來,學術期刊評價呈現(xiàn)出多元化發(fā)展態(tài)勢,對相應的學術研究和學科發(fā)展起到重要的促進作用。目前,國內比較有影響力的評價體系有《中文核心期刊要目總覽》、《中國人文社會科學核心期刊要覽》、《中文社會科學引文索引》等。通過比較上述期刊評價體系中使用的評價指標,發(fā)現(xiàn)大部分的指標都是可以計算的定量指標,一些定性指標是定量化之后再參與計算[1,2]。這就為信息技術應用于期刊評價提供了可能,加上大數(shù)據(jù)時代的到來,數(shù)據(jù)的來源多樣、數(shù)據(jù)量大的特點,使得信息技術加入期刊評價的行列更加必要。python技術作為信息技術中的熱門技術,將Python技術應用于期刊評價,可以擴展數(shù)據(jù)獲取的來源、提高數(shù)據(jù)的準確率、增加定量指標的數(shù)量等,進而提高評價結果的可靠性。

1Python技術

Python是一種高級的計算機編程語言,是由GuidovanRossum在20世紀80年代末,荷蘭國家數(shù)學和計算機科學研究所設計[3]。Python的語法結構簡潔,在Python程序中沒有太多的語法細節(jié)和規(guī)則要求,初學者可以從語法細節(jié)中擺脫出來,只需要專注于分析程序所需要的邏輯和算法即可。Python具有豐富的數(shù)據(jù)結構,除了基本的數(shù)值類型外,Python中還內置了字符串、列表、元組、字典、集合等豐富的高級數(shù)據(jù)結構,利用這些數(shù)據(jù)結構可以解決很多的實際應用問題,比如文本處理、數(shù)據(jù)分析等。Python是一種解釋性語言,就是用Python編寫的程序不需要編譯成二進制代碼,就可以直接運行源代碼程序。由于Python具有語法優(yōu)美、代碼簡潔、開發(fā)效率高、支持的模塊多等優(yōu)點,使其成為了當前很受歡迎的腳本語言,應用范圍較廣,包括網(wǎng)絡爬蟲、人工智能、網(wǎng)站以及手機應用開發(fā)、數(shù)據(jù)分析等,因為是免費開源的資源,因此具有更多的用戶[4]。

2Python技術在數(shù)據(jù)獲取中的應用

期刊評價工作中,首先需要有可以進行分析的數(shù)據(jù)。數(shù)據(jù)的獲取通過Python技術編寫網(wǎng)絡爬蟲程序來輔助進行數(shù)據(jù)的獲取。網(wǎng)絡爬蟲就是按照一定的規(guī)則,自動地抓取互聯(lián)網(wǎng)信息的程序[5]。網(wǎng)絡爬蟲可以獲取更多的數(shù)據(jù)源,并且這些數(shù)據(jù)源是根據(jù)需求進行的采集,可以去掉很多無關數(shù)據(jù)。通過爬蟲技術爬取數(shù)據(jù),實際上就是向服務器請求數(shù)據(jù),獲取響應數(shù)據(jù)的過程[6]。Chrome開發(fā)者工具是一套內置于GoogleChrome中的Web開發(fā)和調試工具,可以用來對網(wǎng)站進行迭代、調試和分析。Chrome開發(fā)者工具在整個爬蟲過程中作用很大,可以輔助用戶爬取信息、分析頁面和處理反扒。比較常用的模塊有元素面板(elements)、控制臺面板(console)、資源面板(source)、網(wǎng)絡面板(network)。通過元素面板,能查看到想抓取頁面渲染內容所在的標簽、使用什么css屬性等內容,可以為網(wǎng)頁內容提取提供相關的解析語句??刂婆_面板(console)可以調試運行js代碼,在js解密過程中比較常用。資源面板主要是進行js斷點調試。網(wǎng)絡面板記錄頁面上每個網(wǎng)絡操作的相關信息,包括詳細的耗時數(shù)據(jù)、HTTP請求與響應標頭和Cookie等,就是通常說的抓包。通過抓包就可以向服務器獲取請求數(shù)據(jù)所需要的地址、請求頭(包括host、refer、origin、user-agent、Cookie等)、查詢參數(shù)、請求參數(shù)等,進而使用爬蟲程序來請求服務器的數(shù)據(jù)。請求到數(shù)據(jù)之后,進行內容信息的提取,提取的內容就是需要獲取的數(shù)據(jù),共有3種解析方式包括正則表達式、css選擇器和xpath。正則表達式,又稱規(guī)則表達式,屬于計算機科學中的概念,在代碼中常被簡寫為regex、regexp或RE。正則表達式通常被用來檢索、替換那些符合某個模式或規(guī)則的文本。使用正則表達式,可以檢查字符串的合法性,可以提取字符串中的信息,比如提取一條短信中的數(shù)字或提取文件名的后綴等,也可以替換或分割字符串等。在爬蟲程序中,主要使用正則表達式提取所需要的數(shù)據(jù)以去掉多余的數(shù)據(jù)[5]。在正則表達式中,使用元字符匹配單個字符,比如使用\d表示匹配數(shù)字,使用點匹配任意一個字符(除了\n),使用+*表示匹配多個字符,使用.*表示匹配任意多個字符,使用[]表示匹配[]中列舉的字符等等。在CSS中,選擇器是一種模式,用于選擇需要添加樣式的元素。因此,可以使用CSS選擇器,在HTML頁面中找到數(shù)據(jù)所對應的標簽。在CSS選擇器中,常用的有標簽選擇器、類選擇器、ID選擇器、組合選擇器、屬性提取器等。Xpath(XMLPathLanguage)是一種在HTML\XML文檔中查找信息的語言,可以用來在HTML\XML文檔中遍歷其元素和屬性??梢允褂肵path來快速定位HTML\XML文檔中的特定元素以及獲取節(jié)點信息,從而可以提取出所需要的數(shù)據(jù)。Xpath主要是使用路徑表達式來選取XML文檔中的節(jié)點或節(jié)點集。這些路徑表達式類似于電腦文件系統(tǒng)中看到的表達式。遇到復雜的提取規(guī)則可以這3種方式混合使用[7]。采集到數(shù)據(jù)之后,需要保存數(shù)據(jù),數(shù)據(jù)存儲類型有分文本文件和二進制文件(包括音頻、圖片、視頻文件等),數(shù)據(jù)的保存形式有Excel、Json、Csv,也可以直接與數(shù)據(jù)庫連接存儲到數(shù)據(jù)庫中。期刊評價需要的數(shù)據(jù)會分布在不同的數(shù)據(jù)源中,可以針對不同的數(shù)據(jù)源編寫相應的爬蟲程序,進而獲取所需要的數(shù)據(jù)。在期刊評價中可以通過網(wǎng)絡爬蟲獲取的字段有標題、作者、地址、頁碼、年份、卷期、分類號、引用次數(shù)、下載次數(shù)、參考文獻、引用文獻、二次文獻轉載次數(shù)、期刊微信公眾號中的閱讀量與點贊量等,通過將這些字段進行計算,就可以得到評價期刊的指標值,比如總被引頻次、篇均被引頻次、5年影響因子、高被引文獻量、自引量、社交媒體傳播情況等。期刊評價的結果正是基于這些指標的計算。

3Python技術在數(shù)據(jù)清洗中的應用

數(shù)據(jù)的準確性對于評價結果的正確性、客觀性起著舉足輕重的作用。因此,數(shù)據(jù)計算之前需要對數(shù)據(jù)的內容進行清洗、優(yōu)化,目的是刪除重復信息、糾正錯誤信息、并提供數(shù)據(jù)的一致性。由于原始數(shù)據(jù)包含有非學術論文,例如征稿通知、啟事、會議紀要等類型內容,故需要進行清洗。數(shù)據(jù)清洗的任務是清洗掉不符合要求的數(shù)據(jù),不符合要求的數(shù)據(jù)主要有不完整的數(shù)據(jù)、錯誤或無效的數(shù)據(jù)、重復的數(shù)據(jù)3大類[8]。清洗內容包括檢查數(shù)據(jù)一致性、處理重復文獻、無效文獻和文獻信息不完整的瑕疵文獻等。其中,一致性檢查是指檢查原始數(shù)據(jù)表格中下載文獻總量與數(shù)據(jù)庫服務商中原始文獻數(shù)量的一致性;檢查數(shù)據(jù)內容的一致性是指由于數(shù)據(jù)是單一途徑數(shù)據(jù),不存在數(shù)據(jù)組合問題,故而內容具有一致性。重復文獻處理:通過Python程序檢查有無重復文獻,若有,則刪除之;無效文獻和瑕疵文獻處理:根據(jù)無關文獻判定準則和瑕疵文獻的重要性判斷準則通過Python程序刪除,其中無關文獻判定準則是:(1)原始文獻數(shù)據(jù)中題名含有“動態(tài)”、“研討會”、“悼念”、“短訊”、“征稿”、“工作會議”、“出席會議”、“紀要”、“紀事”、“會議綜述”、“啟事”等停用詞的則刪除整條文獻數(shù)據(jù)記錄;(2)原始文獻數(shù)據(jù)中所屬專題含有“人物傳記”字樣,則刪除整條文獻數(shù)據(jù)記錄;(3)原始文獻數(shù)據(jù)中作者為空的,則刪除整條文獻數(shù)據(jù)記錄。在期刊評價中,有效的文獻均為學術論文,根據(jù)大量數(shù)據(jù)的核驗與判斷,得到了數(shù)據(jù)清洗時用到的停用詞集合:“動態(tài)”、“研討會”、“悼念”、“短訊”、“征稿”、“工作會議”、“出席會議”、“紀要'”、“紀事”、“會議”、“綜述”、“啟事”、“訂閱”、“入選”、“召開”、“座談”、“會”、“年會”等。數(shù)據(jù)清洗的過程雖然在數(shù)據(jù)量較少、清洗步驟比較簡單時,可以用Excel替代完成,但是一旦數(shù)據(jù)量大、清洗規(guī)則較多時,使用Excel就沒有那么得心應手了,比如運行速度會明顯下降、操作步驟也復雜得多。在期刊評價中,如果需要計算全周期的影響因子之類的指標,這類指標的計算需要用到期刊創(chuàng)刊以來的數(shù)據(jù),數(shù)據(jù)量還是很大的,所以使用Python技術進行數(shù)據(jù)清洗是十分有必要的。

4Python技術在數(shù)據(jù)合并與計算中的應用

在期刊評價中,一個指標的數(shù)值可能存在多個數(shù)據(jù)源,那么就需要進行數(shù)據(jù)的合并。比如:二次文獻轉載量這個指標,可能需要采集包括人大復印報刊資料、新華文摘等不同來源的轉載次數(shù),那么就需要將這些數(shù)據(jù)進行合并。人工合并這些數(shù)據(jù)不但工作量大,而且容易出錯。使用Python技術來進行數(shù)據(jù)合并,節(jié)省時間,也可以降低出錯率,更重要的是工作可以復用,相似處理模式的數(shù)據(jù)可以稍微修改程序直接使用,人工處理就必須重新完整地走完全部流程,可謂是費時費力。數(shù)據(jù)的計算則是按照指標定義,理清其邏輯關系進行代碼編寫,最終實現(xiàn)數(shù)據(jù)的自動化處理。以下列舉部分數(shù)據(jù)計算方法:綜合總被引頻次:評價周期內,該期刊所載全部學術論文被期刊論文引用的次數(shù)總和。復合總被引頻次:評價周期內,該期刊所載全部學術論文被期刊文獻、博碩士論文、專著、報紙引用的次數(shù)總和。篇均綜合被引頻次:評價周期內,該期刊的綜合被引頻次除以該期刊所載文獻總量。篇均復合被引頻次:評價周期內,該期刊的復合被引頻次除以該期刊所載文獻總量。5年綜合影響因子:該期刊5年中所有文獻被期刊文獻在當年的被引頻次除以該刊近5年內的發(fā)文量。5年復合影響因子:該期刊近5年中所有文獻被期刊文獻、博碩士論文、專著、報紙在當年的被引頻次之和除以該刊近5年內所載文獻總量。高被引文獻量:評價周期內,該期刊所載全部文獻被包含在被引頻次TOP10%的數(shù)量。高被引文獻率:評價周期內,該期刊所載全部文獻被包含在被引頻次TOP10%的數(shù)量除以評價周期內該刊所載文獻總量。自被引量:評價周期內,通過獲取到的引證文獻集合,篩選出該期刊引用本刊文獻的數(shù)量。自被引率:評價周期內,通過獲取到的引證文獻集合,篩選出該期刊引用本刊文獻的數(shù)量除以該期刊的總被引頻次。Web下載量:評價周期內,該期刊所載全部學術論文中,在數(shù)據(jù)庫出版并上網(wǎng)的論文被全文下載的次數(shù)。作者人數(shù):評價周期內,該期刊所有文獻所包含的作者數(shù)量。

5結語

在大數(shù)據(jù)時代,期刊評價也呈現(xiàn)出多元化發(fā)展態(tài)勢,這就說明所需要的數(shù)據(jù)也是多元化的,并且數(shù)據(jù)量大,那么勢必要求使用信息技術。比如Python技術來進行數(shù)據(jù)的一系列處理,包括數(shù)據(jù)獲取、清洗、合并、計算等,進而提高了工作效率。有了Python技術的助力,期刊評價工作可以擴大數(shù)據(jù)的多元化范圍,增加可量化指標的數(shù)量,提高數(shù)據(jù)的準確性,最終使得評價結果的可靠性更高。