李善青 安淑荻 邢曉昭
(中國科學技術信息研究所 北京 100038)
科技項目的重復申報是指同一個團隊向不同的科技計劃申報了多個研究內容相似而又處于同一研發階段的項目。這是一種典型的科研不端行為,不僅會造成國家科研經費的浪費,而且會破壞公平競爭的科研氛圍,已經成為我國科技事業健康發展的阻礙因素。國家高度重視科技項目的重復立項問題,于2014 年12 月正式啟動了中央財政科技計劃(專項、基金等)管理改革,將中央各部門管理的科技計劃(專項、基金等)整合形成新五類科技計劃(專項、基金等),并全部納入統一的國家科技管理平臺管理,加強項目查重,解決分散重復和封閉低效等問題。隨著國家科技管理信息系統公共服務平臺的開通運行,我國實現了新五類科技計劃項目的集中統一管理,初步解決了科技資源配置的“碎片化”問題,為解決科技項目的重復立項問題奠定了基礎。
在大數據的時代背景下,利用文本挖掘算法從項目申請書中抽取特征向量構建相似度判別模型的科技項目查重方法逐步成為領域內學者們的共識,涉及的相關技術包括文本分詞[1]、關鍵詞抽取[2]、向量空間模型[3]和文檔檢索[4]等。劉如等[5]較為系統地對我國科技項目查重研究現狀以及國內外查重相關技術的發展態勢進行了梳理和總結。張新民等[6]通過梳理科技項目查重的研究現狀,分析了國家科技信息管理平臺的典型特征、功能需求、體系結構和工作流程。
國內的學者利用文本挖掘方法開展了一系列的科技項目查重的應用研究[7~16]。趙曉平等[7]將文本的結構特征和TF-IDF 方法進行融合,提出了一種面向科技項目文本的相似度度量方法。左川[8]通過CHARM 算法挖掘后綴樹節點的頻繁閉項集作為科技項目申請書的特征點,構建向量空間模型計算科技項目申請書的相似度。鞠麗娟[9]采用最長回溯分詞算法進行中文句子的分詞,并基于N-gram 的向量空間模型構建了項目申報書正文的相似度算法。方延風[10]利用詞的長度和位置等信息對TF-IDF 算法進行改進,提升了特征詞抽取的準確性,并構建向量空間模型描述科技項目的內容。劉紅娜[11]提出一種改進的基于詞序列頻率有向網的未登錄詞識別方法,并基于向量空間和圖模型構建了申請書的相似度判別模型。吳燕[12]提出一種基于層次聚類的科技項目分類模型,通過計算關鍵詞詞頻向量的相似度作為聚類依據,采用層次聚類算法在不同的粒度下逐層聚類,從而實現項目分類。趙士杰[13]提出一種結合物元知識表示模型和向量空間模型的科技項目知識表示模型,利用編輯距離計算項目標題的相似度,融合向量空間模型的語義相似度計算科技項目的綜合相似度。黃思穎等[14]提出了一種基于SolrCloud 的分布式科技項目查重系統,采用標題段落語句模型計算項目申報書文本的相似度。楊曉瑜[15]提出了一種基于多暹羅網絡的文本匹配模型,根據詞語的上下文信息、位置信息與實體關系信息對其進行詞嵌入處理,并通過權值共享的BiLSTM 模型挖掘文本的深層語義特征,從而評估文本的語義匹配性。這些研究工作都是以項目申報書為研究對象,提取詞頻特征建立申報書文本的向量空間模型,并將特征向量的相似度定義為項目申報書的內容相似度。這些方法的局限性主要體現在兩個方面:1)完全依賴于項目申報書的文本內容,未考慮與項目密切相關的其他文獻信息。2)從申報書文本建立向量空間模型是一個空間降維的過程,損失的信息會降低科技項目查重的準確性。
針對上述存在的問題,通過整合與項目密切關聯的公開信息,建立科技項目的綜合描述模型,利用大數據挖掘等方法實現科技項目查重是一種可行的解決方案。國家科技報告服務系統和國家科技成果轉化項目庫等平臺相繼開通運行,對公眾開放共享科技報告和科技成果等信息,使得利用關聯數據和大數據技術解決科技項目查重的方法成為可能。本文將重點介紹一種基于關聯數據的科技項目查重系統,整合與科技項目密切相關的科技論文、科技報告和科技成果等信息,建立科技項目的描述模型。采用改進的TextRank 算法從摘要和標題等短文本中抽取關鍵詞構建特征向量,并給出了項目相似度的判別方法。利用Hadoop 和Spark 的分布式計算框架,實現項目查重系統并進行相關的實驗。該系統為解決項目查重問題提供了一種新的方案,是對現有項目查重方法的拓展,具有急迫的現實需求和廣闊的應用前景。
基于關聯數據的科技項目查重系統的架構如圖1 所示。系統大致可按模塊劃分如下:輸入輸出模塊、特征詞抽取模塊、領域詞系統模塊、數據管理模塊和相似度判別模塊等。其中,輸入輸出模塊負責將用戶的輸入信息提交到服務器端,提交的信息包括項目標題、關鍵詞、摘要、承擔人和承擔單位等;并將項目查重的結果在瀏覽器端以直觀的方式展示給用戶。特征詞抽取模塊負責從輸入的標題和摘要文本中抽取出特征詞,在抽取的過程中會用到關鍵詞詞典和詞頻統計文件。領域詞系統模塊負責將一義多詞的特征詞標準化為統一的特征詞。數據管理模塊負責科技項目大數據的存儲、管理和調度,負責為特征詞抽取模塊提供關鍵詞詞典和詞頻統計表,為相似度判別模塊提供海量項目的特征詞向量。相似度判別模塊負責計算待查項目與海量存檔項目的相似度,并利用Hadoop 和Spark框架對相似度判別算法進行的分布式處理,以提升項目查重的速度。相似度判別首先計算項目內容方面的相似度,然后綜合考慮承擔人和承擔單位的因素,對項目的相似度進行綜合判別,得到最終的判別結果。需要指出的是,重復項目的判定是一個復雜的過程,需要綜合的背景知識和較高的判斷力,因此系統計算得到的判別結果僅提供疑似重復項目的清單和客觀的證據材料,最終將由專家小組做出是否為重復項目的判定結果。

圖1 科技項目查重系統的架構示意圖
本文采用整合多來源信息描述項目研究內容的數據模型[16],利用科技項目、科技論文、科技報告和科技成果的文本信息中抽取關鍵詞并構建特征向量,從不同維度描述項目的研究內容。以項目信息為例,采集的數據中包含項目的標題、關鍵詞和摘要等字段信息,利用改進的TextRank算法獲取能表征項目研究內容的特征詞,通過大量語料信息計算成詞概率以反映短語結合的緊密程度,排除短語中不相關的成分,從而保證所抽取特征詞的準確性和語義表達能力。此外,利用構建的領域詞系統,解決一義多詞的問題,將抽取的關鍵詞進行標準化處理。統計關鍵詞在語料庫中的TFIDF 值作為其權重,最終得到特征詞向量V1={(Ki,Wi)|i=1,2,…,N},其中,Ki表示第i個特征詞,Wi表示第i個特征詞的權重,N表示所采用特征詞的個數。按照相同的方法,可以得到論文信息、報告信息和成果信息的特征詞向量,分別表示為V2、V3、V4。因此,項目研究內容的描述模型可表示為式(1):

其中,{wi|i∈[1 ,4] }表示不同來源信息的權重,用于反映來源信息對描述項目內容的重要程度。考慮到不同形式的產出物與項目關聯的緊密程度存在差異性,科技項目和科技報告是對項目研究內容的規劃和總結,將其設置為較高的權重;科技論文和科技成果只是科技項目的部分產出,將其設置為較低的權重。
由于特征詞抽取算法的準確性、特征詞長度標準不一致和抽取的關鍵詞數量限制等因素,從文本轉化為特征詞的過程中不可避免的存在信息丟失問題,從而導致項目查重的準確性降低。本項目不對語料庫中的文本進行特征詞抽取的預處理,而是在去掉非中文字符和停用詞后將其拆分成長度為2~8字的短語,短語之間用符號“/”分隔。在實際計算項目相似度時,根據輸入的待查詢的特征詞向量,從預處理的文件中構建與查詢向量維度匹配的特征詞向量,并計算兩者之間的相似度。該方法在提升科技項目查重準確性的同時也導致了較高的計算復雜度。為應對上述的大量計算,我們構建由5 臺計算機組成的集群計算環境,借助Spark 框架管理和優化計算資源的配置,快速完成項目相似度的計算過程。
考慮到重復性項目通常具有相同的負責人或者承擔單位,我們引入兩個校正因子用于體現上述因素的影響,并定義項目的相似度為式(2):

其中,Sim(·)表示相似度函數,I為從輸入的檢索信息中抽取的描述項目內容的特征向量,V為待判定項目的描述向量,max(·)為最大值函數,表示從四個信息來源中選取相似度的最大值,Δp表示因相同負責人而引入的校正因子,Δo表示因相同承擔單位而引入的校正因子。由于科技項目、科技報告、科技論文和科技成果等信息可能存在缺失的情況,因此分別按照四類資源分別計算相似度,并取相似度最高的結果作為項目研究內容相似度的判別結果。通過引入校正因子,可以保證在項目內容相似度一致的情況下,優先篩選出具有相同負責人或者相同承擔單位的項目。經上述計算后,可得到待查重的項目與全部已有項目的相似度,選取超出閾值的項目作為疑似重復項目的候選集,由專家做出最終的判定結果。
本文基于Spark分布式計算框架實現了科技項目查重系統,如圖2 所示。該系統包括主控節點、計算節點和交換機等三部分。主控節點主要負責計算任務的協調和調度,收集計算節點的狀態信息,為計算節點分配任務,匯總計算結果并將其反饋給用戶。計算節點負責完成具體的計算任務,為任務分配必需的硬件資源,與主控節點或其他節點通信獲取必要的數據。主控節點和計算節點之間通過千兆交換機連接,可進行任務指令和中間數據的交換及傳遞。我們針對電動汽車領域對上述系統進行個性化配置。首先對大數據文件中的科技資源進行檢索,篩選出與電動汽車相關的資源信息。其次,利用上述資源信息分別構建了電動汽車領域的關鍵詞詞典、詞頻統計文件和領域詞系統。前兩個文件主要用于增強特征詞抽取的準確性,而領域詞系統用于處理電動汽車領域內異名同義詞語之間的關系,將其標準化為領域內的統一詞語。

圖2 項目查重原型系統的示意圖
為驗證關鍵詞抽取算法的有效性,我們使用4272 份國家自然科學基金管理學部的項目信息構建測試樣本集,采用準確率、召回率和F 值作為算法的評價指標。其中,隨機選取200 份摘要作為測試用例,已標注的關鍵詞作為正例樣本;剩余的作為語料,用于計算候選特征詞的成詞概率。本文選定詞語共現窗口大小為5 和成詞概率閾值為1.00%,與TFIDF 算法和TextRank 算法的抽取結果進行對比實驗。結果如表1 所示,本文算法在準確率、召回率和F 值均優于傳統的TextRank 算法和TFIDF 算法,驗證了關鍵詞抽取算法在從科技摘要短文本抽取特征詞的有效性。

表1 關鍵詞抽取算法的對比結果
為驗證個性化配置后的項目查重系統的性能,我們從電動汽車項目的信息中抽取150 份結題摘要作為測試集,與項目的立項摘要、論文摘要和成果摘要等約2 萬條數據進行重復性檢測,測試了不同閾值下算法的準確率、召回率和F 值等性能指標,結果如表2 所示。結果表明,隨著閾值的增加,算法的準確率呈現不斷提升的趨勢,同時召回率則呈現不斷下降的趨勢。當選取閾值為0.4 時,F 值取得最大值,準確率和召回率分別為93.75%和90.00%。該結果基本可以滿足科技項目查重的實際需求。

表2 不同閾值下算法的查重結果
為驗證分布式計算對科技項目查重的加速作用,本文以1 個計算節點所需的時間作為基準,不斷增加計算節點的數量,測定完成相同任務所需的時間,進而計算其加速效果。實驗結果如圖3 中的實線所示(虛線為理想條件下可取得的線性加速效果),2 個計算節點的加速比為1.19,3 個節點的加速比為1.43,4 個計算節點的加速比為2.34。可以看出,隨著計算節點數量的增加,加速效果得到不斷提升,但距離理想的加速效果還存在一定的差距。原因之一是計算節點之間的通信和數據交換需消耗一定的時間和資源。此外,多個并行任務的計算復雜度存在差異,會導致任務之間的等待,也會增加運行時間。后續可進一步優化程序設計,以取得更好的加速效果。

圖3 分布式加速的實驗結果
本文提出了一種基于關聯數據的科技項目查重系統。整合與科技項目密切相關的科技論文、科技報告和科技成果等信息,建立科技項目的綜合描述模型,在一定程度上解決了項目查重的數據來源單一的問題。采用改進的TextRank 算法從摘要和標題等短文本中抽取關鍵詞構建特征向量,并給出了項目相似度的判別方法。利用Hadoop 和Spark的分布式計算框架,實現了項目查重系統并進行了相關的實驗。結果證明了該方法的有效性和可行性,在給定的實驗條件下取得了較高的準確率和召回率。本文為解決項目查重問題提供了一種全新的思路和方法,是對現有項目查重方法的拓展和補充,為科技主管部門開發和部署科技項目查重系統提供了經驗和借鑒。