劉 超 ,趙 輝 ,丁曉磊 ,秦 平
(1.安徽?。ㄋ炕春铀瘑T會)水利科學(xué)研究院,安徽 合肥 233088; 2.訊飛智元信息科技有限公司,安徽 合肥 230088)
當(dāng)前,先進信息化技術(shù)與各類傳統(tǒng)行業(yè)融合度越來越高,特別是智能語音、5G、云計算、區(qū)塊鏈等[1],極大地提升了社會運行效率,深刻改變著政府公共服務(wù)和社會治理的方式。黨的十九大報告中明確提出要建設(shè)數(shù)字中國、網(wǎng)絡(luò)強國、智慧社會,把智慧社會作為建設(shè)創(chuàng)新型國家的重要內(nèi)容[2]。智慧水利是智慧社會的重要組成部分,但是距離智慧社會的建設(shè)要求還有很大的差距,人工智能、大數(shù)據(jù)等先進技術(shù)在水利行業(yè)還未得到充分應(yīng)用[3]。因此,下一步智慧水利的建設(shè)應(yīng)充分結(jié)合先進信息技術(shù)的驅(qū)動引領(lǐng)作用,促進傳統(tǒng)水利業(yè)務(wù)與先進技術(shù)的深度融合,推動智慧水利高質(zhì)量發(fā)展[4]。
安徽省地跨長江、淮河和新安江三大流域,處于南北氣候過渡帶,地理位置特殊,氣候條件復(fù)雜,水旱災(zāi)害多發(fā)頻發(fā)。近年來,在水利部大力支持下,安徽省加快水利信息化建設(shè),依托農(nóng)村基層防汛監(jiān)測預(yù)警體系建設(shè)項目,建成基層防汛監(jiān)測預(yù)警平臺[5],覆蓋全省 16 個地級市、108 個縣區(qū),業(yè)務(wù)范圍擴大到水旱災(zāi)害防御的各個環(huán)節(jié),實現(xiàn)了監(jiān)測數(shù)據(jù)的集總接收、基礎(chǔ)信息的同步共享、業(yè)務(wù)流程的協(xié)同處理、決策會商的一站式查詢、預(yù)警信息的統(tǒng)一發(fā)布、運行維護的規(guī)范管理等功能,省、市、縣、鄉(xiāng)四級共用,業(yè)務(wù)數(shù)據(jù)更加準(zhǔn)確全面,系統(tǒng)訪問更加流暢,界面展現(xiàn)更加簡潔[6]。
平臺運行 1 a 多以來,為全省各級水行政管理單位提供了強力的技術(shù)支撐。但在使用過程中,因信息查詢、險情上報、數(shù)據(jù)錄入等系統(tǒng)操作對使用者有一定的要求,因此需要一種更加方便、快捷的方式。隨著智能語音技術(shù)的興起,通過在安徽省基層防汛監(jiān)測預(yù)警系統(tǒng)中引入智能語音交互服務(wù),用戶可以直接通過對話的方式實現(xiàn)對系統(tǒng)的操作,能夠大大簡化用戶查詢信息和上報數(shù)據(jù)的操作流程,提高用戶的工作效率[7]。本研究從基層防汛語音平臺建設(shè)思路出發(fā),總結(jié)了平臺建設(shè)內(nèi)容與關(guān)鍵技術(shù),為智能語音在水利行業(yè)的推廣應(yīng)用提供借鑒。
基層防汛語音服務(wù)平臺通過將人的自然語音轉(zhuǎn)換成相應(yīng)的指令以便計算機進行解析和產(chǎn)生相應(yīng)的操作,從而實現(xiàn)人與計算機之間的對話交互。具體流程為用戶發(fā)出語音命令,相關(guān)業(yè)務(wù)系統(tǒng)將語音命令傳遞到語音服務(wù)平臺,由語音識別引擎將語音命令轉(zhuǎn)換成文字指令,然后將轉(zhuǎn)換后的文字指令輸入到語義理解引擎中,再通過接口協(xié)議的對接,傳輸?shù)綐I(yè)務(wù)系統(tǒng),業(yè)務(wù)系統(tǒng)對指令做出處理,并對目標(biāo)信息進行展示。例如在基層防汛業(yè)務(wù)系統(tǒng)中,用戶想查看××水庫的視頻信息,用戶只要對著麥克風(fēng)說出“我要看××水庫的視頻”,基層防汛語音服務(wù)平臺會對用戶的命令進行處理,將文本指令傳入業(yè)務(wù)系統(tǒng),業(yè)務(wù)系統(tǒng)會根據(jù)解析的意圖,執(zhí)行相關(guān)服務(wù)并展示出用戶所需的信息。具體技術(shù)路線如圖 1 所示。
圖1 安徽省基層防汛語音服務(wù)平臺技術(shù)路線圖
在安徽水利數(shù)據(jù)中心架構(gòu)中,基層防汛語音服務(wù)平臺作為應(yīng)用支撐平臺為各業(yè)務(wù)應(yīng)用系統(tǒng)提供語音服務(wù)支撐,在系統(tǒng)架構(gòu)上主要分為數(shù)據(jù)層、支撐層、交互層和應(yīng)用層 4 個層級,通過構(gòu)建可部署到私有化環(huán)境的智能語音引擎、水利專題語料庫及防汛抗旱專題知識庫,結(jié)合高精度的語音識別和語義解析服務(wù),賦予基層防汛業(yè)務(wù)系統(tǒng)采用自然語句的形式查詢并反饋查詢結(jié)果的能力,系統(tǒng)總體架構(gòu)如圖 2 所示。
圖2 安徽省基層防汛語音服務(wù)平臺總體架構(gòu)圖
安徽省基層防汛語音服務(wù)平臺對語音數(shù)據(jù)處理的業(yè)務(wù)流程如圖 3 所示,業(yè)務(wù)流程具體操作如下:
圖3 安徽省基層防汛語音服務(wù)平臺業(yè)務(wù)流程圖
1)前端拾音。相關(guān)業(yè)務(wù)應(yīng)用系統(tǒng)通過麥克風(fēng)、手機等拾音設(shè)備收取用戶的語音數(shù)據(jù)。
2)信號處理與語音喚醒。系統(tǒng)對輸入的語音進行信號處理,將處理好的語音輸入到喚醒服務(wù)中,判斷輸入語音是否滿足喚醒詞:a.如果不滿足,流程跳轉(zhuǎn)到第一步,持續(xù)收取用戶語音數(shù)據(jù);b.如果滿足喚醒詞,則將之后的語音數(shù)據(jù)通過音頻傳輸服務(wù)發(fā)送到服務(wù)端。
3)語音聽寫。服務(wù)端調(diào)用語音聽寫識別服務(wù)將用戶語音轉(zhuǎn)換成文本。
4)語義解析。語義解析服務(wù)將用戶語音轉(zhuǎn)換后的文本和預(yù)先創(chuàng)建好的技能做規(guī)則匹配:a.如果匹配到對應(yīng)的語料,則輸出對應(yīng)的意圖和解析后的JSON 字符串;b.如果匹配不到對應(yīng)語料則轉(zhuǎn)為問答匹配,將匹配后的問答結(jié)果返回給業(yè)務(wù)系統(tǒng)。
5)動作執(zhí)行與頁面反饋。業(yè)務(wù)系統(tǒng)根據(jù)解析的數(shù)據(jù)結(jié)果匹配相應(yīng)的動作,并且進行相關(guān)動作的執(zhí)行,在頁面上反饋給業(yè)務(wù)用戶。
語音識別引擎基于深度全序列卷積神經(jīng)網(wǎng)絡(luò)框架,能夠?qū)⒆匀徽Z音數(shù)據(jù)實時轉(zhuǎn)換成文本指令流數(shù)據(jù),主要由前端語音和后端識別 2 個處理部分組成。
2.1.1 前端語音處理
主要是對用戶的說話,利用信號處理的方法進行檢測、加密、降噪等預(yù)處理,從而得到最適合識別引擎處理的語音。主要功能包括:
1)端點檢測。端點檢測是通過對輸入的語音數(shù)據(jù)進行分析,從而確定用戶說話的開始和結(jié)束的處理過程。一旦檢測到用戶開始說話,語音就開始流向語音識別引擎,直到檢測到用戶說話終止,語音識別引擎在接收到用戶說話的同時即開始進行語音識別處理。
2)噪音消除。在實際應(yīng)用中,背景不可能是完全安靜的環(huán)境,語音識別引擎能夠有效消除背景噪音,提升輸出指令的準(zhǔn)確率,給用戶帶來良好的使用感受。
2.1.2 后端識別處理
主要是對用戶的說話進行識別分析,得到最準(zhǔn)確的結(jié)果,功能包括:
1)個性化語音識別。為提高用戶個性化詞條識別的精確性,基于用戶的語音特征,搜集并上傳使用率較高的詞語/熱詞,圍繞基層防汛業(yè)務(wù),建立特有的詞條語言模型。調(diào)整識別參數(shù),修改上傳熱詞的權(quán)重,不斷優(yōu)化識別效果。
2)置信度輸出。置信度主要用于衡量語音識別結(jié)果的可信程度,語音服務(wù)平臺在返回語音識別結(jié)果時,支持?jǐn)y帶該識別結(jié)果的置信度,業(yè)務(wù)系統(tǒng)可以通過置信度的值分析和進行后續(xù)處理。
3)多結(jié)果識別。在實際應(yīng)用中,識別引擎可以向業(yè)務(wù)系統(tǒng)返回多個識別結(jié)果,并按置信度判斷的結(jié)果由高到低進行排序,供用戶進行二次選擇。
4)說話人自適應(yīng)。當(dāng)用戶通過語音服務(wù)平臺與業(yè)務(wù)系統(tǒng)交互過程中,系統(tǒng)可以在線提取用戶會話的語音特征,通過機器學(xué)習(xí)算法自動調(diào)整識別參數(shù),持續(xù)優(yōu)化識別的效果。
5)語義上下文自修正。根據(jù)語音識別結(jié)果及上下文進行動態(tài)修正,使結(jié)果更符合當(dāng)前語境。同時對應(yīng)用所在的場景熱詞進行整理,以提高場景內(nèi)熱詞語音識別率。
語音服務(wù)平臺語義理解引擎是將用戶語音文本解析為結(jié)構(gòu)化的、機器可讀的意圖與詞槽信息,主要功能包括:
1)核心能力。具備知識編譯及語義解析能力,可以將知識庫的數(shù)據(jù)資源編譯成語義資源,能夠根據(jù)語義資源將文本解析成固定格式的 JSON 字符串。支持實現(xiàn)長、短句的分詞,相同詞義的短詞規(guī)整、合并。
2)上下文理解。在交互過程中自動緩存、匹配上下文信息、歷史數(shù)據(jù)等,提供多輪人機交互記憶機制。
3)提槽抽取。配合知識庫,實現(xiàn)對話意圖的關(guān)鍵詞槽抽取,如區(qū)域、時間、站點;多輪對話完善信息的過程中,當(dāng)需要對之前填過的槽位信息進行變更時,會用到改槽功能。
語料庫主要用于存儲水利行業(yè)詞匯,為意圖配置、指令標(biāo)注提供數(shù)據(jù)支持,是基層防汛相關(guān)系統(tǒng)理解語義的基礎(chǔ),可以規(guī)避同音詞因素引起的識別準(zhǔn)確率不高問題。語料庫的建立主要包括以下內(nèi)容:
1)行業(yè)詞匯收集。行業(yè)詞匯主要包括水利工程、河湖水系、監(jiān)測站點等的名稱:水利工程包括響洪甸、梅山、月潭、董鋪等水庫;河湖水系包括淠河、史河、新汴河、巢湖、淮河等;監(jiān)測站點包括西河梁家壩水文站、水陽江宣城站、青弋江西河鎮(zhèn)站、西河無為站等。
2)意圖配置。通過基層防汛語音服務(wù)平臺進行意圖配置,創(chuàng)建想讓機器理解的文本,比如說“我要看王家壩的視頻”,那么就需要設(shè)置王家壩、視頻這 2 個關(guān)鍵字是意圖,只有準(zhǔn)確地設(shè)置為意圖,機器才能夠理解文本的意思。
3)創(chuàng)建實體。在意圖配置之后,還需要進行實體的配置。實體是意圖的擴展,以“我要看王家壩的視頻”為例,其中王家壩和視頻都是意圖,但是想要看的并不僅僅是王家壩,也有可能是蚌埠閘。所以王家壩和蚌埠閘都是實體。需要把實體的內(nèi)容配置進去,一旦語義識別引擎檢測到相應(yīng)的實體,便會把這些實體歸結(jié)到與其對應(yīng)的意圖中,從而返回識別結(jié)果。
基層防汛語音服務(wù)平臺建設(shè)完成之后,需要以接口的形式對外提供語音支撐服務(wù),主要流程具體如下:
1)服務(wù)接口開發(fā)。安徽省基層防汛語音服務(wù)平臺數(shù)據(jù)服務(wù)接口基于 SOA 架構(gòu),采用 JavaEE 技術(shù),功能主要包括語音識別、語音和文本語義接入、接收音頻文件上傳、返回解析結(jié)果等。采用標(biāo)準(zhǔn) Restful 風(fēng)格,以 Web Service 和 Web Socket 2 種協(xié)議標(biāo)準(zhǔn)進行設(shè)計,面向 Android,iPhone 及 Web 客戶端,支持 Andoid/IOS/H5 等渠道的接入。
2)接口參數(shù)調(diào)用。業(yè)務(wù)系統(tǒng)上傳音頻等數(shù)據(jù),基層防汛語音服務(wù)平臺服務(wù)端處理后下發(fā)服務(wù)結(jié)果,接口調(diào)用參數(shù)包括可選和必選參數(shù),其中 Token ID(唯一性 ID) 為必選參數(shù),由業(yè)務(wù)系統(tǒng)前端自動傳給服務(wù)端。
3)接口響應(yīng)及返回結(jié)果。封裝為標(biāo)準(zhǔn)的 JSON字符串格式返回結(jié)果數(shù)據(jù),返回值包含服務(wù)狀態(tài)碼,標(biāo)記服務(wù)請求的語音數(shù)據(jù)是否成功;服務(wù)返回數(shù)據(jù)包含翻譯結(jié)果 JSON 對象、屬性值等。
基于面向?qū)ο蟮臄?shù)據(jù)模型構(gòu)建具有水利業(yè)務(wù)特色面向水利領(lǐng)域的語音數(shù)據(jù)庫,語音數(shù)據(jù)庫的一部分語音資源是收集整理現(xiàn)有的各類防汛抗旱業(yè)務(wù)中的結(jié)構(gòu)化數(shù)據(jù),這些數(shù)據(jù)主要分布在各類業(yè)務(wù)關(guān)系數(shù)據(jù)庫中,對這些數(shù)據(jù)按照業(yè)務(wù)分類包括基礎(chǔ)、雨水情、水利工程、預(yù)警、氣象、通訊錄、專家?guī)斓日Z音數(shù)據(jù)。另一部分收集和整理現(xiàn)有的文本、圖片、視頻等非結(jié)構(gòu)化數(shù)據(jù),將這些信息按照業(yè)務(wù)對象進行分類標(biāo)注并進行存儲。通過整合海量多源異構(gòu)數(shù)據(jù)將所有音頻數(shù)據(jù)抽象為不同的音頻對象(實體),并且將各對象的唯一標(biāo)識符、屬性與方法封裝在一起,建立各對象的聯(lián)系[8]。
機器學(xué)習(xí)技術(shù)在平臺中的應(yīng)用主要是在語音特征提取、語音學(xué)習(xí)訓(xùn)練和分類匹配、語義理解 3 個模塊。通過水利行業(yè)海量數(shù)據(jù)與多種機器學(xué)習(xí)算法(DNN(深度神經(jīng)網(wǎng)絡(luò)),LSTM(長短期記憶),CNN(卷積神經(jīng)網(wǎng)絡(luò))等模型)的融合對語音信號進行分析處理識別語音特征數(shù)據(jù)并精準(zhǔn)提取特征參數(shù),基于 HMM(隱馬爾可夫)模型對語音資料庫進行語音訓(xùn)練[9],定制化處理水利行業(yè)信息,形成覆蓋雨水情、險情、工情等水利各個業(yè)務(wù)應(yīng)用場景的語言模型,通過 DNN 學(xué)習(xí)技術(shù),對現(xiàn)有語音庫進行深度學(xué)習(xí),以提升個性化數(shù)據(jù)的準(zhǔn)確率并做到高度自適應(yīng)對聲學(xué)模型和語言模型的共同優(yōu)化。目前整個模型的識別準(zhǔn)確率可以達到 98% 以上,用戶查詢響應(yīng)速度在 0.5 s 以內(nèi)。
基于面向服務(wù)架構(gòu)演變而來的微服務(wù)架構(gòu)解決了傳統(tǒng)水利數(shù)據(jù)服務(wù)模式的不足,在近些年水利業(yè)務(wù)系統(tǒng)建設(shè)過程中得到了越來越多的應(yīng)用。微服務(wù)架構(gòu)的技術(shù)思路是將應(yīng)用分割為一系列細粒度的服務(wù),每個服務(wù)專注于單一業(yè)務(wù)功能,運行在獨立的進程中,每個服務(wù)之間邊界清晰,采用 HTTP/REST等輕量級通信機制相互溝通實現(xiàn)完整的應(yīng)用。其特點是服務(wù)功能單元獨立化、通信接口標(biāo)準(zhǔn)化、服務(wù)開發(fā)組件化,極大增加了應(yīng)用系統(tǒng)開發(fā)的開發(fā)效率和靈活性[10]。
安徽省基層防汛語音服務(wù)平臺基于微服務(wù)的軟件架構(gòu)進行設(shè)計,系統(tǒng)的靈活性、規(guī)范性、穩(wěn)定性及安全性大大增強,每個語音處理服務(wù)都是獨立的,對內(nèi)實現(xiàn)指定的語音處理邏輯,對外承擔(dān)特定的語音指令任務(wù),通過標(biāo)準(zhǔn)化的語音服務(wù)接口,與現(xiàn)有水利業(yè)務(wù)系統(tǒng)實現(xiàn)互聯(lián)互通。
安徽省基層防汛語音服務(wù)平臺將智能語音識別技術(shù)應(yīng)用到基層防汛管理工作中,為輔助各級水行政管理人員做好日常防汛工作,提高工作效率、改善系統(tǒng)使用體驗提供支撐,為行政領(lǐng)導(dǎo)查詢信息提供便捷的手段。服務(wù)平臺已在安徽省水利廳實現(xiàn)了業(yè)務(wù)化應(yīng)用,特別是 2020年超標(biāo)準(zhǔn)洪澇災(zāi)害防御過程中,充分印證了語音服務(wù)平臺的精準(zhǔn)性、高效性。平臺的建成及應(yīng)用為水利信息化向智慧水利發(fā)展提供了很好的示范,是安徽省智慧水利建設(shè)的重要組成部分。
目前語音服務(wù)平臺對業(yè)務(wù)系統(tǒng)的支撐主要側(cè)重于信息查詢和指令操作,為進一步提升語音平臺的應(yīng)用水平及服務(wù)能力,后續(xù)的研究中將緊密結(jié)合水利業(yè)務(wù)需求,融合人工智能和大數(shù)據(jù)優(yōu)勢研發(fā)語音電話自動外呼和智能問答功能,全面提升語音平臺對水利工作的支撐能力,并將語音平臺核心技術(shù)在全國逐步推廣應(yīng)用。