侯勇, 王铮, 舒乔晔, 傅山
(1.国家电网有限公司华东调度分中心, 上海 200120;2.上海交通大学 电子信息与电气工程学院, 上海 200240)
电力系统在社会生产活动中起着举足轻重的作用。随着国民经济的不断增长,当前社会无论是工业生产还是居民生活对电网供电的稳定性与质量的要求不断提高,而对电网事故特别是停电事故的容忍度则越来越低,这就对电网的安全管理水平提出了更严峻的挑战。因此,如何进一步提高电网的安全管理水平,减少电网事故的发生是当前电力系统研究工作的热点问题之一[1]。
在电力系统中,电力调度通信中心肩负着电网的安全运行的重要工作,是电网运行的神经中枢,同时也是影响着电网顺利运行和资源高效优化配置的关键因素。尽管随着科技的进步,目前电力系统的自动化技术水平与可靠性已经大幅提高,但人在电力系统中依旧发挥着不可或缺的重要作用,例如处理日常事故和下达调度操作命令等重要工作仍依赖调度员人工完成。而人作为一个随机系统,其行为带有较大的随机性与不确定性,可靠性远低于设备的可靠性[2-6]。
随着我国社会用电总需求的提升,电网规模越来越大,电网调度中心的工作量也随之增加。由于调度员每天都需要进行大量的语音交互,即便训练有素、经验丰富的调度员也很有可能会失误,例如因工作疲劳而导致的口误,进而导致由人因失误引起的电网事故的发生。而在现有的电网调控系统中,目前还没有较好的措施对调度员因语音通话产生的人因失误来加以记录和防范,因此急需一种语音辅助系统帮助调度员预防并及时纠正语音交互过程中产生的失误。
针对上述问题,本文对用于电网调度系统的语音辅助系统进行了研究。该系统利用语音识别技术对调度员的口令进行语音识别,并根据电网调度规范用语建立专门的词库,以提高语音识别准确率,并通过将语音信息转化为文本信息,方便了对调度命令正确性和规范性的校验,从而为有效防范电网调度员在语音通话过程中因人因失误而导致电网事故的发生提供可能,进一步确保了电力系统的安全性。
电网调度员是电力系统的重要守护者,肩负着确保电网安全运行的重要使命。电网调度员最主要的工作之一就是通过拨打电话的方式,将操作票、电能计划修改等信息传达给地方电站进行执行[7]。在每年的用电高峰期,调度员每天都需要接打大量的电话,在此过程,调度员因工作负荷的增加更易于引起人因失误的发生,从而传达了错误的信息而导致电网事故。因此,语音识别的任务就是对调度员的通话内容进行识别,发现语音信息中出现的错误,从而避免人因失误的发生。
电网调度员下达电网操作票的典型过程为:
(1) 通调度员提前拟好操作票的内容;
(2) 将拟好的操作票提前发送给需要执行的地方电站;
(3) 调度员通过电话呼叫地方电站,并将之前发送过去的操作票的内容通过语音口述给地方电站来执行。
通过对电网调度员日常语音通话情况的分析发现,调度员在口述操作票的过程中,难免会因为发生口误、看错操作票中的文字、看串行等失误,从而将错误的信息传达给对方。为了避免调度员在口述操作票时产生的人因失误,语音辅助系统应能将调度员口述的语音内容中的错误信息准确地识别出来,从而使调度员能够及时发现错误并加以纠正。
语音识别技术是使机器通过识别和理解的过程,把语音信号转变为相应的文本或命令的技术。语音识别技术主要包括语音识别单元选取、特征参数提取技术、模式匹配准则及模型训练技术三个方面[8]。语音识别方法主要是模式匹配法。在训练阶段,需要采集大量的用户语音数据,将其特征矢量作为模板建立模板库。在识别阶段,将输入语音的特征矢量与模板库中的各个模板进行匹配,将匹配度最高者作为识别结果输出。
近几年来,借助机器学习领域深度学习研究的发展,以及大数据语料的积累,语音识别技术得到突飞猛进的发展。采用深度神经网络后,可以充分描述特征之间的相关性,逐级地进行信息特征抽取,进而形成适合模式分类的较理想特征[9]。随着互联网的快速发展,获取大量文本或语音方面的语料愈加方便,使得构建通用大规模语言模型和声学模型成为可能。这极大地促进了语音识别技术的发展,突破了某些实际应用场景下对语音识别性能要求的瓶颈,市面上出现了越来越多直接或间接嵌入语音识别技术的产品[10]。
由于语音是人与人之间进行信息交互的主要手段,而计算机擅长于处理文本信息,因此许多探究实体如微软、IBM、科大讯飞等均投入巨大精力对语音转化文本的技术进行研究。得益于近年的技术进步,语音识别技术逐渐成熟,已经逐步迈向实际应用。
科大讯飞是中国最大的智能语音技术提供商,专业从事智能语音及语言技术研究、软件及芯片产品开发、语音信息服务及电子政务系统集成。经过多年的积累,讯飞在语音识别的专业性和准确率方面具有国内领先水平。通过讯飞开放平台提供的接口,用户可以自行开发各种应用。本研究所开发的语音辅助系统便是基于讯飞语音开放平台。
讯飞开放平台主要提供语音听写和命令词识别两种语音识别功能。其中语音听写基于自然语言处理,将用户语音转化为文字,能够识别包含常见词语的句子并自动断句。命令词识别基于提前定义的语法结构,识别包含特定的关键词的句子组合,来判断用户是否下达了某项命令从而完成相应的工作。
对于电网调度系统的应用,由于主要目的在于识别出调度员语音信息中各种各样的错误信息,而讯飞开放平台中的命令词识别功能只能识别有限组的句子,不能满足要求,因此本研究选择了讯飞开放平台中的语音听写功能作为开发平台。另外,由于语音听写功能更适用于对常见词语的识别,而对不常见词语的识别效果不太理想,例如对“文岭变电站”的识别可能会识别为“温岭变电站”。因此,为了避免这种情况的发生,本研究通过对大量操作票内容的分析,提取出了可能导致识别系统出错的词语并建立了相应的词语库,从而显著提升了识别的准确率。
基于讯飞开放平台搭建的电网调度语音辅助系统的识别流程如下:
(1) 分析操作票内容建立识别词库,将该词库编制成热词文件上传发布;
(2) 初始化系统,建立并配置对象:使用int MSPAPI MSPLogin (const char *usr, const char *pwd, const char *params)登入系统,并传入用户名、密码和附加参数。用户名和密码均传NULL即可,附加参数用于指定请求业务类型、语言、方言等信息;
(3) 语音输入:用户口述操作票,通过麦克风录入系统;
(4) 语音识别:调用讯飞语音听写识别用户说的内容,优先返回包含在2)建立的识别词库中的词语;
(5) 结果检测:显示识别结果至屏幕,引导用户比对;
(6) 结束识别,调用int MSPAPI MSPLogout ()退出。
用户界面是用户与系统间的接口,是用户使用系统的重要手段。本文采用微软基础类库(Microsoft Foundation Classes,MFC)来实现用户界面。MFC提供了面向对象的框架,将大部分的Windows API封装到C++类中,以类的成员函数的形式提供给程序开发人员调用。MFC包含了大量的Windows句柄封装类和很多Windows的内建控件和组件的封装类,并且包含一个应用程序框架,从而降低了开发人员的工作量[11]。
本研究所开发的语音辅助系统的界面及识别结果的示例如图1所示。
图1 语音辅助系统界面及识别结果
点击开始识别按钮后,语音识别模块开始工作,等待用户输入语音。识别完成后,识别结果显示在结果框中,用户可以点击结束识别按钮结束语音识别过程。
为了检验语音辅助系统的识别效果,本研究以不同操作票为样本进行了100次的测试,并对识别准确率进行了统计。测试中所采用的典型操作票内容的示例如表1所示。
表1 典型操作票内容示例
同时,为了体现建立语音辅助系统自定义专用词语库的重要性,本研究对系统未使用和使用自定义专用词库的表现进行了对比测试,识别结果如表2所示。在使用自定义词库后,系统语音识别的准确率得到了显著提高,如表2所示。
如对于表1中所示的操作票,通过对语音辅助系统易混淆名词的分析,将城都、文岭收录到易混地名词库中;,通过引入电网领域的先验知识和词典,将5052开关、5053开关、5062开关、5063开关收录到用电设备词库中;将冷备用、热备用收录到设备状态与操作词库中。通过该方式建立的自定义词库大幅地提高了识别准确率。
表2 识别结果准确率
通过将所识别的内容与操作票的内容进行比对,进行一致性的判断,可以实现对调度员语音口令中出现的失误进行识别,并及时对调度员进行提醒。
在对调度员的日常发令过程进行观察后发现,调度员在口述操作票的过程中通常会发生以下两类失误:
(1) 口误。调度员下意识地说错了操作票中的相关信息,如地名、票号、操作指令等;
(2) 漏步。对于执行步骤较多的操作票,调度员存在不小心跳过其中某一操作步骤而遗漏操作信息的情况。
下文将分别针对这两类失误,通过设计对应的两个典型场景来展现语音辅助系统在识别这两类失误时的情况。
3.2.1 调度员语音指令内容有误
在本场景中,调度员需要下达的操作票内容如表2所示。
表3 口误场景操作票内容示例
在实际下达操作票的过程中,调度员故意出现2次失误:
(1) 在读到第2个步骤的内容后,误将“5023开关”读成“5022开关”;
(2) 在读到第3个步骤的内容后,故意将“文岭线”读成“文双线”。
此时,当语音辅助系统将所识别的内容与操作票内容的比对后发现了这2次失误,并对调度员进行及时提醒,调度员得到提示后重新发出了正确的指令,避免了失误的发生。语音辅助系统的识别结果显示如图2所示。
3.2.2 调度员语音指令出现漏步
在本场景中,调度员需要下达的操作票内容如表4所示。
在实际下达操作票的过程中,调度员在读完第3个步骤的内容后,故意漏掉了第4步的内容,直接跳到第5个步骤。此时,语音辅助系统发现了漏步现象情况后,对调度员进行及时提醒,调度员随后发出了更正后的指令,避免了失误的发生。语音辅助系统的识别结果显示如图3所示。
图2 口误场景识别结果显示
序号电站步骤操作内容十一文都1文双5347线从冷备用改为线路检修2城都线/文双线5062开关从冷备用改为开关检修3文双线5063开关从冷备用改为开关检修4文岭5348线从冷备用改为线路检修5皋文线/文岭线5052开关从冷备用改为开关检修6文岭线5053开关从冷备用改为开关检修
图3 漏步场景识别结果显示
为了防范电网调度员在语音通话过程中因人因失误而导致电网事故的发生,本文研究了用于电网调度语音交互的辅助系统,得到以下结论。
(1) 通过将语音识别技术应用于电网调度系统,并将语音信息转化为文本,使调度员能够及时发现语音交互过程中的失误。
(2) 应用讯飞开放平台搭建了语音识别系统,根据任务特点设计了识别流程,提供了人机交互界面,并通过分析调度规范用语建立语音识别词库,提高了识别的准确率。
(3) 所开发的语音辅助系统能够将所识别的内容与操作票的内容进行一致性判断,对调度员语音口令中出现的错误信息以及漏步错误进行识别并提醒。
(4) 实验结果表明,该系统识别准确率较高,识别结果能够为调度员提供参考,有助于对电网调度员在语音通话过程中产生的人因失误进行防范,从而避免电网事故的发生。