姜 鵬,許 峰,戚榮志
(河海大學(xué)計(jì)算機(jī)與信息學(xué)院,江蘇 南京 211100)
隨著水利信息化的發(fā)展,越來(lái)越多的防辦單位希望將水利信息系統(tǒng)融入到自身的工作內(nèi)容中,發(fā)揮信息系統(tǒng)的高效性和正確性,減輕相關(guān)人員的工作壓力,提高工作效率。而防汛防旱簡(jiǎn)報(bào)的編寫(xiě)則是一項(xiàng)非常繁瑣的任務(wù)。
防汛防旱簡(jiǎn)報(bào)是水利局防汛防旱指揮部根據(jù)需要定期編寫(xiě)的,針對(duì)當(dāng)前水情、雨情、氣象、險(xiǎn)情、災(zāi)情和一些突發(fā)情況所做的匯報(bào)文檔。文檔中包含當(dāng)前的實(shí)時(shí)情況、險(xiǎn)情災(zāi)情等造成的損失,下一階段采取的措施等內(nèi)容,形式上有工作通報(bào)、汛情匯報(bào)、汛期通報(bào)、防汛匯報(bào)等。
能否快速獲取當(dāng)前汛情、險(xiǎn)情、災(zāi)情等信息至關(guān)重要,所以防汛防旱簡(jiǎn)報(bào)的快速自動(dòng)生成是信息化發(fā)展的必然趨勢(shì),也是重中之重。
對(duì)于文檔自動(dòng)生成,國(guó)內(nèi)外的研究有很多,如曲明成[1]構(gòu)建了一套基于工作流的文檔生成系統(tǒng),實(shí)現(xiàn)了電力制造企業(yè)中某些復(fù)雜計(jì)算的自動(dòng)化;Jiirgen Buchner[2]結(jié)合 MVC 架構(gòu)設(shè)計(jì)了一種文檔描述模型框架 HotDoc;葛芬[3]提出了基于 VBA,ADO 和 ASP 等多項(xiàng)技術(shù),利用模板生成 Word 文檔的自動(dòng)生成平臺(tái);曾慶良[4]提出了支持作戰(zhàn)仿真系統(tǒng)的基于 XML/Macro 的文檔生成體系結(jié)構(gòu);亓祥波和馬騰[5-6]提出了信息抽取的相關(guān)策略。
可見(jiàn),文檔生成的研究成果,大部分應(yīng)用于統(tǒng)計(jì)和計(jì)算,即給出文檔范本,對(duì)某個(gè)特定業(yè)務(wù)進(jìn)行處理、統(tǒng)計(jì)或計(jì)算,得出文檔;或者根據(jù)業(yè)務(wù)規(guī)律,預(yù)先設(shè)計(jì)好文檔模板,在具體業(yè)務(wù)中根據(jù)一些規(guī)則抽取相關(guān)信息進(jìn)行填充,生成文檔,如辦公自動(dòng)化中的成績(jī)單或一些其他領(lǐng)域的報(bào)表生成。
現(xiàn)階段研究成果存在以下不足:
1)智能化不足,生成規(guī)則單一。生成的文檔基本是高度結(jié)構(gòu)化的報(bào)文、表單,或者是一些公式的計(jì)算,并且文檔模板是事先做好不可更改的。
2)信息量不大,數(shù)據(jù)來(lái)源單一。抽取的數(shù)據(jù)通常來(lái)源于本地,或局域網(wǎng)內(nèi)數(shù)據(jù)庫(kù),數(shù)據(jù)量少。而今后的發(fā)展,數(shù)據(jù)量會(huì)逐漸龐大,趨于海量。數(shù)據(jù)獲取來(lái)源也會(huì)從單一的數(shù)據(jù)庫(kù)變成網(wǎng)絡(luò)云服務(wù)。
3)復(fù)雜性不高,業(yè)務(wù)邏輯單一。一方面由于防汛業(yè)務(wù)的復(fù)雜性和不確定性,使得文檔的自動(dòng)生成邏輯復(fù)雜,難于控制;另一方面,水利對(duì)象數(shù)據(jù)繁多,通常需要調(diào)用多個(gè)業(yè)務(wù)系統(tǒng)獲取數(shù)據(jù),使得相關(guān)工作難于入手。這也是文檔自動(dòng)生成難以應(yīng)用防汛防旱文檔生成的主要原因之一。
在傳統(tǒng)的業(yè)務(wù)處理模式中,信息系統(tǒng)已發(fā)揮了相當(dāng)一部分作用,以防汛為例,如某一特定信息(如水雨情、氣象等)的統(tǒng)計(jì)和匯總,工作人員會(huì)從與其相關(guān)的業(yè)務(wù)系統(tǒng)中獲取信息,填入防汛文檔中。但在文檔生成的工作中,相當(dāng)一部分是高度流程化的業(yè)務(wù)任務(wù),這部分工作完全可以以工作流的方式自動(dòng)執(zhí)行。
將工作流應(yīng)用于防汛防旱簡(jiǎn)報(bào)生成,不僅將原本需要人工編寫(xiě)的離散的文件內(nèi)容抽象為具象、統(tǒng)一、標(biāo)準(zhǔn)的一體化工作流,而且可實(shí)現(xiàn)任務(wù)的自動(dòng)完成,從而快速生成格式規(guī)范、數(shù)據(jù)準(zhǔn)確、內(nèi)容完善的防汛文檔。
另一方面,在“水利云”環(huán)境下,基于 SOA 架構(gòu)對(duì)遺產(chǎn)系統(tǒng)進(jìn)行升級(jí)改造,將調(diào)用業(yè)務(wù)數(shù)據(jù)的相關(guān)邏輯代碼仍保留在原業(yè)務(wù)系統(tǒng)中,同時(shí)在此基礎(chǔ)上開(kāi)發(fā)一套 RESTful API 接口,提供其他業(yè)務(wù)系統(tǒng)的訪問(wèn)?,F(xiàn)下,各業(yè)務(wù)信息(如水雨情信息)統(tǒng)一由單一功能服務(wù)(如水雨情查詢(xún)服務(wù))接入數(shù)據(jù)中心,獲取數(shù)據(jù),其他系統(tǒng)在獲取水雨情信息時(shí)調(diào)用該服務(wù)相關(guān)接口。這樣不僅提高代碼的利用率和開(kāi)發(fā)效率,同時(shí)也使不同服務(wù)易于個(gè)性化組合,提高服務(wù)質(zhì)量。在文檔生成工作流過(guò)程中,涉及實(shí)時(shí)數(shù)據(jù)的部分,只需調(diào)用不同的服務(wù)接口,就可以高效獲取業(yè)務(wù)數(shù)據(jù)。
為此,設(shè)計(jì)一套基于水利云的防汛文檔自動(dòng)生成模型,并給出相關(guān)算法,建立一套完整的文檔自動(dòng)生成系統(tǒng)(以下簡(jiǎn)稱(chēng)系統(tǒng))。目前該系統(tǒng)已在水利局防汛防旱指揮部投入使用,功能比較完善。
操作時(shí),將現(xiàn)有的歷史文檔離散化,并保存至數(shù)據(jù)庫(kù)中。而歷史文檔都是 Word 格式的文件。從文件到離散化的文本數(shù)據(jù),必須建立 1 套存儲(chǔ)規(guī)則,將文件中的數(shù)據(jù)一一保存至數(shù)據(jù)庫(kù),這樣才能實(shí)現(xiàn)工作流各個(gè)節(jié)點(diǎn)對(duì)文檔數(shù)據(jù)的讀取和操作。文檔離散化存儲(chǔ)結(jié)構(gòu)圖如圖 1 所示。
工作流中,每個(gè)節(jié)點(diǎn)操作的文檔內(nèi)容不一樣,有的針對(duì)文檔結(jié)構(gòu),有的針對(duì)章節(jié),有的針對(duì)文檔段落內(nèi)容,有的針對(duì)文檔的實(shí)時(shí)數(shù)據(jù)和圖表。因此文檔存儲(chǔ)的基本單元不能是文檔,必須至少細(xì)化至每個(gè)段落。針對(duì)不同業(yè)務(wù)需求,將文檔分為文檔、章節(jié)和段落 3 類(lèi)對(duì)象,并離散化保存至數(shù)據(jù)庫(kù)。各個(gè)流模塊將這些離散數(shù)據(jù)結(jié)合用戶需求和實(shí)際情況再進(jìn)行組合,得到生成的文檔。
圖1 文件化文檔離散化存儲(chǔ)結(jié)構(gòu)圖
文檔組成元素結(jié)構(gòu)圖如圖 2 所示。
圖2 文檔元素結(jié)構(gòu)圖
生成文檔時(shí),需要根據(jù)需求,尋找最符合的章節(jié)塊或段落。尋找過(guò)程需要給出相應(yīng)算法,結(jié)合用戶需求、數(shù)據(jù)指標(biāo),并參考?xì)v史文檔進(jìn)行智能選擇。
當(dāng)智能選擇的結(jié)果不符合用戶需求時(shí),能夠?qū)μ囟ǖ亩温渥鱿嗨苾?nèi)容匹配,即尋找與該段落內(nèi)容相似的其他段落內(nèi)容,并做整段替換。系統(tǒng)結(jié)構(gòu)如圖 3 所示。
經(jīng)分析,防汛文檔的自動(dòng)生成包括文檔結(jié)構(gòu)、章節(jié)、段落的自動(dòng)生成。
業(yè)務(wù)人員通過(guò)選擇或輸入,確定文檔需求,并根據(jù)文章需求確定文章組成結(jié)構(gòu)。如需生成工作匯報(bào),則選擇工作匯報(bào)相關(guān)文檔結(jié)構(gòu)。
圖3 系統(tǒng)總體結(jié)構(gòu)圖
模型構(gòu)建時(shí),首先定義文檔各組成元素結(jié)構(gòu),然后給出每種元素之間的相互邏輯關(guān)系,隨后總結(jié)出 1 套完整可靠的文檔生成工作流模塊,并根據(jù)流模塊需求完成文檔各元素的構(gòu)造算法,最終給出文檔自動(dòng)生成的模型。模型的構(gòu)建依賴(lài)于業(yè)務(wù)邏輯,并以業(yè)務(wù)人員的工作經(jīng)驗(yàn)為構(gòu)建法則。模型的求解就是智能生成文檔的工作流程。文檔數(shù)據(jù)的獲取統(tǒng)一來(lái)自于云服務(wù),訪問(wèn)方式統(tǒng)一根據(jù)水利云中設(shè)定的 RESTful API 接口。
本文給出的文檔描述模型是基于標(biāo)簽的,根據(jù)文檔內(nèi)容、撰寫(xiě)時(shí)間、投遞對(duì)象等信息,總結(jié)出符合文檔的標(biāo)簽,用于描述文檔的內(nèi)容和屬性。
文檔描述模型規(guī)則如下:
1)文檔結(jié)構(gòu)。在本模型下,每篇實(shí)際文檔由文檔(Doc)、章節(jié)(Section)、段落(Para)3 種對(duì)象實(shí)體進(jìn)行描述,每類(lèi)對(duì)象實(shí)體又同時(shí)由 1 個(gè)或多個(gè)標(biāo)簽對(duì)象(Label)進(jìn)行描述,這 4 類(lèi)對(duì)象構(gòu)成該模型下的文檔組成結(jié)構(gòu)。
2)文檔對(duì)象。文檔對(duì)象記錄文檔的標(biāo)題、日期、章節(jié)結(jié)構(gòu),1 個(gè)文檔對(duì)象包含多個(gè)章節(jié),任意 1 個(gè)文檔對(duì)象實(shí)體都可以根據(jù)文檔-章節(jié)關(guān)系、章節(jié)-段落關(guān)系還原 1 篇實(shí)際文檔。具體關(guān)系如下:
式中:D 表示 1 個(gè)文檔對(duì)象,是 1 個(gè) 4 元集合;T 為文檔標(biāo)題;D 為文檔時(shí)間;SD為章節(jié)集合;LD為文檔標(biāo)簽集合。其中章節(jié)與標(biāo)簽集都由多個(gè)章節(jié)和標(biāo)簽對(duì)象組成。
3)章節(jié)對(duì)象。每篇文檔會(huì)有多個(gè)章節(jié),章節(jié)對(duì)象描述該章節(jié)的名稱(chēng),1 個(gè)章節(jié)包含多個(gè)段落。具體關(guān)系如下:
式中:S 表示 1 個(gè)章節(jié)對(duì)象,是 1 個(gè) 3 元集合;Ns為章節(jié)名;Ps為段落集合;Ls為章節(jié)標(biāo)簽集合。其中段落集與標(biāo)簽集都由多個(gè)段落和標(biāo)簽對(duì)象組成。
4)段落對(duì)象。段落是組成文檔的基本對(duì)象,段落對(duì)象記錄文檔中對(duì)應(yīng)段落的名稱(chēng)、內(nèi)容,具體關(guān)系如下:
式中:P 表示 1 個(gè)段落對(duì)象,是 1 個(gè) 3 元集合;Np為段落名;Cp為段落內(nèi)容;Lp為段落標(biāo)簽集合。其中標(biāo)簽集由多個(gè)標(biāo)簽對(duì)象組成。
5)標(biāo)簽對(duì)象。標(biāo)簽對(duì)象是用于描述上述 3 種對(duì)象的元對(duì)象,主要用于描述文檔、章節(jié)、段落的基本內(nèi)容,便于進(jìn)行分類(lèi)、檢索,具體關(guān)系如下:
式中:L 表示 1 個(gè)標(biāo)簽對(duì)象,是 1 個(gè) 2 元集合;NL為標(biāo)簽名;DL為標(biāo)簽文字描述。
本模型中,主要對(duì)文檔內(nèi)容進(jìn)行分類(lèi),并將各類(lèi)信息進(jìn)行抽象、定義和使用,使原本文件化的文檔離散化,抽象為可被記錄和檢索的數(shù)據(jù)對(duì)象。這種描述方式不僅保留了原文檔的全部信息,同時(shí)也可以對(duì)其進(jìn)行不同對(duì)象的數(shù)據(jù)檢索,增加了數(shù)據(jù)檢索的靈活性。
防汛文檔中,某些段落需要進(jìn)行數(shù)據(jù)抽取,而提高數(shù)據(jù)抽取準(zhǔn)確性的主要途徑是在某種程度上理解數(shù)據(jù)源的內(nèi)容[5]。目前,流行且易實(shí)現(xiàn)的技術(shù)一般采用關(guān)鍵詞與通配符序列組合作為模板的方式[6]。本文也采用段落模板的方式,實(shí)現(xiàn)對(duì)文檔中實(shí)時(shí)數(shù)據(jù)的替換。
定義 1:段落模板 P = < I, W>,其中 I 表示模板中所需替換的實(shí)時(shí)數(shù)據(jù)集,W 表示段落中的實(shí)際文字。為方便替換,將所需替換為實(shí)時(shí)數(shù)據(jù)的段落位置用占位符代替,再獲取數(shù)據(jù)或替換。
為保證段落統(tǒng)一性,將不包含實(shí)時(shí)數(shù)據(jù)的段落作為空模板??漳0?P = W 無(wú)需做任何處理。
定義 2:數(shù)據(jù)集為 I = {I1, I2, …, In},I = <ω, μ, τ >。式中:ω,μ,τ 均為元數(shù)據(jù),ω 為數(shù)值數(shù)據(jù),μ 為特征比較值,τ 表示時(shí)間。
如 2011 年 7 月 20 日洪澤湖蔣壩水位為 11.94 m,低于汛限水位 0.56 m,元數(shù)據(jù)表述為
為了使系統(tǒng)能在邏輯上理解數(shù)據(jù)的含義,在該模型下,將數(shù)據(jù)與占位符進(jìn)行了綁定,如 1 號(hào)數(shù)據(jù)為當(dāng)日降雨,則占位符(用“{1}”表示)固定被解釋為當(dāng)日降雨信息。占位符可以被添加和刪除,不可進(jìn)行修改。
針對(duì)需求,將多類(lèi)段落模板組合拼接為文章模板,最后填充數(shù)據(jù)即可得到生成的文檔。
模板替換算法如下:
1)獲取替換規(guī)則編號(hào) ruleId;
2)根據(jù)替換規(guī)則編號(hào),從數(shù)據(jù)庫(kù)中獲取替換規(guī)則類(lèi)名 className;
3)運(yùn)行替換規(guī)則類(lèi)方法,
Class.forName (className).createData ( )
得到數(shù)據(jù)獲取類(lèi),并執(zhí)行該類(lèi)實(shí)現(xiàn)的獲取數(shù)據(jù)接口方法,方法中進(jìn)行數(shù)據(jù)對(duì)應(yīng)云服務(wù)的安全認(rèn)證,并獲取數(shù)據(jù);
4)將原文中的數(shù)據(jù)替換為對(duì)應(yīng)占位符,生成原文模板;
5)將模板中的占位符依次替換,得到實(shí)時(shí)數(shù)據(jù)段落;
6)返回段落內(nèi)容。
實(shí)時(shí)數(shù)據(jù)在處理結(jié)束后,得到的數(shù)據(jù)信息還將傳遞給圖表生成類(lèi)進(jìn)行圖表的生成,根據(jù)需求的不同生成不同的圖表,返回到前臺(tái),并實(shí)時(shí)插入至對(duì)應(yīng)段落后。
所有工作完成后,就得到自動(dòng)生成的 1 篇新文檔。
在該模型下,需要能夠從用戶輸入的少量信息中提取出更多有效的數(shù)據(jù)和文檔內(nèi)容,智能、自動(dòng)生成相關(guān)文檔,這就要求算法能夠?qū)?nèi)容進(jìn)行智能選擇。
傳統(tǒng)算法根據(jù)用戶輸入信息進(jìn)行匹配,將匹配結(jié)果作為選擇內(nèi)容。這種做法直觀且易實(shí)現(xiàn),但由于要求與用戶輸入的信息完全匹配,條件過(guò)強(qiáng),往往搜索不到結(jié)果。同時(shí),傳統(tǒng)算法通常為確定性算法,而文檔的智能生成一般沒(méi)有定向性,確定算法的解未必適用。
為此吸收傳統(tǒng)做法的優(yōu)點(diǎn),在簡(jiǎn)單匹配中加入一些啟發(fā)式信息[7],結(jié)合 Rough Set 理論[8],根據(jù)文檔描述模型,設(shè)計(jì)了 1 套多模式文檔標(biāo)簽匹配算法(MLMA 算法)。該算法是根據(jù)用戶輸入進(jìn)行的一種模糊匹配算法,步驟如下:
1)等待用戶輸入的標(biāo)簽集。標(biāo)簽集中包含 1 個(gè)或多個(gè)用戶需要檢索的標(biāo)簽。
2)單個(gè)標(biāo)簽匹配。單個(gè)標(biāo)簽匹配是根據(jù)某個(gè)特定的標(biāo)簽,檢索出與該標(biāo)簽匹配的文檔、章節(jié)或段落對(duì)象。單個(gè)標(biāo)簽匹配需要按順序使用 4 類(lèi)匹配模式進(jìn)行匹配(以搜索文檔為例)。
a)完全匹配。即輸入內(nèi)容與描述該文檔的標(biāo)簽內(nèi)容完全一致,匹配成功,匹配度為 match_dA= 1。
b)語(yǔ)義等價(jià)匹配。這種匹配需要借助已建立的語(yǔ)義等價(jià)表,在實(shí)際應(yīng)用中如“未來(lái)計(jì)劃”、“未來(lái)打算”、“下階段計(jì)劃”、“下階段打算”在語(yǔ)義上是一致的,若用戶輸入的是“未來(lái)計(jì)劃”,則“未來(lái)計(jì)劃”為完全匹配,“下階段打算”等為語(yǔ)義等價(jià)匹配,匹配度為 match_dB= 1。
這里根據(jù)實(shí)際情況、常識(shí)或語(yǔ)言習(xí)慣,給出多種等價(jià)標(biāo)簽對(duì),并保存至等價(jià)語(yǔ)義庫(kù)中。
c)部分聯(lián)想匹配。當(dāng)完全和語(yǔ)義等價(jià) 2 種匹配都失效,可采用部分聯(lián)想匹配。如針對(duì)用戶輸入的標(biāo)簽與實(shí)際標(biāo)簽的部分內(nèi)容完全一致,例如用戶輸入“雨情”,與“全市雨情”實(shí)際上語(yǔ)義相近,可作為近似聯(lián)想匹配。聯(lián)想后字?jǐn)?shù)為 n,匹配字?jǐn)?shù)為 m,匹配度為
d)破壞匹配。這是標(biāo)簽匹配的最壞情況,當(dāng)標(biāo)簽匹配都不滿足上面 3 種情況時(shí),可以嘗試使用破壞匹配。這種匹配是將被匹配的 2 個(gè)標(biāo)簽破壞掉部分文字后達(dá)到完全或語(yǔ)義等價(jià)匹配。這類(lèi)匹配的目的是防止用戶在檢索時(shí)輸入錯(cuò)誤,但是有時(shí)候會(huì)造成語(yǔ)義上的偏差。最終匹配字?jǐn)?shù)為 n,破壞字?jǐn)?shù)總數(shù)為 k,匹配度為
若檢索“防汛通報(bào)”,則標(biāo)簽“汛情通報(bào)”與其破壞匹配度為(4-1)/4 = 0.75;而標(biāo)簽“工作總結(jié)”與其破壞匹配度為(4 - 4)/4 = 0。
破壞匹配認(rèn)為,在破壞原詞組結(jié)構(gòu)的同時(shí),語(yǔ)義匹配度也隨時(shí)降低,從而使其在破壞語(yǔ)義的情況下,破壞匹配的匹配度會(huì)盡量低。
根據(jù)匹配規(guī)則,選擇匹配度最高的 1 組標(biāo)簽組作為匹配結(jié)果,顯然完全和語(yǔ)義等價(jià) 2 種匹配會(huì)優(yōu)先被選擇。當(dāng)匹配度低到一定程度后認(rèn)為匹配失敗。
3)全集合匹配。枚舉庫(kù)中的文檔,將文檔的標(biāo)簽與用戶的輸入標(biāo)簽集合一一匹配,計(jì)算文檔與標(biāo)簽集合相似度,相似度由如下公式計(jì)算:
式中:widthi為每個(gè)標(biāo)簽匹配度的權(quán)值,由權(quán)值向量W 給出;cpsi為每個(gè)標(biāo)簽的匹配補(bǔ)償,由補(bǔ)償向量 C給出。權(quán)值與補(bǔ)償向量會(huì)根據(jù)用戶需求,文檔類(lèi)型動(dòng)態(tài)改變。如對(duì)于傳統(tǒng)匹配算法,權(quán)值向量為 W = [1, 0, 0, 0],補(bǔ)償向量為 C = [0, 0, 0, 0],目前所使用的權(quán)值向量為 W = [1, 1, 0.75, 0.5],補(bǔ)償向量為 C = [0, 0, 0.2, 0.3]。
即完全匹配與等價(jià)匹配權(quán)值為 1,無(wú)補(bǔ)償;部分聯(lián)想權(quán)值為 0.75,做 0.2 的補(bǔ)償修正;破壞匹配權(quán)值為 0.5,做 0.3 的補(bǔ)償修正。
根據(jù)公式得到文檔相似度,并根據(jù)降序排序,選擇前 10 個(gè)(可配置)文檔作為檢索結(jié)果返回,顯然相似度最高的文檔可能滿足用戶的搜索需求。一旦用戶輸入的需求過(guò)多而無(wú)法找到完全匹配的結(jié)果,該算法就會(huì)自動(dòng)降低搜索條件,將部分滿足條件的結(jié)果返回,使用戶不至于一無(wú)所獲,提高了用戶體驗(yàn),同時(shí)增強(qiáng)了模型的兼容性。
該算法不僅可以在用戶搜索文檔時(shí)使用,也可以檢索文檔、章節(jié)、段落之間的相似度。當(dāng)用戶需要替換某個(gè)章節(jié)或段落時(shí),就可以用該算法匹配出相似度最高的章節(jié)或段落作為推薦。
工作流是一類(lèi)能夠完全或部分自動(dòng)執(zhí)行的經(jīng)營(yíng)過(guò)程,根據(jù)一系列過(guò)程規(guī)則,文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間傳遞和執(zhí)行[9]。如今,利用工作流將日常工作與信息系統(tǒng)相結(jié)合的做法越來(lái)越普遍,也越來(lái)越受到各行各業(yè)的認(rèn)可。
要實(shí)現(xiàn)文檔生成工作的智能執(zhí)行,首先必須建立工作的模型,進(jìn)行工作流程定義[10],給出工作流模型。
在本文中,工作流模型用有向圖的方式給出,圖中節(jié)點(diǎn)表示工作流的節(jié)點(diǎn),邊表示活動(dòng)流動(dòng)關(guān)系。
定義 3:用 N 表示工作流中的某個(gè)節(jié)點(diǎn),即某個(gè)工作步驟。
式中:N 是 1 個(gè) 7 元組,n 表示節(jié)點(diǎn)名稱(chēng);t 表示節(jié)點(diǎn)類(lèi)型;r 表示節(jié)點(diǎn)角色,用于區(qū)分該節(jié)點(diǎn)針對(duì)用戶還是計(jì)算機(jī);C 為該節(jié)點(diǎn)條件集;D 表示該節(jié)點(diǎn)數(shù)據(jù)集;NP和 Nn表示與當(dāng)前節(jié)點(diǎn)相連的前驅(qū)邊集和后繼邊集。
定義 4:有向邊 E 描述節(jié)點(diǎn)之間的數(shù)據(jù)流動(dòng)和任務(wù)完成關(guān)系。E = <N1, N2> 表示從節(jié)點(diǎn) N1到節(jié)點(diǎn) N2有 1 條有向邊,N1為前驅(qū)節(jié)點(diǎn),N2為后繼節(jié)點(diǎn),數(shù)據(jù)從 N1傳遞至 N2。
定義 5:條件集 C 為該節(jié)點(diǎn)的激活條件,在條件集不全為真的情況下,節(jié)點(diǎn)不被激活。
定義 6:有向圖 G 表示 1 個(gè)過(guò)程,G = <m, N, E>,m 表示過(guò)程名;N 表示全部節(jié)點(diǎn)集;E 表示全部有向邊集。
最終設(shè)計(jì)的工作流結(jié)構(gòu)圖如圖 4 所示。
依據(jù)上文中定義的各類(lèi)模型、相關(guān)操作和算法,構(gòu)建防汛文檔自動(dòng)生成系統(tǒng),系統(tǒng)將相關(guān)操作、算法及各類(lèi)函數(shù)封裝為特定的功能模塊最終實(shí)現(xiàn)文檔生成系統(tǒng)。
系統(tǒng)分為文檔管理、錄入與生成 3 大模塊。
1)文檔管理模塊。主要工作是對(duì)現(xiàn)有的文檔數(shù)據(jù)庫(kù)進(jìn)行管理,包括文檔增加、刪除、分類(lèi)查看。根據(jù)文檔的實(shí)時(shí)性特點(diǎn)、編寫(xiě)時(shí)間進(jìn)行分類(lèi)。
2)文檔錄入模塊。依據(jù)給出的文檔描述模型對(duì)文檔進(jìn)行描述。實(shí)際工作中,用戶需要根據(jù)模型,對(duì)歷史文檔進(jìn)行錄入,流程圖如圖 5 所示。
文檔錄入頁(yè)面效果圖如圖 6 所示。
3)文檔生成流程。關(guān)鍵步驟在于對(duì)智能化標(biāo)簽匹配算法的實(shí)現(xiàn),而該算法已經(jīng)封裝與模塊中,提供接口直接調(diào)用,流程圖如圖 7 所示。
文檔中包含的實(shí)時(shí)數(shù)據(jù),需要提示用戶輸入時(shí)間,輸入后可自動(dòng)根據(jù)時(shí)間替換相應(yīng)的數(shù)據(jù)信息。
最終生成的文檔如圖 8 所示。
圖4 工作流結(jié)構(gòu)圖
圖5 文檔錄入流程圖
圖6 文檔錄入頁(yè)面
圖7 文檔生成流程圖
傳統(tǒng)的文檔生成主要針對(duì)業(yè)務(wù)相對(duì)單一,數(shù)據(jù)量小的流程設(shè)計(jì)。針對(duì)防汛防旱業(yè)務(wù)過(guò)程的文檔生成難題,提出的防汛文檔自動(dòng)生成模型,通過(guò)給出的對(duì)文檔的分解和各模塊的定義,以及相關(guān)算法,能解決文檔內(nèi)容在智能生成中語(yǔ)義匹配的難題。根據(jù)模型,以水利局防汛業(yè)務(wù)為背景,水利云計(jì)算平臺(tái)環(huán)境,構(gòu)建的防汛文檔自動(dòng)生成系統(tǒng),在業(yè)務(wù)復(fù)雜度、數(shù)據(jù)量,以及智能化程度上都有一定的突破。
圖8 文檔預(yù)覽頁(yè)面
目前防汛文檔自動(dòng)生成系統(tǒng)已經(jīng)投入使用,在實(shí)際使用中,能夠滿足防汛防旱指揮部對(duì)文檔自動(dòng)生成的業(yè)務(wù)需求,大大提高了防汛決策效率和準(zhǔn)確性。但該系統(tǒng)目前的適用范圍較小,今后可以在系統(tǒng)中進(jìn)一步擴(kuò)展其他文檔生成功能,進(jìn)一步提高水利行業(yè)文檔編寫(xiě)的效率。
參考文獻(xiàn):
[1] 曲明成,廖明宏,吳翔虎,等. 一種文檔自動(dòng)生成模型的構(gòu)建及其應(yīng)用[J]. 計(jì)算機(jī)集成制造系統(tǒng), 2008, 14 (7): 1297-1305.
[2] Buchner J, Fehnl T, Kunstmann T. HotDoc: a flexible framework for spatial composition[C]//Visual Languages, 1997. Proceedings. 1997 IEEE Symposium on. IEEE, 1997: 92-99.
[3] 葛芬,吳寧. 基于多種技術(shù)的 Word 設(shè)計(jì)文檔自動(dòng)生成平臺(tái)[J]. 電子科技大學(xué)學(xué)報(bào),2007, 36 (2): 263-266.
[4] 曾慶良,王偉,范文慧,等. 基于 XML/Macro 的文檔自動(dòng)生成系統(tǒng)的研究與實(shí)現(xiàn)[J]. 計(jì)算機(jī)應(yīng)用研究,2006 (7): 121-122.
[5] 亓祥波,南琳,張福順. 基于元數(shù)據(jù)和 XML 的信息抽取 與集成技術(shù)研究[J]. 信息與控 制,2008, 37 (1): 52-57.
[6] 馬騰. 基于 ontology 的信息抽取系統(tǒng)的研究與實(shí)現(xiàn)[D]. 電子科技大學(xué),2006.
[7] 代建華,李元香. 粗集中屬性約簡(jiǎn)的一種啟發(fā)式遺傳算法[J]. 西安交通大學(xué)學(xué)報(bào),2002, 36 (12): 1286-1290.
[8] Pawlak Z, Skowron A. Rough set rudiments[J]. Bulletin of International Rough Set Society, 1999, 3 (4): 181-185.
[9] 羅海濱,范玉順,吳澄. 工作流技術(shù)綜述[J]. 軟件學(xué)報(bào),2000, 11 (7): 899-907.
[10] 李偉平,李莉,薛勁松,等. 工作流管理系統(tǒng)實(shí)現(xiàn)技術(shù)研究[J]. 計(jì)算機(jī)集成制造系統(tǒng),2002, 8 (3): 202-206.