APP下载

基于自动语音识别的IT运维呼叫中心系统的实现

2010-10-26广州市行政学院信息网络中心郭瑞

河南科技 2010年4期
关键词:话音检测器预处理

广州市行政学院信息网络中心 郭瑞

基于自动语音识别的IT运维呼叫中心系统的实现

广州市行政学院信息网络中心 郭瑞

自动语音识别(Automatic Speech Recognition,简称ASR)系统是一种可以识别非限定讲话者连续话音的识别软件系统,其目标是将人类的语音中的词汇内容转换为计算机可读的输入。呼叫中心则是基于现代通讯技术,同时处理大量各种不同的电话呼入和呼出业务与服务的系统。本文将介绍如何利用东进D081A模拟中继语音卡电话处理系统和Nuance Recognizer 9.0自动语音识别系统实现基于自动语音识别的IT运维呼叫中心系统。

自动语音识别(ASR),Nuance Recognizer 9.0,呼叫中心,IT运维管理

1. 背景

随着信息技术的蓬勃发展,大到国家机关,小到产品加工场,都有自己的IT系统。由于系统维护的工作量逐渐加大,IT运维管理软件孕育而生。处理用户故障申报并跟踪处理是IT运维管理软件的重要工作内容。为了方便用户,通常采用呼叫中心的方式接收故障申报。如此一来,需要专人接听用户来电并手工生成维护工单。为了让服务更加自动化,采用自动语音识别方式将用户来电直接转换成IT运维管理软件可处理的文本信息不失为一个好主意。

2. 语音识别原理

语音识别技术就是让计算机通过识别和理解过程把人类的语音信号转变为相应的文本或命令的技术,其目标是让计算机“听懂”人类口述的语言。不同的语音识别系统,虽然具体实现细节有所不同,但所采用的识别原理程序基本相似:[1] (见图1)

首先,确定语音识别单元的选取。语音识别单元有单词(句)、音节和音素等3种。单词(句)单元广泛应用于中小词汇语音识别系统,但不适合大词汇系统。因为汉语是单音节结构的语言,音节数量相对较少,所以音节单元多用于大词汇量汉语语音识别。音素单元以前多见于英语语音识别的研究中,现在也开始用于大词汇量汉语语音识别。之后,进行特征提取,去除语音中对识别无关紧要的冗余信息。然后,采用适当的语音识别方法,通过对确定的语音特征进行模型训练得到模板库。最后,将待识别的语音信号特征与模板库进行模式匹配,从而达到识别目的。

图 1

3. IT运维呼叫中心系统的框架结构

基于自动语音识别的IT运维呼叫中心系统(以下简称本系统),将实现从电话故障申报语音采集、语音转换成文本、文本信息提交IT运维管理工作流的一系列功能。本系统采用东进公司出品的D081A模拟中继语音卡电话处理系统,实现呼叫中心的基本功能;利用Nuance Recognizer 9.0自动语音识别系统对采样的话音进行处理,将话音转换成对应的文本,并以统一的XML格式文件作为输出,从而将故障申报信息提交给IT运维管理软件。(见图2)

考虑到东进公司和Nuance公司的SDK都是基于C语言的标准API函数接口,本系统是使用VC++将电话呼叫中心与自动语音识别系统进行整合。

图 2

3.1 电话呼叫中心

电话申报作为本系统的输入模块,直接将电话线上的话音信号采样保存为数字音频数据。东进公司的D081A模拟中继语音卡可以提供最多8个通道的模拟话音接入。申报过程采用简单的一问一答形式。由于本系统采用自动语音识别功能,无需繁琐地按键选择。电话接通后,系统将自动播放提示音,用户根据提示音作出回答。在此期间,系统记录用户话音,并交由自动语音识别软件处理。申报完成后,系统自动输出确认信息,告知用户故障的受理情况。本呼叫中心关注故障申报人的姓名、故障发生地和故障描述这3个关键信息。申报流程设计如下:(见图3)

图 3

每次故障申报电话的音频数据将自动保存到系统数据库中以备核查。因此,系统长期运行后,数据库将会保存大量音频数据。考虑到人说话的声音频率在100Hz~8KHz范围,采用A-law标准将话音数据压缩成8KHz、8bit、单声道的数字音频文件。这样既能保证话音的保真度,又能有效节约存储空间。

3.2 语音识别机制

自动语音识别技术即 Automatic Speech Recognition(简称ASR),是指将人说话的语音信号自动转换为可被计算机程序所识别的信息,从而识别说话人的语音指令及文字内容的技术。

本系统使用Nuance Recognizer 9.0语音识别软件(以下简称该软件)实现ASR功能。该软件是一款非特定人语音、大词汇量、连续语音识别软件。该软件进行语音识别的核心是标准声音库文件和用户语法文件,本系统使用中文普通话语音库。识别过程中,该软件首先从系统导入用户语法文件,通过语法文件中按照一定逻辑结构组织的文本信息在标准声音库文件中选择相应的声音数据作为模式匹配的样本。这样做的好处是,无需在整个声音库文件中进行模式匹配,大大加快了识别的速度。(见图4)

图 4

语法文件作为所需识别内容的集合,所识别的字、词在语法文件中按照一定的语言逻辑关系进行组织。这样在识别之前无需对说话人的语音进行采样学习。语法文件采用Nuance公司定义的grxml格式,它是基于xml标准的一种语法扩展。由于自动语音识别结果的文本内容直接来自语法文件,所以语法文件的内容直接关系到识别的成功率。开发者必须根据实际应用需要编写ASR的语法文件,并不断充实完善它。

3.3 语音识别实现

本系统利用Nuance公司提供的SDK实现自动语音识别功能。SDK由多个模块组成,每个模块提供一组API函数实现特定功能。本系统使用其中话音检测器(Speech detector)和语音识别器(Recognizer)两个模块。话音检测器用于对输入的数字音频数据进行预处理,经过预处理的数据输入到语音识别器中进行识别分析。(图5)

图 5

要实现语音识别功能,API接口函数必须被正确按顺序调用。(见图7)

系统启动时,必须用 SWIepInit()和SWIrecInit()函数初始化话音检测器和语音识别器。否则其它API函数无法工作。之后用SWIepDetectorCreate()和SWIrecRecognizerCreate()函数分别创建话音检测器和语音识别器对象。

启动完成后,首先用SWIrecGrammarLoad()函数加载用户定义的语法文件,并用SWIrecGrammarActivate()函数将其激活。每次识别前,必须使用SWIrecSessionStart()和SWIrecAcousticStateReset()函数对声学处理模块进行复位。

本系统的语音识别采用多线程设计,每次语音识别都作为一个独立线程。在单个线程中,语音识别器将启用话音检测器载入数字音频数据并进行预处理。预处理开始前,必须使用SWIepSessionStart()函数开启话音检测会话,并使用SWIepAcousticStateReset()函数复位声学处理模块的相关组件。预处理过程中,SWIepStart()和SWIepStop()函数控制话音检测器工作和停止;利用SWIepWrite()函数向话音检测器中写入需要预处理的数字音频数据;处理完毕后,利用SWIepRead()函数从话音检测器中读取处理结果数据。语音识别器使用SWIrecRecognizerCompute()函数根据所载入的语法文件对经过预处理的话音数据进行识别。

识别结束后,利用SWIrecGetXMLResult()函数将识别结果保存为XML格式的标准文件作为语音识别的输出。同时利用SWIrecGetWaveform()和SWIrecLogEvent()函数记录预处理后的波形数据和系统运行状态信息。

关闭系统时,必须使用SWIrecGrammarFree()函数释放语法文件资源,并用SWIepDetectorDestroy()和SWIrecRecognizerDestroy()函数销毁所有话音检测器和语音识别器对象。之后利用SWIepTerminate()和SWIrecTerminate()函数终止话音检测器和语音识别器组建,释放所有资源。值得注意的是,在终止之前,必须将所有话音检测器和语音识别器对象销毁,否则终止操作将会失败。

图 6

3.4 语音识别结果

语音识别结果以XML文件格式输出。对于同一段话音,难免出现发音相近的识别结果,这时,系统将根据匹配度从高到低的顺序对识别结果进行排序。下面是一段识别结果的XML文件示例,可见“电脑坏了”的匹配度为“93%”,而“编码坏了”的匹配度为“8%”,于是“电脑坏了”将作为结果输出。

4. 总结及展望

本文描述了利用东进D081A模拟中继语音卡电话处理系统和Nuance Recognizer 9.0自动语音识别系统实现基于自动语音识别的IT运维呼叫中心系统的过程。与传统的人工服务呼叫中心相比,自动语音识别功能大大节省人力资源,是本系统的亮点。本系统适用于维护人员较少但维护任务较重的IT运维管理环境,但也可根据需要移植到其它应用环境中。移植过程只需要根据具体应用情况重写语法文件,适当修改呼叫中心服务流程即可方便实现。

需要指出的是,尽管本系统已经在某机构上线运行一段时间,但由于人的语言千差万别,语音识别结果偶尔也会出现问题。为此,在实际运行过程中需要根据具体情况适时修改、充实原设计的语法文件,使本系统逐步趋于完善。

猜你喜欢

话音检测器预处理
话音叠加中实时混音算法的FPGA实现
基于预处理MUSIC算法的分布式阵列DOA估计
车道微波车辆检测器的应用
浅谈PLC在预处理生产线自动化改造中的应用
一种雾霾检测器的研究与设计
络合萃取法预处理H酸废水
基于自适应预处理的改进CPF-GMRES算法
IP语音报头压缩设计与实现
一体化火焰检测器常见故障分析
基于网优平台的数据话音均衡分析