李 航,林 劼,高 菱,桑玉坤
(1.成都市河湖保護(hù)和智慧水務(wù)中心,610072,成都;2.電子科技大學(xué),611731,成都)
關(guān)鍵字:語(yǔ)義解析;數(shù)據(jù)可視化;智慧水務(wù);水務(wù)大數(shù)據(jù)
近年,成都市緊密結(jié)合建設(shè)“智慧城市” 要求推進(jìn)智慧水務(wù)建設(shè),將智慧水務(wù)建設(shè)與錦江水生態(tài)治理智慧項(xiàng)目整合推進(jìn), 以城市大腦為基礎(chǔ),通過(guò)若干控制性重點(diǎn)水務(wù)信息化項(xiàng)目建設(shè),整合和完善現(xiàn)有信息系統(tǒng)功能,全面接入以“六水”(即水資源、水安全、水凈化、水生態(tài)、水管理、水文化)為代表的各業(yè)務(wù)功能,打造全域的泛在感知系統(tǒng),全量匯聚水務(wù)數(shù)據(jù),強(qiáng)化數(shù)據(jù)挖掘在山洪預(yù)測(cè)、管網(wǎng)優(yōu)化、 水資源調(diào)度等領(lǐng)域的應(yīng)用,建立統(tǒng)一物聯(lián)感知平臺(tái)、統(tǒng)一數(shù)據(jù)支撐平臺(tái)和統(tǒng)一應(yīng)用服務(wù)平臺(tái)。
由于整合的各項(xiàng)信息系統(tǒng)存在大量、繁雜的水務(wù)數(shù)據(jù),如何甄別其中的價(jià)值信息并進(jìn)行可視化展示,從而實(shí)現(xiàn)更高效的管理,成為擺在水務(wù)工作者面前的一大問(wèn)題,促使新型智慧水務(wù)數(shù)據(jù)可視化概念的提出。 在大數(shù)據(jù)架構(gòu)基礎(chǔ)之上,通過(guò)對(duì)水務(wù)大數(shù)據(jù)進(jìn)行可視化,可以讓管理者、決策者更高效地了解水務(wù)生態(tài)環(huán)境的重要信息和細(xì)節(jié)層次,從而進(jìn)行有效的決策判斷。 現(xiàn)有的水務(wù)大數(shù)據(jù)可視化系統(tǒng)主要依托商業(yè)智能報(bào)表可視化作為數(shù)據(jù)可視化核心技術(shù),在需要對(duì)某時(shí)空、項(xiàng)目的數(shù)據(jù)統(tǒng)計(jì)、查看時(shí),需要專業(yè)程序員操作,花費(fèi)的人工和時(shí)間較多。
成都市河長(zhǎng)制管理信息系統(tǒng)是成都市智慧水務(wù)架構(gòu)的重要組成部分, 該系統(tǒng)前期采用傳統(tǒng)商業(yè)智能報(bào)表可視化技術(shù)為數(shù)據(jù)展現(xiàn)方式。商業(yè)智能報(bào)表可視化技術(shù)以數(shù)據(jù)為驅(qū)動(dòng)元素, 聯(lián)動(dòng)業(yè)務(wù)支撐與業(yè)務(wù)數(shù)據(jù)展現(xiàn)。 其數(shù)據(jù)展現(xiàn)過(guò)程主要分為兩種模式。
①組合型展示模式: 預(yù)先構(gòu)建不同的數(shù)據(jù)模型, 每個(gè)數(shù)據(jù)模型對(duì)應(yīng)一個(gè)可視化單元(如曲線圖、餅圖等),最后多個(gè)可視化單元組裝成可視化頁(yè)面, 實(shí)現(xiàn)數(shù)據(jù)的綜合性展示呈現(xiàn)。
②預(yù)定報(bào)表型展示模式:該模式下可視化頁(yè)面預(yù)先定義。 用戶通過(guò)對(duì)預(yù)先設(shè)定的查詢條件進(jìn)行選擇組合,形成查詢組合,系統(tǒng)根據(jù)查詢組合構(gòu)建對(duì)應(yīng)的數(shù)據(jù)模型,最終形成的查詢結(jié)果以可視化形式進(jìn)行呈現(xiàn)。
如上所描述,當(dāng)每次產(chǎn)生新數(shù)據(jù)展現(xiàn)需求時(shí),該系統(tǒng)都需要經(jīng)過(guò)人工定制查詢代碼、數(shù)據(jù)模型、展示組件,最終導(dǎo)出數(shù)據(jù)文件并展現(xiàn)這一繁瑣過(guò)程。 雖然系統(tǒng)可以達(dá)到數(shù)據(jù)可視化效果, 但無(wú)論是組合型展示模式還是預(yù)定報(bào)表型展示方式, 由于其預(yù)定和固定數(shù)據(jù)模型的缺點(diǎn), 相關(guān)業(yè)務(wù)人員很難真正進(jìn)行有效數(shù)據(jù)發(fā)掘, 從而靈活便捷地獲取到想要的數(shù)據(jù)信息。
目前已有的水務(wù)大數(shù)據(jù)可視化方案, 均存在以下問(wèn)題: ①依然采用數(shù)據(jù)模型預(yù)先固定或查詢條件預(yù)先限制的靜態(tài)數(shù)據(jù)模型模式,缺乏數(shù)據(jù)模型的動(dòng)態(tài)構(gòu)建性,無(wú)法滿足數(shù)據(jù)探索分析中數(shù)據(jù)模型的可變性要求; ②需要預(yù)先定制開(kāi)發(fā)可視化方案,且定制復(fù)雜費(fèi)時(shí),定制的可視化方案難于擴(kuò)展來(lái)滿足快速變化的數(shù)據(jù)探索需求; ③無(wú)法做到很好的人機(jī)交互性, 只是對(duì)定制的數(shù)據(jù)展示進(jìn)行機(jī)械性的執(zhí)行和呈現(xiàn),系統(tǒng)無(wú)法理解使用者的數(shù)據(jù)展現(xiàn)意圖和思想。
針對(duì)如何尋求智慧水務(wù)中真正智慧數(shù)據(jù)可視化方案的問(wèn)題, 本文探索了一種結(jié)合語(yǔ)義解釋能力、知識(shí)理解能力和動(dòng)態(tài)數(shù)據(jù)建模能力為一體的智慧水務(wù)數(shù)據(jù)可視化技術(shù)。技術(shù)框架如圖1 所示, 其通過(guò)對(duì)用戶的數(shù)據(jù)探索語(yǔ)言進(jìn)行自然語(yǔ)義理解,獲知用戶的數(shù)據(jù)探索意圖,并結(jié)合水務(wù)系統(tǒng)數(shù)據(jù)知識(shí), 形成數(shù)據(jù)模型理解, 進(jìn)一步動(dòng)態(tài)構(gòu)建數(shù)據(jù)模型實(shí)現(xiàn)數(shù)據(jù)的語(yǔ)義型探索, 最后再將探索到的數(shù)據(jù)以靈活的可視化方式進(jìn)行呈現(xiàn)。 該方案實(shí)現(xiàn)了人類(lèi)語(yǔ)義和水務(wù)數(shù)據(jù)語(yǔ)義二維語(yǔ)義相結(jié)合的新型智慧水務(wù)可視化過(guò)程, 不僅可以減輕在水務(wù)數(shù)據(jù)探索過(guò)程中紛繁復(fù)雜的人工定制可視化操作, 也能為水務(wù)行業(yè)相關(guān)人員提供更靈活、準(zhǔn)確、可無(wú)限擴(kuò)展、以意圖為導(dǎo)向的數(shù)據(jù)展示服務(wù)。
圖1 語(yǔ)義型水務(wù)數(shù)據(jù)可視化整體方案流程
語(yǔ)義型水務(wù)數(shù)據(jù)可視化方案如圖1 所示,系統(tǒng)對(duì)用戶輸入的任意一個(gè)數(shù)據(jù)探索語(yǔ)言都通過(guò)以下三個(gè)關(guān)鍵步驟完成從自然語(yǔ)言到水務(wù)數(shù)據(jù)查詢可視化轉(zhuǎn)變:①自然語(yǔ)義理解過(guò)程。 該模塊主要對(duì)用戶輸入的數(shù)據(jù)探索語(yǔ)言進(jìn)行自然語(yǔ)言解析。 具體步驟包括語(yǔ)言分詞、依存關(guān)系分析、時(shí)間解析、數(shù)字解析。 該模塊的目的是通過(guò)語(yǔ)義解析將自然語(yǔ)言轉(zhuǎn)換為對(duì)應(yīng)的數(shù)據(jù)語(yǔ)言。 ②知識(shí)映射過(guò)程。 該模塊實(shí)現(xiàn)了數(shù)據(jù)語(yǔ)言到數(shù)據(jù)模型的映射。 包括表名解析、列名解析、查詢條件解析和結(jié)合Type-Aware 技術(shù)的數(shù)據(jù)模型生成。③數(shù)據(jù)可視化過(guò)程。該模塊采用傳統(tǒng)商業(yè)智能數(shù)據(jù)可視化展現(xiàn)技術(shù), 基于WEB 的數(shù)據(jù)可視化組件(如條形圖、多維數(shù)據(jù)可視化組件、餅圖等)作為數(shù)據(jù)可視化單元,根據(jù)生成的數(shù)據(jù)模型所獲取到的查詢結(jié)果,通過(guò)可視化技術(shù)進(jìn)行數(shù)據(jù)展現(xiàn)。
本節(jié)首先對(duì)整體方案流程中關(guān)鍵技術(shù)及其實(shí)現(xiàn)進(jìn)行了描述,然后給出了智慧水務(wù)語(yǔ)義型可視化系統(tǒng)的分層框架結(jié)構(gòu)。
(1)語(yǔ)言分詞
漢語(yǔ)處理的第一個(gè)步驟是做語(yǔ)言分詞。 語(yǔ)言分詞是指將完整的一句話根據(jù)其語(yǔ)義分揀成一個(gè)詞語(yǔ)項(xiàng)集, 該詞語(yǔ)項(xiàng)集作為后續(xù)語(yǔ)義分析的基本單元。 根據(jù)分詞策略不同,語(yǔ)言分詞共有基于詞典的算法、 基于統(tǒng)計(jì)的算法和前兩者結(jié)合的算法三種方法。
語(yǔ)義型水務(wù)數(shù)據(jù)可視化方案中需要添加很多特殊專業(yè)詞匯,因此分詞策略可采用結(jié)合詞典與統(tǒng)計(jì)的方法。 在建立詞典的基礎(chǔ)之上,再根據(jù)詞頻來(lái)進(jìn)行語(yǔ)言分詞。 經(jīng)典的詞典匹配分詞方法包括正向匹配算法、逆向匹配算法、雙向匹配算法、最大匹配算法和最小匹配算法。
系統(tǒng)采用雙向匹配算法為基準(zhǔn)分詞方法,以“2013 年成都地區(qū)河流的污染率信息展示”為例,經(jīng)過(guò)語(yǔ)言分詞后的分詞序列為 “2013 年-t,成都-ns,地區(qū)-n,河流-u,污染率-n,信息-n,展示-v”。其中,t 為時(shí)間詞,ns 為地名詞,n 為名詞,u 為助詞,v 為動(dòng)詞。
(2)時(shí)間解析
在查詢語(yǔ)句中需要對(duì)時(shí)間描述部分做特殊的語(yǔ)義解釋,并將其解釋為標(biāo)準(zhǔn)化的時(shí)間格式,例如“前年”需要解釋為“2018/01/01—2018/12/31”的時(shí)間格。 因?yàn)闀r(shí)間表達(dá)格式相對(duì)穩(wěn)定,比較主流的解釋方法是基于規(guī)則的方法, 即通過(guò)人工或自動(dòng)化的方法來(lái)總結(jié)語(yǔ)法規(guī)律, 最終將這些規(guī)律轉(zhuǎn)化為計(jì)算機(jī)可以理解的形式,如正則表達(dá)式。
具體做法:首先通過(guò)一定方式構(gòu)建時(shí)間觸發(fā)詞詞典,如從訓(xùn)練語(yǔ)料或人為經(jīng)驗(yàn)中總結(jié)出觸發(fā)詞詞典,然后根據(jù)觸發(fā)詞周?chē)男揎椩~以及前綴和后綴等成分來(lái)構(gòu)建時(shí)間綴詞詞典,最后通過(guò)觸發(fā)詞和綴詞的組合來(lái)識(shí)別時(shí)間表達(dá)式。 以 “2019 年3 月4日”的解釋為例,其中“年”“月”“日”是觸發(fā)詞, 然后再根據(jù)觸發(fā)詞前綴“2019”“3”“4” 等成分即可將該時(shí)間描述解釋為標(biāo)準(zhǔn)化時(shí)間格式“2019/03/04”。 通過(guò)以上時(shí)間解析過(guò)程可以將查詢語(yǔ)句中所的時(shí)間描述統(tǒng)一成標(biāo)準(zhǔn)格式,以待后續(xù)數(shù)據(jù)模型構(gòu)建。
(3)依存關(guān)系分析與數(shù)值解析
數(shù)值解析主要用于確定數(shù)據(jù)模型中出現(xiàn)的數(shù)值情況。 在查詢語(yǔ)句中,例如“成都市各地區(qū)排污口總量小于80 的地區(qū)有哪些”,需要對(duì)數(shù)值型描述(如“小于80”)判斷其歸屬列名,形成查詢條件。 依存關(guān)系分析可以將查詢語(yǔ)句詞與詞之間的關(guān)系轉(zhuǎn)化為語(yǔ)義依存描述, 如動(dòng)賓關(guān)系、主謂關(guān)系、定中關(guān)系、并列關(guān)系等。 在依存關(guān)系中,所有受支配成分都以某種依存關(guān)系從屬于支配者。 因此本系統(tǒng)采用依存關(guān)系來(lái)分析解釋數(shù)值描述的列歸屬關(guān)系, 例如本例中數(shù)值80就歸屬為排污口總量。
在語(yǔ)義水務(wù)可視化系統(tǒng)中,主要運(yùn)用主謂關(guān)系和動(dòng)賓關(guān)系來(lái)發(fā)掘數(shù)值和對(duì)應(yīng)列的從屬關(guān)系。 圖2 即是語(yǔ)句“成都市各地區(qū)排污口總量小于80的地區(qū)有哪些”的依存關(guān)系展示。 結(jié)合依存關(guān)系分析與數(shù)值解析就可以確定數(shù)據(jù)模型中與數(shù)值有關(guān)的查詢條件,如“大于”“小于”等情況。
(1)水務(wù)知識(shí)庫(kù)構(gòu)建過(guò)程
知識(shí)映射技術(shù)需要依托于水務(wù)知識(shí)庫(kù)中的知識(shí),將自然語(yǔ)義理解過(guò)程獲得的數(shù)據(jù)語(yǔ)言映射為數(shù)據(jù)模型。語(yǔ)義型水務(wù)數(shù)據(jù)可視化方案中的水務(wù)知識(shí)庫(kù)主要由3 個(gè)知識(shí)體構(gòu)成,分別是元數(shù)據(jù)結(jié)構(gòu)知識(shí)、維度—列信息知識(shí)和表名知識(shí)。 元數(shù)據(jù)結(jié)構(gòu)知識(shí)包括數(shù)據(jù)庫(kù)中表及其字段列信息、表與表之間列的映射關(guān)系(如外鍵關(guān)系)。
維度—列信息知識(shí)主要包括維度表具體列值與作為外鍵被引用列的映射關(guān)系。 以成都地區(qū)表為例,建立“都江堰”“青白江”“錦江”等具體地區(qū)名與其在表中的字段/列的映射,當(dāng)查詢語(yǔ)句出現(xiàn) “都江堰”“青白江”“錦江” 等詞時(shí)即可得知其在數(shù)據(jù)模型查詢條件中對(duì)應(yīng)的列/字段名,從而構(gòu)建查詢條件。
表名知識(shí)包括實(shí)體表表名、表中列名及列的類(lèi)型、時(shí)間維度對(duì)應(yīng)的列名、維度列和非維度列等知識(shí)。 其中維度列表明該列與一個(gè)維度表的列相對(duì)應(yīng)(如外鍵關(guān)系),非維度列則表明該列與其他表中的列無(wú)任何關(guān)系。表1 展示的是表名知識(shí)的具體結(jié)構(gòu)。
(2)表名解析、列名解析、查詢條件解析
數(shù)據(jù)模型生成的第一步是識(shí)別表名和對(duì)應(yīng)的查詢列名來(lái)填充數(shù)據(jù)模型中的查詢項(xiàng)。 表名解析用于獲得數(shù)據(jù)模型中的表名,它主要根據(jù)前面所述分詞過(guò)程獲得的分詞序列和知識(shí)庫(kù)中的表名知識(shí)匹配來(lái)映射表名。具體來(lái)說(shuō)將分詞集合中的所有名詞在表名知識(shí)庫(kù)中進(jìn)行模糊匹配,如果與表名知識(shí)中的一個(gè)表名相匹配,則可獲得要查詢的表名。
列名解析用于獲得數(shù)據(jù)模型要查詢的列名,其根據(jù)分詞過(guò)程獲得的分詞序列和表名解析過(guò)程獲得的表名,進(jìn)一步通過(guò)表名知識(shí)結(jié)構(gòu)進(jìn)行解析。 對(duì)分詞中的所有名詞使用模糊查詢來(lái)與已經(jīng)解析到的表名所在的表名知識(shí)結(jié)構(gòu)進(jìn)行匹配, 如果匹配成功,則認(rèn)為解析到了列名。
查詢條件解析用于獲得數(shù)據(jù)模型中的查詢條件。 根據(jù)前面的時(shí)間解析、 數(shù)值解析和維度—列信息知識(shí),可以對(duì)應(yīng)獲得查詢的時(shí)間信息以及對(duì)應(yīng)列的數(shù)值信息和查詢值。
(3)Type-Aware 數(shù)據(jù)模型構(gòu)建技術(shù)
圖2 依存關(guān)系分析
表1 表名知識(shí)結(jié)構(gòu)
表2 輸入查詢語(yǔ)句與生成的數(shù)據(jù)模型之間的對(duì)照關(guān)系
自然語(yǔ)言中對(duì)數(shù)據(jù)模型中聚合函 數(shù)、GROUP BY、HAVING、ORDER BY 等查詢模塊的解析方法稱為T(mén)ype-Aware 技術(shù)目前典型的Type-Aware 技術(shù)采用深度學(xué)習(xí)端到端的框架, 通過(guò)語(yǔ)言嵌入和多類(lèi)分類(lèi)器判別查詢結(jié)構(gòu)。 采用論文和論文的Type-Aware 模式實(shí)現(xiàn)了聚合函數(shù)、GROUP BY、HAVING、ORDER BY等模塊的識(shí)別, 并根據(jù)識(shí)別結(jié)果組織數(shù)據(jù)模型生成樹(shù), 完成了數(shù)據(jù)模型中查詢結(jié)構(gòu)部分的構(gòu)建。 結(jié)合前面表名、 列名和查詢條件等解析結(jié)果,即可得到一個(gè)完整的數(shù)據(jù)模型。
在智慧水務(wù)系統(tǒng)中,語(yǔ)義型可視化系統(tǒng)架構(gòu)共分為三層,分別是數(shù)據(jù)知識(shí)庫(kù)層、引擎層和接口層。 ①數(shù)據(jù)知識(shí)庫(kù)層主要用來(lái)構(gòu)建元數(shù)據(jù)知識(shí),包括元數(shù)據(jù)結(jié)構(gòu)信息庫(kù)、維度—列信息庫(kù)和表名信息庫(kù)。 ②引擎層主要包含語(yǔ)義型水務(wù)數(shù)據(jù)可視化方案中的關(guān)鍵功能引擎, 包括自然語(yǔ)義理解引擎、 知識(shí)映射引擎和可視化報(bào)表引擎。 ③對(duì)外接口層主要用來(lái)提供對(duì)外服務(wù),包括查詢服務(wù)、可視化服務(wù)、自然語(yǔ)言處理服務(wù)、元數(shù)據(jù)抽取服務(wù)。
以成都市排污口統(tǒng)計(jì)數(shù)據(jù)為例演示本文所提出的語(yǔ)義數(shù)據(jù)可視化系統(tǒng)的數(shù)據(jù)模型構(gòu)建與可視化效果。
例如,當(dāng)用戶通過(guò)語(yǔ)音識(shí)別方式或手動(dòng)輸入查詢語(yǔ)句為“去年成都市各個(gè)地區(qū)的排污口總量信息,并根據(jù)排污口類(lèi)型、年度排污量、許可登記、布局合理來(lái)區(qū)分”時(shí),最后生成的數(shù)據(jù)模型以及與輸入語(yǔ)句兩者之間的對(duì)照關(guān)系見(jiàn)表2 所示。
表2 的輸入查詢語(yǔ)句經(jīng)過(guò)語(yǔ)義解析與知識(shí)映射過(guò)程共生成5 個(gè)數(shù)據(jù)模型。 其分別對(duì)應(yīng)查詢語(yǔ)句中的“排污口總量信息”“排污口類(lèi)型”“年度排污量”“許可登記”“布局合理”五個(gè)查詢要求。 從生成的數(shù)據(jù)模型中可以看到 “去年”被解析為“2018”年,以及用模糊查詢的方式來(lái)處理“成都市各個(gè)地區(qū)”的情況(在數(shù)據(jù)庫(kù)中,成都各地區(qū)location_id 以‘20’開(kāi)頭)。而數(shù)據(jù)模型中的具體列名信息則根據(jù)構(gòu)建的元數(shù)據(jù)知識(shí)推斷得出。
系統(tǒng)根據(jù)生成的數(shù)據(jù)模型進(jìn)行數(shù)據(jù)查詢,并將結(jié)果數(shù)據(jù)以圖表結(jié)合的形式在平臺(tái)上進(jìn)行可視化數(shù)據(jù)展現(xiàn),形成自然語(yǔ)義型的數(shù)據(jù)可視化交互。 例如,排污口統(tǒng)計(jì)數(shù)據(jù)結(jié)果以表格形式在平臺(tái)上進(jìn)行展現(xiàn),實(shí)現(xiàn)將查詢所在地區(qū)編號(hào)及名稱、排污口總量信息、排污口類(lèi)型(企業(yè)工廠、市政生活、雨污合流、混合污水)、年度排污量(超標(biāo)和未超標(biāo))、許可登記(已登記和未登記)和布局合理(合理和不合理)等信息的展示。 為了給用戶更直觀的數(shù)據(jù)展示,在數(shù)據(jù)表格展現(xiàn)的基礎(chǔ)之上, 配合以餅圖的形式展示“排污口類(lèi)型”“年度排污量”“許可登記”“布局合理”四個(gè)維度中子類(lèi)型的所占比重。
以上即是針對(duì)成都市排污口統(tǒng)計(jì)數(shù)據(jù)的一次查詢與可視化效果展示示例,可以看到在達(dá)到傳統(tǒng)可視化展示效果的同時(shí),語(yǔ)義型可視化方式無(wú)需綁定固定的數(shù)據(jù)模型,因而具有靈活性、準(zhǔn)確性和易于擴(kuò)展性。
本文分析了現(xiàn)有水務(wù)大數(shù)據(jù)可視化系統(tǒng)中存在的問(wèn)題,以自然語(yǔ)義和數(shù)據(jù)語(yǔ)義理解融合為出發(fā)點(diǎn),研究了一種以自然語(yǔ)言對(duì)話交互方式取代傳統(tǒng)規(guī)則條件查詢生成方式的水務(wù)數(shù)據(jù)可視化展現(xiàn)新技術(shù)。 該技術(shù)嘗試了數(shù)據(jù)可視化展現(xiàn)技術(shù)的對(duì)話式和交互式,實(shí)現(xiàn)了水務(wù)多維數(shù)據(jù)的一句話智能可視化展現(xiàn),解決了現(xiàn)今水務(wù)大數(shù)據(jù)平臺(tái)中簡(jiǎn)單交互式圖表數(shù)據(jù)可視化方式存在的缺乏數(shù)據(jù)智能理解能力、固化圖表缺乏數(shù)據(jù)靈活組合展現(xiàn)能力、定制度高、變更開(kāi)發(fā)復(fù)雜度高的關(guān)鍵問(wèn)題。 ■