仲華惟
煤炭科學技術研究院有限公司經濟與信息研究分院軟件研究所
為了解決科研課題預算編制過程中的問題,開發一套可以支持課題參與單位協同編寫預算書的課題預算編制軟件。首先抽象出一套可普遍適用的、可擴展的預算科目數據模型。然后使用可定制的預算書模版,結合語義分析技術,將用戶填寫的結構化預算數據實時生成完整規范的預算書。軟件以引導的方式協助科研人員編寫預算數據,并可對各個單位填報的數據進行統一的一致性校驗。使用該課題預算編制軟件可以大幅提高預算編制的效率,生成的預算書準確合理、完整無差錯,為后續科研工作的展開提供有力支撐。
隨著科技體制改革的深入,我國在科研的投入大幅增加,建立了適應科學研究規律和科技工作特點的科技經費管理制度。在科研課題及經費的申報、評審、立項、執行和結題的過程中,預算申報工作是極其重要的一環,而在申報過程中編制預算是一項重要的工作。《國家科技計劃項目(課題)預算管理問答》中提到預算編報應當結合項目研究開發任務的實際需要,堅持目標相關性、政策相符性和經濟合理性原則,要求預算說明書由項目承擔單位及項目負責人負責組織匯總申報,課題承擔單位財務部門、科技管理部門會同課題負責人共同編制完成,課題承擔單位、課題負責人對預算編制的真實性負責;同時要求多單位共同承擔一個課題時,各單位應該根據所承擔研究任務的實際需要分別編制經費預算,并由課題承擔單位進行審核匯總。
因此課題預算編制是一項需要多學科多單位協作完成的復雜工作。但是在課題申報過程中,科研人員通常將重點放在撰寫可行性報告,對于課題預算書編制工作不重視,使得預算編制過于籠統,考慮不周密,理由說明不充分,甚至出現預算金額計算錯誤,最后編制的預算書質量不高。在科研人員編制預算書的過程中,普遍遇到以下一些問題:
①預算書明細由課題參與單位分別編制,最后由課題承擔單位統一整理匯總上報。各參與單位編寫預算標準不統一,格式也各不相同,導致最后的匯總困難,尤其是當預算數據調整時,需要做大量修改。
② 部分課題在編制預算過程中,為了避免預算匯總時的繁雜工作,沒有讓課題參與單位分別編制預算,而是由承擔單位代為統一編制,導致預算與實際情況不相符,科研經費無法支持研究的順利開展。
③預算編制的依據是課題任務的研究目標和研究內容,但申報過程中科研人員對于科研內容分解不夠細致,缺少必要性和相關性的說明,預算書編寫不規范。
④ 部分科研單位對于預算科目的理解和編寫混淆不清,尤其對于那些初次編寫預算書的單位,會將科研經費編制到錯誤的預算科目里,導致這些預算被核減。
⑤ 在編制會議費、勞務費等預算科目時,要求遵守國家或地方規定的標準。在編制設備費、材料費等預算科目時,要求使用目前市場上價格合理的設備材料。這要求科研人員在編寫預算時需要參考大量的標準,并對市場上的設備材料供應商詢價,大大增加預算編制的工作量。
為了解決上述問題,開發一套可以支持課題參與單位協同編寫預算書的課題預算編制軟件具有十分重要的意義。本文首先抽象出一套可普遍適用的、可擴展的預算科目數據模型,以滿足預算編寫的數據要求。然后使用可定制的預算書模版,結合語義分析技術,將用戶填寫的結構化預算數據實時生成完整規范的預算書。通過使用該課題預算編制軟件可以大幅提高預算編制的效率,減少編寫預算書的工作量,生成的預算書各科目說明準確合理、完整無差錯。
預算編制軟件分為數據層、功能層、應用層和用戶層四個層次。
數據層包括知識庫、預算數據庫和數據模型三部分。知識庫
知識庫將預算書中的歷史數據整理抽象為知識,用戶在編寫預算書時可以直接使用這些知識,快速準確的編制預算。知識庫包括產品庫、標準庫、預算庫、模板庫。
產品庫將設備費、材料費等科目的中出現的產品按行業、學科分類整理為知識,每條知識包括產品的名稱、規格型號、生產單位、銷售單位、報價等信息。
標準庫集成了國家和地方對差旅費、會議費、勞務費、國際交流與合作等科目的費用標準。編寫預算書時參照費用標準可以避免出現超標的預算數據。

圖1 軟件架構
預算庫中包括了大量的預算示例,這些示例按照行業、科目分類存儲,用戶可以參照這些示例來編寫實際預算。
模板庫中保存了國家主體計劃、重大專項、儀器專項的預算書科目和體例模板,可以根據用戶填寫的預算書直接生成符合申報要求的預算書。用戶也可以根據需要定制預算科目和預算書格式。
預算數據庫和數據模型
預算數據庫采用關系型數據庫,存儲了用戶編寫的預算數據。數據模型是將數據庫中的內容封裝為預算實體,不僅包括預算數據,并增加了數據間的關聯關系和約束關系,同時還標識了各數據項的數據語義。
功能層是預算編制軟件的核心,包括語義規則解析、預算模板管理和預算書生成。語義規則解析用于將預算數據模型轉換成人可以理解的段落和語句。預算模板管理用于定義預算書模板,可以將結果共享至模板庫。預算書生成是利用語義規則和預算模板,使用OpenXml 將預算數據模型生成通用的Word 格式文件。
應用層為用戶提供編制預算數據等功能,包括課題管理、單位管理、預算數據管理等。用戶將需要編報預算的課題、任務、承擔單位和合作單位等相關數據錄入系統中,然后與課題各個參與單位協同完成各個科目預算編寫工作。
數據模型是課題預算說明書內容的抽象表達,是生成預算書和預算編制軟件開發的基礎。數據模型的研究內容包括模型抽象、模型表達和模型映射三個主要部分。
模型抽象:以科技部預算說明書為基礎,收集大量不同類型的課題預算說明書作為樣本數據,對樣本文檔進行分析,結合語義轉化模式所需的數據結構抽象出相應的數據模型。結合科目的特點確定了概算模式、標準模式、單價分解模式和總額分解模式四種科目預算模型。
模型表達:使用本體語言定義數據模型中類以及類之間的邏輯關系。為了正確表達預算書的數據模型,實現文本智能生成,使用關鍵字標識法,對數據模型的每個屬性設置惟一標識,該標識在文檔模板中作為數據項占位,在文檔生成時替換為具體的數據值。
模型映射:抽象的預算書數據模型需要映射為數據庫物理模型,以支持課題預算編制軟件實現。同時數據模型要映射為課題預算編制軟件中具體的實體類和關聯關系類。研究數據模型的更高層次元模型定義方法,以此元模型為基礎制定映射方法和映射規則,實現數據模型的自動轉換。
語義轉化模式就是把以數據模型為基礎的用戶數據依據約定的語法規則按對應的模板結合語義分析轉換為規范的符合自然語言習慣的課題預算說明書。
動態模板技術:預算說明書的格式和內容根據科技專項類型、行業、課題規模等因素而有所區別,需要使用不同的模板以保證軟件的適用范圍。定義用戶數據與預算書模板之間的對應規則及模板的生成語法,保證用戶數據轉換為課題預算說明書的實例化過程是動態的,滿足基本的預算書生成實現。

圖2 材料費編制界面
智能語義規則:由于用戶數據以數據模型為結構基礎,但用戶數據的內容、填寫數據項的數量和完整性等因素是動態的,需要在用戶數據編譯的邏輯階段加入智能語義分析,使生成的文檔符合自然語言規則、符合人們的閱讀習慣。定義預算書模板編譯過程中的語義生成規則,包含了數據類型、數據內容、集合排序、判斷語句、循環語句等基本規則,同時針對上下文相關的數量、語言性質、語言規范等方面進行分析,定義適應上下文語義的推理規則,從而修正關聯文字的表述形式,確保生成文檔的流暢性。
文檔生成:用戶可隨時生成及導出格式標準的課題預算說明書。根據語義轉化模式將數據模型轉換為可讀的內容,并導出帶有標題、正文、表格及自定義格式標簽的符合Microsoft Word 及Microsoft Excel 展現形式的文檔。
通過以上的關鍵技術研究,本文基于.NET 開發了一套B/S 架構的科研課題預算編制軟件,軟件中科目預算編輯界面如圖2 所示。
預算編制軟件提供了協同預算編制平臺,課題的參與單位分別在線編制預算數據,由平臺根據填報內容自動計算匯總生成預算說明書。在預算編制軟件的中設置多種形式的提示引導,將科技部對預算編制的規范作為數據審核規則,方便各合作單位正確合理地編制課題任務預算。軟件保證各單位同時以統一的編制標準和編制原則填報預算數據。課題承擔單位可以實時監督各單位的工作進度,協調預算分配方案。通過預算說明書模版定制、結合語義分析技術,實現一鍵自動生成符合要求的預算說明書和預算表。
本文建立一套普遍適用的可擴展預算數據模型,研究了數據模型的抽象方法和表達方式。結合語義分析技術,使用可定制的動態預算書模板,將用戶填寫的結構化數據實時轉換成預算說明書。該軟件為課題參與單位協同編制預算書提供了一個平臺。通過使用該軟件可以提高預算編制的效率,減少編寫預算書的工作量,為后續科研工作的展開提供了有力支撐。