仲華惟
煤炭科學(xué)技術(shù)研究院有限公司經(jīng)濟(jì)與信息研究分院軟件研究所
為了解決科研課題預(yù)算編制過程中的問題,開發(fā)一套可以支持課題參與單位協(xié)同編寫預(yù)算書的課題預(yù)算編制軟件。首先抽象出一套可普遍適用的、可擴(kuò)展的預(yù)算科目數(shù)據(jù)模型。然后使用可定制的預(yù)算書模版,結(jié)合語義分析技術(shù),將用戶填寫的結(jié)構(gòu)化預(yù)算數(shù)據(jù)實(shí)時(shí)生成完整規(guī)范的預(yù)算書。軟件以引導(dǎo)的方式協(xié)助科研人員編寫預(yù)算數(shù)據(jù),并可對(duì)各個(gè)單位填報(bào)的數(shù)據(jù)進(jìn)行統(tǒng)一的一致性校驗(yàn)。使用該課題預(yù)算編制軟件可以大幅提高預(yù)算編制的效率,生成的預(yù)算書準(zhǔn)確合理、完整無差錯(cuò),為后續(xù)科研工作的展開提供有力支撐。
隨著科技體制改革的深入,我國(guó)在科研的投入大幅增加,建立了適應(yīng)科學(xué)研究規(guī)律和科技工作特點(diǎn)的科技經(jīng)費(fèi)管理制度。在科研課題及經(jīng)費(fèi)的申報(bào)、評(píng)審、立項(xiàng)、執(zhí)行和結(jié)題的過程中,預(yù)算申報(bào)工作是極其重要的一環(huán),而在申報(bào)過程中編制預(yù)算是一項(xiàng)重要的工作?!秶?guó)家科技計(jì)劃項(xiàng)目(課題)預(yù)算管理問答》中提到預(yù)算編報(bào)應(yīng)當(dāng)結(jié)合項(xiàng)目研究開發(fā)任務(wù)的實(shí)際需要,堅(jiān)持目標(biāo)相關(guān)性、政策相符性和經(jīng)濟(jì)合理性原則,要求預(yù)算說明書由項(xiàng)目承擔(dān)單位及項(xiàng)目負(fù)責(zé)人負(fù)責(zé)組織匯總申報(bào),課題承擔(dān)單位財(cái)務(wù)部門、科技管理部門會(huì)同課題負(fù)責(zé)人共同編制完成,課題承擔(dān)單位、課題負(fù)責(zé)人對(duì)預(yù)算編制的真實(shí)性負(fù)責(zé);同時(shí)要求多單位共同承擔(dān)一個(gè)課題時(shí),各單位應(yīng)該根據(jù)所承擔(dān)研究任務(wù)的實(shí)際需要分別編制經(jīng)費(fèi)預(yù)算,并由課題承擔(dān)單位進(jìn)行審核匯總。
因此課題預(yù)算編制是一項(xiàng)需要多學(xué)科多單位協(xié)作完成的復(fù)雜工作。但是在課題申報(bào)過程中,科研人員通常將重點(diǎn)放在撰寫可行性報(bào)告,對(duì)于課題預(yù)算書編制工作不重視,使得預(yù)算編制過于籠統(tǒng),考慮不周密,理由說明不充分,甚至出現(xiàn)預(yù)算金額計(jì)算錯(cuò)誤,最后編制的預(yù)算書質(zhì)量不高。在科研人員編制預(yù)算書的過程中,普遍遇到以下一些問題:
①預(yù)算書明細(xì)由課題參與單位分別編制,最后由課題承擔(dān)單位統(tǒng)一整理匯總上報(bào)。各參與單位編寫預(yù)算標(biāo)準(zhǔn)不統(tǒng)一,格式也各不相同,導(dǎo)致最后的匯總困難,尤其是當(dāng)預(yù)算數(shù)據(jù)調(diào)整時(shí),需要做大量修改。
② 部分課題在編制預(yù)算過程中,為了避免預(yù)算匯總時(shí)的繁雜工作,沒有讓課題參與單位分別編制預(yù)算,而是由承擔(dān)單位代為統(tǒng)一編制,導(dǎo)致預(yù)算與實(shí)際情況不相符,科研經(jīng)費(fèi)無法支持研究的順利開展。
③預(yù)算編制的依據(jù)是課題任務(wù)的研究目標(biāo)和研究?jī)?nèi)容,但申報(bào)過程中科研人員對(duì)于科研內(nèi)容分解不夠細(xì)致,缺少必要性和相關(guān)性的說明,預(yù)算書編寫不規(guī)范。
④ 部分科研單位對(duì)于預(yù)算科目的理解和編寫混淆不清,尤其對(duì)于那些初次編寫預(yù)算書的單位,會(huì)將科研經(jīng)費(fèi)編制到錯(cuò)誤的預(yù)算科目里,導(dǎo)致這些預(yù)算被核減。
⑤ 在編制會(huì)議費(fèi)、勞務(wù)費(fèi)等預(yù)算科目時(shí),要求遵守國(guó)家或地方規(guī)定的標(biāo)準(zhǔn)。在編制設(shè)備費(fèi)、材料費(fèi)等預(yù)算科目時(shí),要求使用目前市場(chǎng)上價(jià)格合理的設(shè)備材料。這要求科研人員在編寫預(yù)算時(shí)需要參考大量的標(biāo)準(zhǔn),并對(duì)市場(chǎng)上的設(shè)備材料供應(yīng)商詢價(jià),大大增加預(yù)算編制的工作量。
為了解決上述問題,開發(fā)一套可以支持課題參與單位協(xié)同編寫預(yù)算書的課題預(yù)算編制軟件具有十分重要的意義。本文首先抽象出一套可普遍適用的、可擴(kuò)展的預(yù)算科目數(shù)據(jù)模型,以滿足預(yù)算編寫的數(shù)據(jù)要求。然后使用可定制的預(yù)算書模版,結(jié)合語義分析技術(shù),將用戶填寫的結(jié)構(gòu)化預(yù)算數(shù)據(jù)實(shí)時(shí)生成完整規(guī)范的預(yù)算書。通過使用該課題預(yù)算編制軟件可以大幅提高預(yù)算編制的效率,減少編寫預(yù)算書的工作量,生成的預(yù)算書各科目說明準(zhǔn)確合理、完整無差錯(cuò)。
預(yù)算編制軟件分為數(shù)據(jù)層、功能層、應(yīng)用層和用戶層四個(gè)層次。
數(shù)據(jù)層包括知識(shí)庫、預(yù)算數(shù)據(jù)庫和數(shù)據(jù)模型三部分。知識(shí)庫
知識(shí)庫將預(yù)算書中的歷史數(shù)據(jù)整理抽象為知識(shí),用戶在編寫預(yù)算書時(shí)可以直接使用這些知識(shí),快速準(zhǔn)確的編制預(yù)算。知識(shí)庫包括產(chǎn)品庫、標(biāo)準(zhǔn)庫、預(yù)算庫、模板庫。
產(chǎn)品庫將設(shè)備費(fèi)、材料費(fèi)等科目的中出現(xiàn)的產(chǎn)品按行業(yè)、學(xué)科分類整理為知識(shí),每條知識(shí)包括產(chǎn)品的名稱、規(guī)格型號(hào)、生產(chǎn)單位、銷售單位、報(bào)價(jià)等信息。
標(biāo)準(zhǔn)庫集成了國(guó)家和地方對(duì)差旅費(fèi)、會(huì)議費(fèi)、勞務(wù)費(fèi)、國(guó)際交流與合作等科目的費(fèi)用標(biāo)準(zhǔn)。編寫預(yù)算書時(shí)參照費(fèi)用標(biāo)準(zhǔn)可以避免出現(xiàn)超標(biāo)的預(yù)算數(shù)據(jù)。
圖1 軟件架構(gòu)
預(yù)算庫中包括了大量的預(yù)算示例,這些示例按照行業(yè)、科目分類存儲(chǔ),用戶可以參照這些示例來編寫實(shí)際預(yù)算。
模板庫中保存了國(guó)家主體計(jì)劃、重大專項(xiàng)、儀器專項(xiàng)的預(yù)算書科目和體例模板,可以根據(jù)用戶填寫的預(yù)算書直接生成符合申報(bào)要求的預(yù)算書。用戶也可以根據(jù)需要定制預(yù)算科目和預(yù)算書格式。
預(yù)算數(shù)據(jù)庫和數(shù)據(jù)模型
預(yù)算數(shù)據(jù)庫采用關(guān)系型數(shù)據(jù)庫,存儲(chǔ)了用戶編寫的預(yù)算數(shù)據(jù)。數(shù)據(jù)模型是將數(shù)據(jù)庫中的內(nèi)容封裝為預(yù)算實(shí)體,不僅包括預(yù)算數(shù)據(jù),并增加了數(shù)據(jù)間的關(guān)聯(lián)關(guān)系和約束關(guān)系,同時(shí)還標(biāo)識(shí)了各數(shù)據(jù)項(xiàng)的數(shù)據(jù)語義。
功能層是預(yù)算編制軟件的核心,包括語義規(guī)則解析、預(yù)算模板管理和預(yù)算書生成。語義規(guī)則解析用于將預(yù)算數(shù)據(jù)模型轉(zhuǎn)換成人可以理解的段落和語句。預(yù)算模板管理用于定義預(yù)算書模板,可以將結(jié)果共享至模板庫。預(yù)算書生成是利用語義規(guī)則和預(yù)算模板,使用OpenXml 將預(yù)算數(shù)據(jù)模型生成通用的Word 格式文件。
應(yīng)用層為用戶提供編制預(yù)算數(shù)據(jù)等功能,包括課題管理、單位管理、預(yù)算數(shù)據(jù)管理等。用戶將需要編報(bào)預(yù)算的課題、任務(wù)、承擔(dān)單位和合作單位等相關(guān)數(shù)據(jù)錄入系統(tǒng)中,然后與課題各個(gè)參與單位協(xié)同完成各個(gè)科目預(yù)算編寫工作。
數(shù)據(jù)模型是課題預(yù)算說明書內(nèi)容的抽象表達(dá),是生成預(yù)算書和預(yù)算編制軟件開發(fā)的基礎(chǔ)。數(shù)據(jù)模型的研究?jī)?nèi)容包括模型抽象、模型表達(dá)和模型映射三個(gè)主要部分。
模型抽象:以科技部預(yù)算說明書為基礎(chǔ),收集大量不同類型的課題預(yù)算說明書作為樣本數(shù)據(jù),對(duì)樣本文檔進(jìn)行分析,結(jié)合語義轉(zhuǎn)化模式所需的數(shù)據(jù)結(jié)構(gòu)抽象出相應(yīng)的數(shù)據(jù)模型。結(jié)合科目的特點(diǎn)確定了概算模式、標(biāo)準(zhǔn)模式、單價(jià)分解模式和總額分解模式四種科目預(yù)算模型。
模型表達(dá):使用本體語言定義數(shù)據(jù)模型中類以及類之間的邏輯關(guān)系。為了正確表達(dá)預(yù)算書的數(shù)據(jù)模型,實(shí)現(xiàn)文本智能生成,使用關(guān)鍵字標(biāo)識(shí)法,對(duì)數(shù)據(jù)模型的每個(gè)屬性設(shè)置惟一標(biāo)識(shí),該標(biāo)識(shí)在文檔模板中作為數(shù)據(jù)項(xiàng)占位,在文檔生成時(shí)替換為具體的數(shù)據(jù)值。
模型映射:抽象的預(yù)算書數(shù)據(jù)模型需要映射為數(shù)據(jù)庫物理模型,以支持課題預(yù)算編制軟件實(shí)現(xiàn)。同時(shí)數(shù)據(jù)模型要映射為課題預(yù)算編制軟件中具體的實(shí)體類和關(guān)聯(lián)關(guān)系類。研究數(shù)據(jù)模型的更高層次元模型定義方法,以此元模型為基礎(chǔ)制定映射方法和映射規(guī)則,實(shí)現(xiàn)數(shù)據(jù)模型的自動(dòng)轉(zhuǎn)換。
語義轉(zhuǎn)化模式就是把以數(shù)據(jù)模型為基礎(chǔ)的用戶數(shù)據(jù)依據(jù)約定的語法規(guī)則按對(duì)應(yīng)的模板結(jié)合語義分析轉(zhuǎn)換為規(guī)范的符合自然語言習(xí)慣的課題預(yù)算說明書。
動(dòng)態(tài)模板技術(shù):預(yù)算說明書的格式和內(nèi)容根據(jù)科技專項(xiàng)類型、行業(yè)、課題規(guī)模等因素而有所區(qū)別,需要使用不同的模板以保證軟件的適用范圍。定義用戶數(shù)據(jù)與預(yù)算書模板之間的對(duì)應(yīng)規(guī)則及模板的生成語法,保證用戶數(shù)據(jù)轉(zhuǎn)換為課題預(yù)算說明書的實(shí)例化過程是動(dòng)態(tài)的,滿足基本的預(yù)算書生成實(shí)現(xiàn)。
圖2 材料費(fèi)編制界面
智能語義規(guī)則:由于用戶數(shù)據(jù)以數(shù)據(jù)模型為結(jié)構(gòu)基礎(chǔ),但用戶數(shù)據(jù)的內(nèi)容、填寫數(shù)據(jù)項(xiàng)的數(shù)量和完整性等因素是動(dòng)態(tài)的,需要在用戶數(shù)據(jù)編譯的邏輯階段加入智能語義分析,使生成的文檔符合自然語言規(guī)則、符合人們的閱讀習(xí)慣。定義預(yù)算書模板編譯過程中的語義生成規(guī)則,包含了數(shù)據(jù)類型、數(shù)據(jù)內(nèi)容、集合排序、判斷語句、循環(huán)語句等基本規(guī)則,同時(shí)針對(duì)上下文相關(guān)的數(shù)量、語言性質(zhì)、語言規(guī)范等方面進(jìn)行分析,定義適應(yīng)上下文語義的推理規(guī)則,從而修正關(guān)聯(lián)文字的表述形式,確保生成文檔的流暢性。
文檔生成:用戶可隨時(shí)生成及導(dǎo)出格式標(biāo)準(zhǔn)的課題預(yù)算說明書。根據(jù)語義轉(zhuǎn)化模式將數(shù)據(jù)模型轉(zhuǎn)換為可讀的內(nèi)容,并導(dǎo)出帶有標(biāo)題、正文、表格及自定義格式標(biāo)簽的符合Microsoft Word 及Microsoft Excel 展現(xiàn)形式的文檔。
通過以上的關(guān)鍵技術(shù)研究,本文基于.NET 開發(fā)了一套B/S 架構(gòu)的科研課題預(yù)算編制軟件,軟件中科目預(yù)算編輯界面如圖2 所示。
預(yù)算編制軟件提供了協(xié)同預(yù)算編制平臺(tái),課題的參與單位分別在線編制預(yù)算數(shù)據(jù),由平臺(tái)根據(jù)填報(bào)內(nèi)容自動(dòng)計(jì)算匯總生成預(yù)算說明書。在預(yù)算編制軟件的中設(shè)置多種形式的提示引導(dǎo),將科技部對(duì)預(yù)算編制的規(guī)范作為數(shù)據(jù)審核規(guī)則,方便各合作單位正確合理地編制課題任務(wù)預(yù)算。軟件保證各單位同時(shí)以統(tǒng)一的編制標(biāo)準(zhǔn)和編制原則填報(bào)預(yù)算數(shù)據(jù)。課題承擔(dān)單位可以實(shí)時(shí)監(jiān)督各單位的工作進(jìn)度,協(xié)調(diào)預(yù)算分配方案。通過預(yù)算說明書模版定制、結(jié)合語義分析技術(shù),實(shí)現(xiàn)一鍵自動(dòng)生成符合要求的預(yù)算說明書和預(yù)算表。
本文建立一套普遍適用的可擴(kuò)展預(yù)算數(shù)據(jù)模型,研究了數(shù)據(jù)模型的抽象方法和表達(dá)方式。結(jié)合語義分析技術(shù),使用可定制的動(dòng)態(tài)預(yù)算書模板,將用戶填寫的結(jié)構(gòu)化數(shù)據(jù)實(shí)時(shí)轉(zhuǎn)換成預(yù)算說明書。該軟件為課題參與單位協(xié)同編制預(yù)算書提供了一個(gè)平臺(tái)。通過使用該軟件可以提高預(yù)算編制的效率,減少編寫預(yù)算書的工作量,為后續(xù)科研工作的展開提供了有力支撐。