安徽省基层防汛语音服务平台研究与建设
2022-04-28丁晓磊
刘 超 ,赵 辉 ,丁晓磊 ,秦 平
(1.安徽省(水利部淮河水利委员会)水利科学研究院,安徽 合肥 233088; 2.讯飞智元信息科技有限公司,安徽 合肥 230088)
0 引言
当前,先进信息化技术与各类传统行业融合度越来越高,特别是智能语音、5G、云计算、区块链等[1],极大地提升了社会运行效率,深刻改变着政府公共服务和社会治理的方式。党的十九大报告中明确提出要建设数字中国、网络强国、智慧社会,把智慧社会作为建设创新型国家的重要内容[2]。智慧水利是智慧社会的重要组成部分,但是距离智慧社会的建设要求还有很大的差距,人工智能、大数据等先进技术在水利行业还未得到充分应用[3]。因此,下一步智慧水利的建设应充分结合先进信息技术的驱动引领作用,促进传统水利业务与先进技术的深度融合,推动智慧水利高质量发展[4]。
安徽省地跨长江、淮河和新安江三大流域,处于南北气候过渡带,地理位置特殊,气候条件复杂,水旱灾害多发频发。近年来,在水利部大力支持下,安徽省加快水利信息化建设,依托农村基层防汛监测预警体系建设项目,建成基层防汛监测预警平台[5],覆盖全省 16 个地级市、108 个县区,业务范围扩大到水旱灾害防御的各个环节,实现了监测数据的集总接收、基础信息的同步共享、业务流程的协同处理、决策会商的一站式查询、预警信息的统一发布、运行维护的规范管理等功能,省、市、县、乡四级共用,业务数据更加准确全面,系统访问更加流畅,界面展现更加简洁[6]。
平台运行 1 a 多以来,为全省各级水行政管理单位提供了强力的技术支撑。但在使用过程中,因信息查询、险情上报、数据录入等系统操作对使用者有一定的要求,因此需要一种更加方便、快捷的方式。随着智能语音技术的兴起,通过在安徽省基层防汛监测预警系统中引入智能语音交互服务,用户可以直接通过对话的方式实现对系统的操作,能够大大简化用户查询信息和上报数据的操作流程,提高用户的工作效率[7]。本研究从基层防汛语音平台建设思路出发,总结了平台建设内容与关键技术,为智能语音在水利行业的推广应用提供借鉴。
1 平台建设思路
1.1 技术路线
基层防汛语音服务平台通过将人的自然语音转换成相应的指令以便计算机进行解析和产生相应的操作,从而实现人与计算机之间的对话交互。具体流程为用户发出语音命令,相关业务系统将语音命令传递到语音服务平台,由语音识别引擎将语音命令转换成文字指令,然后将转换后的文字指令输入到语义理解引擎中,再通过接口协议的对接,传输到业务系统,业务系统对指令做出处理,并对目标信息进行展示。例如在基层防汛业务系统中,用户想查看××水库的视频信息,用户只要对着麦克风说出“我要看××水库的视频”,基层防汛语音服务平台会对用户的命令进行处理,将文本指令传入业务系统,业务系统会根据解析的意图,执行相关服务并展示出用户所需的信息。具体技术路线如图 1 所示。
图1 安徽省基层防汛语音服务平台技术路线图
1.2 系统架构
在安徽水利数据中心架构中,基层防汛语音服务平台作为应用支撑平台为各业务应用系统提供语音服务支撑,在系统架构上主要分为数据层、支撑层、交互层和应用层 4 个层级,通过构建可部署到私有化环境的智能语音引擎、水利专题语料库及防汛抗旱专题知识库,结合高精度的语音识别和语义解析服务,赋予基层防汛业务系统采用自然语句的形式查询并反馈查询结果的能力,系统总体架构如图 2 所示。
图2 安徽省基层防汛语音服务平台总体架构图
1.3 业务流程
安徽省基层防汛语音服务平台对语音数据处理的业务流程如图 3 所示,业务流程具体操作如下:
图3 安徽省基层防汛语音服务平台业务流程图
1)前端拾音。相关业务应用系统通过麦克风、手机等拾音设备收取用户的语音数据。
2)信号处理与语音唤醒。系统对输入的语音进行信号处理,将处理好的语音输入到唤醒服务中,判断输入语音是否满足唤醒词:a.如果不满足,流程跳转到第一步,持续收取用户语音数据;b.如果满足唤醒词,则将之后的语音数据通过音频传输服务发送到服务端。
3)语音听写。服务端调用语音听写识别服务将用户语音转换成文本。
4)语义解析。语义解析服务将用户语音转换后的文本和预先创建好的技能做规则匹配:a.如果匹配到对应的语料,则输出对应的意图和解析后的JSON 字符串;b.如果匹配不到对应语料则转为问答匹配,将匹配后的问答结果返回给业务系统。
5)动作执行与页面反馈。业务系统根据解析的数据结果匹配相应的动作,并且进行相关动作的执行,在页面上反馈给业务用户。
2 平台建设内容
2.1 语音识别引擎
语音识别引擎基于深度全序列卷积神经网络框架,能够将自然语音数据实时转换成文本指令流数据,主要由前端语音和后端识别 2 个处理部分组成。
2.1.1 前端语音处理
主要是对用户的说话,利用信号处理的方法进行检测、加密、降噪等预处理,从而得到最适合识别引擎处理的语音。主要功能包括:
1)端点检测。端点检测是通过对输入的语音数据进行分析,从而确定用户说话的开始和结束的处理过程。一旦检测到用户开始说话,语音就开始流向语音识别引擎,直到检测到用户说话终止,语音识别引擎在接收到用户说话的同时即开始进行语音识别处理。
2)噪音消除。在实际应用中,背景不可能是完全安静的环境,语音识别引擎能够有效消除背景噪音,提升输出指令的准确率,给用户带来良好的使用感受。
2.1.2 后端识别处理
主要是对用户的说话进行识别分析,得到最准确的结果,功能包括:
1)个性化语音识别。为提高用户个性化词条识别的精确性,基于用户的语音特征,搜集并上传使用率较高的词语/热词,围绕基层防汛业务,建立特有的词条语言模型。调整识别参数,修改上传热词的权重,不断优化识别效果。
2)置信度输出。置信度主要用于衡量语音识别结果的可信程度,语音服务平台在返回语音识别结果时,支持携带该识别结果的置信度,业务系统可以通过置信度的值分析和进行后续处理。
3)多结果识别。在实际应用中,识别引擎可以向业务系统返回多个识别结果,并按置信度判断的结果由高到低进行排序,供用户进行二次选择。
4)说话人自适应。当用户通过语音服务平台与业务系统交互过程中,系统可以在线提取用户会话的语音特征,通过机器学习算法自动调整识别参数,持续优化识别的效果。
5)语义上下文自修正。根据语音识别结果及上下文进行动态修正,使结果更符合当前语境。同时对应用所在的场景热词进行整理,以提高场景内热词语音识别率。
2.2 语义理解引擎
语音服务平台语义理解引擎是将用户语音文本解析为结构化的、机器可读的意图与词槽信息,主要功能包括:
1)核心能力。具备知识编译及语义解析能力,可以将知识库的数据资源编译成语义资源,能够根据语义资源将文本解析成固定格式的 JSON 字符串。支持实现长、短句的分词,相同词义的短词规整、合并。
2)上下文理解。在交互过程中自动缓存、匹配上下文信息、历史数据等,提供多轮人机交互记忆机制。
3)提槽抽取。配合知识库,实现对话意图的关键词槽抽取,如区域、时间、站点;多轮对话完善信息的过程中,当需要对之前填过的槽位信息进行变更时,会用到改槽功能。
2.3 语料库建立
语料库主要用于存储水利行业词汇,为意图配置、指令标注提供数据支持,是基层防汛相关系统理解语义的基础,可以规避同音词因素引起的识别准确率不高问题。语料库的建立主要包括以下内容:
1)行业词汇收集。行业词汇主要包括水利工程、河湖水系、监测站点等的名称:水利工程包括响洪甸、梅山、月潭、董铺等水库;河湖水系包括淠河、史河、新汴河、巢湖、淮河等;监测站点包括西河梁家坝水文站、水阳江宣城站、青弋江西河镇站、西河无为站等。
2)意图配置。通过基层防汛语音服务平台进行意图配置,创建想让机器理解的文本,比如说“我要看王家坝的视频”,那么就需要设置王家坝、视频这 2 个关键字是意图,只有准确地设置为意图,机器才能够理解文本的意思。
3)创建实体。在意图配置之后,还需要进行实体的配置。实体是意图的扩展,以“我要看王家坝的视频”为例,其中王家坝和视频都是意图,但是想要看的并不仅仅是王家坝,也有可能是蚌埠闸。所以王家坝和蚌埠闸都是实体。需要把实体的内容配置进去,一旦语义识别引擎检测到相应的实体,便会把这些实体归结到与其对应的意图中,从而返回识别结果。
2.4 语音服务接口
基层防汛语音服务平台建设完成之后,需要以接口的形式对外提供语音支撑服务,主要流程具体如下:
1)服务接口开发。安徽省基层防汛语音服务平台数据服务接口基于 SOA 架构,采用 JavaEE 技术,功能主要包括语音识别、语音和文本语义接入、接收音频文件上传、返回解析结果等。采用标准 Restful 风格,以 Web Service 和 Web Socket 2 种协议标准进行设计,面向 Android,iPhone 及 Web 客户端,支持 Andoid/IOS/H5 等渠道的接入。
2)接口参数调用。业务系统上传音频等数据,基层防汛语音服务平台服务端处理后下发服务结果,接口调用参数包括可选和必选参数,其中 Token ID(唯一性 ID) 为必选参数,由业务系统前端自动传给服务端。
3)接口响应及返回结果。封装为标准的 JSON字符串格式返回结果数据,返回值包含服务状态码,标记服务请求的语音数据是否成功;服务返回数据包含翻译结果 JSON 对象、属性值等。
3 关键技术研究
3.1 面向对象的水利语音数据建库技术
基于面向对象的数据模型构建具有水利业务特色面向水利领域的语音数据库,语音数据库的一部分语音资源是收集整理现有的各类防汛抗旱业务中的结构化数据,这些数据主要分布在各类业务关系数据库中,对这些数据按照业务分类包括基础、雨水情、水利工程、预警、气象、通讯录、专家库等语音数据。另一部分收集和整理现有的文本、图片、视频等非结构化数据,将这些信息按照业务对象进行分类标注并进行存储。通过整合海量多源异构数据将所有音频数据抽象为不同的音频对象(实体),并且将各对象的唯一标识符、属性与方法封装在一起,建立各对象的联系[8]。
3.2 基于机器学习的语音识别能力优化技术
机器学习技术在平台中的应用主要是在语音特征提取、语音学习训练和分类匹配、语义理解 3 个模块。通过水利行业海量数据与多种机器学习算法(DNN(深度神经网络),LSTM(长短期记忆),CNN(卷积神经网络)等模型)的融合对语音信号进行分析处理识别语音特征数据并精准提取特征参数,基于 HMM(隐马尔可夫)模型对语音资料库进行语音训练[9],定制化处理水利行业信息,形成覆盖雨水情、险情、工情等水利各个业务应用场景的语言模型,通过 DNN 学习技术,对现有语音库进行深度学习,以提升个性化数据的准确率并做到高度自适应对声学模型和语言模型的共同优化。目前整个模型的识别准确率可以达到 98% 以上,用户查询响应速度在 0.5 s 以内。
3.3 基于微服务架构的系统开发技术
基于面向服务架构演变而来的微服务架构解决了传统水利数据服务模式的不足,在近些年水利业务系统建设过程中得到了越来越多的应用。微服务架构的技术思路是将应用分割为一系列细粒度的服务,每个服务专注于单一业务功能,运行在独立的进程中,每个服务之间边界清晰,采用 HTTP/REST等轻量级通信机制相互沟通实现完整的应用。其特点是服务功能单元独立化、通信接口标准化、服务开发组件化,极大增加了应用系统开发的开发效率和灵活性[10]。
安徽省基层防汛语音服务平台基于微服务的软件架构进行设计,系统的灵活性、规范性、稳定性及安全性大大增强,每个语音处理服务都是独立的,对内实现指定的语音处理逻辑,对外承担特定的语音指令任务,通过标准化的语音服务接口,与现有水利业务系统实现互联互通。
4 总结
安徽省基层防汛语音服务平台将智能语音识别技术应用到基层防汛管理工作中,为辅助各级水行政管理人员做好日常防汛工作,提高工作效率、改善系统使用体验提供支撑,为行政领导查询信息提供便捷的手段。服务平台已在安徽省水利厅实现了业务化应用,特别是 2020年超标准洪涝灾害防御过程中,充分印证了语音服务平台的精准性、高效性。平台的建成及应用为水利信息化向智慧水利发展提供了很好的示范,是安徽省智慧水利建设的重要组成部分。
目前语音服务平台对业务系统的支撑主要侧重于信息查询和指令操作,为进一步提升语音平台的应用水平及服务能力,后续的研究中将紧密结合水利业务需求,融合人工智能和大数据优势研发语音电话自动外呼和智能问答功能,全面提升语音平台对水利工作的支撑能力,并将语音平台核心技术在全国逐步推广应用。