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