一种探测方法及系统
技术领域
本发明涉及通信领域,更具体地说,涉及一种用于探测IVR系统播报是否正常探测方法及系统。
背景技术
交互式语音应答(Interactive Voice Response,IVR)技术使得用户可以利用电话按键(还可以通过发出语音指令)进入数据库,来方便地获取或更新数据、进行交易,呼叫或留言。交互语音应答系统可以自动处理客户业务请求,可以随时随地为客户提供服务,且成本较低,广泛应用于各种呼叫中心,已经成为通信服务中的一个重要组成部分。
然而,IVR系统的应用也存在许多缺点,如其对用户的语音识别性能较差。另外,IVR系统在播报时也不够智能,如其虽然根据用户的操作选择做出了语音播报,但其却无法探测该播报是否正常,尤其是该播报内容是否正确、其播报时间是否正确、及根据其情况是否需要进行再次播报等等。这些缺点在系统流量高峰期更容易导致播报混乱,进而使用户与IVR系统之间产生错误理解。
针对上述技术问题,目前尚未提出有效的解决方案。
发明内容
本发明要解决的技术问题在于,针对现有技术中,IVR系统在语音播报时无法探测播报内容及其播报时间的问题,提供一种IVR系统探测方法和系统,能够准确地探测出IVR系统播报是否正常,且能够对不同口音的播报也能做出准确判断。
本发明解决其技术问题所采用的技术方案是:提供一种探测方法,用于探测IVR系统播报是否正常,该方法包括步骤:
S1:调度模块控制语音通讯模块向所述IVR系统发送预定的用于模拟用户拨打电话、输入按键的业务动作的二次拨号串,所述IVR系统根据所述业务动作播报相应的提示音;控制所述录音模块对所述播报内容进行录音,以获得用该业务所属的地区进行标记的音频文件;
S2:所述录音模块将所述音频文件提交至识别引擎,所述识别引擎加载所述地区所对应的语音库和语法文件后,对所述音频文件进行识别得到若干短语,再在所述短语中识别出关键字;当在所述音频文件中最终未识别出所述短语或所述关键字时,输出所述IVR系统播报不正常的结果;
S3:当识别出所述关键字时,根据所述关键字的所述识别结果,获得所述关键字在所述短语中的起始位置和占据的长度及所述短语在整个所述音频文件中的起始位置,并由此获得并输出所述关键字在整个所述音频文件中的起始时间和持续时长;
S4:将所述输出的关键字在整个所述音频文件中的起始时间和持续时长,与所述关键字在所述提示音中的起始时间和持续时长相比较,并根据所述比较结果判断所述IVR系统播报是否正常。
在根据本发明所述的方法的步骤S1中:
在语音通讯模块发送所述二次拨号串前,调度模块下发录音任务至所述录音模块,所述录音模块接收到所述下发任务后预备录音;在模拟用户拨打电话并成功接通所述IVR系统后,所述录音模块开始录音;在所述预定的业务动作执行结束且所述IVR系统根据所述动作播报相应的提示音结束时,所述录音模块停止录音,并保存所述录音得到所述音频文件。
在根据本发明所述的方法中,步骤S2包括:首先将COM组件和识别引擎初始化,然后装载识别消息并设置消息处理函数;绑定所述音频文件至一音频流,所述识别引擎加载所述音频流,将所述音频流作为所述识别引擎的输入;创建识别语法并将其设置为命令模式,然后将当前语音库所对应的语法文件载入至所述识别语法;激活所述识别语法和所述识别引擎后,所述识别引擎开始识别;当识别出所述关键字后,记录并输出该关键字在所述短语中的起始位置和占据的长度及所述短语在整个所述音频中的起始位置。
在根据本发明所述的方法中,步骤S2在识别引擎加载当前语音库前还包括步骤:
判断当前语音库是否与所述地区对应:当判断结果为否时,将与所述地区对应的语音库切换为当前语音库。
根据本发明所述的方法中识别步骤S3包括步骤:
将所述关键字所在的短语在整个所述音频中的起始位置和占据的长度转换成所述关键字所在的短语在整个所述音频中的起始时间;
将所述关键字在所述短语中的位置起始位置和占据的长度转换成所述关键字在所述短语中的起始时间和持续时长;
根据所述关键字所在的短语在整个所述音频中的起始时间和所述关键字在所述短语中的起始时间和持续时长,计算并输出所述关键字在整个所述音频中的起始时间和持续时长。
本发明还提供了一种探测系统,用于监测IVR系统播报是否正常,该系统包括调度模块、语音通讯模块、录音模块、识别模块和比较模块,其中:
所述调度模块用于控制所述语音通讯模块向所述IVR系统发送预定的二次拨号串,以模拟用户拨打电话、输入按键的业务动作;所述调度模块还用于控制所述录音模块对所述IVR系统根据所述业务动作进行的播报的提示音进行录音,以获得用该业务所属的地区进行标记的音频文件;获得所述音频文件后,所述录音模块将其提交给所述识别模块;
所述识别模块用于对所述音频文件进行识别,对所述音频文件进行识别得到若干短语,并在所述短语中识别出关键字,再从所述识别结果中获得所述关键字在所述短语中的起始位置和占据的长度及所述短语在整个所述音频文件中的起始位置,并由此计算并输出所述关键字在整个所述音频文件中的起始时间和持续时长;并在所述音频文件中最终未识别出所述短语或所述关键字时,输出所述IVR系统播报不正常的结果;
所述比较模块用于将输出的所述关键字在整个所述音频文件中的起始时间和持续时长,与所述关键字在所述提示音中的起始时间和持续时长相比较,并根据所述比较结果判断所述IVR系统播报是否正常。
在根据本发明所述的系统中,录音模块包括录音控制模块、录音执行模块与录音存储模块;
所述录音控制模块用于在接收到所述下发任务后控制录音执行模块预备录音,在模拟用户拨打电话以成功接通所述IVR系统后,控制所述录音执行模块开始录音,并在所述预定的业务动作执行结束且所述IVR系统根据所述动作播报相应的提示音文件结束时,控制所述录音执行模块停止录音;
所述录音存储模块用于在所录音执行模块停止录音后将所述录音保存为音频文件。
在根据本发明所述的系统中,识别模块包括输入模块、内容识别模块、关键字提取模块和输出模块:
所述输入模块用于将绑定了所述音频文件的音频流输入到所述关键字提取模块;
所述内容识别模块用于加载当前语音库后创建识别语法,根据所述识别语法识别出若干短语;当所述内容识别模块在所述音频文件中最终未识别出所述短语时,所述内容识别模块输出所述IVR系统播报不正常的结果;
所述关键字提取模块用于从所述短语中提取出关键字并记录所述关键字所在的短语在整个所述音频中的起始位置和所述关键字在所述短语中的起始位置和占据的长度;当所述关键字提取模块在所述音频文件中最终未识别出所述关键字时,所述关键字提取模块输出所述IVR系统播报不正常的结果;
所述输出模块用于根据所述关键字所在的短语在整个所述音频中的起始位置和所述关键字在所述短语中的起始位置和占据的长度,计算并输出所述关键字在整个所述音频中的起始时间和持续时长。
在根据本发明所述的系统中,所述识别模块还包括语音库调度模块,所述语音库调度模块用于在当前语音库不是所述地区所对应的语音库时,将所述地区所对应的语音库切换为当前语音库。
在根据本发明所述的系统中,输出模块包括:
时间转换模块,用于将所述关键字所在的短语在整个所述音频中的起始位置转换成所述关键字所在的短语在整个所述音频中的起始时间,将所述关键字在所述短语中的起始位置和占据长度转换成所述关键字在所述短语中的起始时间和持续时长;
计算模块,用于根据所述关键字所在的短语在整个所述音频中的时间起始时间和持续时长和所述关键字在所述短语中的起始时间,计算并输出所述关键字在整个所述音频中的起始时间和持续时长。
本发明的方法和系统能够准确地探测出IVR系统播报是否正常,且能够对带有不同地区口音的播报也能做出准确判断。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明的第一优选实施例的探测系统的结构框图;
图2为本发明的第一优选实施例的探测方法的流程图;
图3为本发明的第二实施例的探测系统的结构框图;
图4为本发明的第三优选实施例的探测系统的结构框图;
图5为本发明的第三优选实施例探测方法的步骤S2的流程图。
图6为本发明的第四优选实施例探测系统的部分结构框图;
图7为本发明的第五优选实施例探测系统的部分结构框图。
具体实施方式
为了使本发明的目的更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
图1为本发明的第一优选实施例的探测系统的结构框图。图2为本发明的第一优选实施例的探测方法的流程图。
如图1所示,该探测系统1包括调度模块11、语音通讯模块12、录音模块13、识别模块14和比较模块15。
其中,调度模块11用于控制语音通讯模块12向IVR系统2发送预定的二次拨号串,以模拟用户拨打电话、输入按键的业务动作;调度模块11还用于控制录音模块13对IVR系统2根据业务动作进行的播报的提示音进行录音,以获得用该业务所属的地区进行标记的音频文件;获得音频文件后,录音模块13将其提交给识别模块14;
识别模块14用于对音频文件进行识别,对音频文件进行识别得到若干短语,并在短语中识别出关键字,再从识别结果中获得关键字在短语中的起始位置和占据的长度及短语在整个音频文件中的起始位置,并由此计算并输出关键字在整个音频文件中的起始时间和持续时长;当识别模块14在音频文件中最终未识别出短语或关键字时,识别模块14输出IVR系统2播报不正常的结果;
比较模块15用于将输出的关键字在整个音频文件中的起始时间和持续时长,与关键字在提示音中的起始时间和持续时长相比较,并根据比较结果判断IVR系统2播报是否正常;
如图2,在本实施例的探测方法中,首先进行步骤S1:调度模块11控制语音通讯模块12向IVR系统2发送预定的用于模拟用户拨打电话、输入按键的业务动作的二次拨号串,IVR系统2根据业务动作播报相应的提示音;控制录音模块13对播报内容进行录音,以获得用该业务所属的地区进行标记的音频文件。
在本发明中,业务所属的地区可以指以省级区域为单位的业务区域,如北京市、山东省等,这些业务群共同使用一IVR系统2;当然地,也可以指按照其他地域划分规则划分的各业务区域,如市、州,或按方位划分为华中、华南、华北、华东等。本发明中的语音通讯模块12可以是具有通讯功能的手机卡或其他具有通讯功能的设备终端。本说明书中所说的关键字在提示音中的起始时间和持续时长是指提示音在正常情况下直接转换或录音后转换为音频文件时,其中所包含的关键字在整个提示音中的起始时间和持续时长。
然后进行步骤S2:录音模块13将音频文件提交至识别模块14,识别模块14加载地区所对应的语音库和语法文件后,对音频文件进行识别得到若干短语,再在短语中识别出关键字;当在音频文件中最终未识别出短语或关键字时,输出IVR系统2播报不正常的结果。
接着进行步骤S3:当识别模块14识别出关键字时,识别模块14根据关键字的识别结果,获得关键字在短语中的起始位置和占据的长度及短语在整个音频文件中的起始位置,并由此获得并输出关键字在整个音频文件中的起始时间和持续时长。
在本说明书中,起始时间/位置和结束时间/位置都是相对音频或指示音开始时间/位置而言的。
最后进行步骤S4,比较模块15将输出的关键字在整个音频文件中的起始时间和持续时长,与关键字在提示音中的起始时间和持续时长相比较,并根据比较结果判断IVR系统2播报是否正常。
图3为本发明的第二优选实施例的探测系统的结构框图。如图3所示,本实施例中的录音模块13包括录音控制模块131、录音执行模块132与录音存储模块133。
在与其对应的本发明的第二优选实施例的探测方法的步骤S2中,录音控制模块131在接收到下发任务后控制录音执行模块132预备录音,在模拟用户拨打电话以成功接通IVR系统2后,控制录音执行模块132开始录音,并在预定的业务动作执行结束且IVR系统2根据动作播报相应的提示音文件结束时,控制录音执行模块132停止录音。
录音存储模块133在所录音执行模块132停止录音后将录音保存为音频文件。
其带来的好处是,可以通过录音控制模块131对录音执行模块132的控制,能够精确地、完整地将播报内容录制下来,更方便比较模块15的比较和判断。
在本发明的其他的一些实施例中,可以录音模块13还可以通过增加一感知单元,对播报情况进行监测而自动开始和结束,无需调度模块11进行任务下发。
图4为本发明的第三优选实施例的探测系统的结构框图。如图4所示,本实施例中的识别模块14包括输入模块141、内容识别模块142、关键字提取模块143和输出模块144。
其中,输入模块141用于将绑定了音频文件的音频流输入到关键字提取模块143。
内容识别模块142用于加载当前语音库后创建识别语法,根据识别语法识别出若干短语;当内容识别模块142在音频文件中最终未识别出短语时,内容识别模块142输出IVR系统2播报不正常的结果。
关键字提取模块143用于从短语中提取出关键字并记录关键字所在的短语在整个音频中的起始位置和占据的长度和关键字在短语中的起始位置;当关键字提取模块143在音频文件中最终未识别出关键字时,关键字提取模块143输出IVR系统2播报不正常的结果。
输出模块144用于根据关键字所在的短语在整个音频中的起始位置和关键字在短语中的起始位置和占据的长度,计算并输出关键字在整个音频中的起始时间和持续时长。
图5为本发明的第三优选实施例探测方法的步骤S2的流程图。如图5所示,在本实施例中的识别步骤中,首先将COM组件和识别引擎初始化,然后装载识别消息并设置消息处理函数;绑定音频文件至一音频流,识别引擎加载音频流,将音频流作为识别引擎的输入;创建识别语法并将其设置为命令模式,然后将当前语音库所对应的语法文件载入至识别语法;激活识别语法和识别引擎后,识别引擎开始识别;当识别出关键字后,记录并输出该关键字的在整个音频流中的起始位置和该关键字的长度。
例如,可利用微软SpeechSDK语音软件开发包实现上述识别模块14。派头首先使用COM组件中的CreateInstance函数创建并初始化一个SR Engine识别引擎;然后用SetNotifyWin32Event函数自定义Windows Message并设置一个消息处理函数;进而使用BindToFile函数将音频文件绑定到一个音频流,并将该音频流作为SR Engine的输入;使用函数SetRuleState激活SR Engine并开始相应上述Windows Message。当上述消息处理函数的触发类型为SPEI_RECOGNITION时,则表示SR Engine接收到一个事件即有关键字被识别;当触发事件类型为SPEI_END_SR_STREAM则表示SR Engine所加载的音频文件已被识别完毕。在音频文件已被识别完毕时,若没有收到该识别消息,则输出IVR系统2播报不正常的结果。当有关键字被识别出时,使用GetText函数返回短语中包含的关键字,使用SPPRSSEELEMENT函数返回关键字在该短语中的起始位置和占据的长度、该短语在整个音频文件中的起始位置后退出SREngine。
图6为本发明的第四优选实施例探测系统的部分结构框图。如图6所示,本实施例的识别模块14还包括语音库调度模块145。语音库调度模块145在当前语音库不是地区所对应的语音库时,将地区所对应的语音库切换为当前语音库。
调度语音库时,首先获取音频文件所对应的地区和业务信息;然后判断当前语音库所对应的地区是否与音频文件所对应的地区一致;当上述判断结果否时,则将该地区所对应的语音库切换为当前语音库,当上述判断结果为是时,则不对当前语音库进行切换。
通过设置语音库调度模块145,优化了语音识别过程,降低了不同地域语音混杂带来的繁杂的计算量,因此本发明的探测方法可以方便地识别较大词汇量,尤其是带有地区口音的IVR系统语音播报。
其中,语音库是指按照其所对应的区域的语言习惯和特点采集的标准发音的频谱特征,包括单字、词、短语等。识别引擎按照预定的识别语法,将音频流的频谱进行分割成若干单元,再将这些单元的频谱与语音库中的频谱进行比对识别,以识别出部分或全部内容从而得到多个短语。然后,识别引擎在这些短语中,检索出关键字。
图7为本发明的第五优选实施例探测系统的部分结构框图。如图7所示,本实施例的输出模块144包括时间转换模块144A和计算模块144B。
其中,时间转换模块144A用于将关键字所在的短语在整个音频中的起始位置转换成关键字所在的短语在整个音频中的起始时间,将关键字在短语中的起始位置和占据长度转换成关键字在短语中的起始时间和持续时长。
计算模块144B用于根据关键字所在的短语在整个音频中的时间起始时间和持续时长和关键字在短语中的起始时间,计算并输出关键字在整个音频中的起始时间和持续时长。
本发明的第五优选实施例探测方法中步骤S3包括:
将关键字所在的短语在整个音频中的起始位置和占据的长度转换成关键字所在的短语在整个音频中的起始时间;
将关键字在短语中的位置起始位置和占据的长度转换成关键字在短语中的起始时间和持续时长;
根据关键字所在的短语在整个音频中的起始时间和关键字在短语中的起始时间和持续时长,计算并输出关键字在整个音频中的起始时间和持续时长。
由上述内容容易理解的是,本发明中的关键字可以为一个或多个,当关键字为多个时,可对识别结果、计算结果等进行合理的综合判断以确定IVR系统2是否播报正常。
本发明的方法和系统能够准确地探测出IVR系统2播报是否正常,且能够对带有不同地区口音的播报也能做出准确判断。
以上仅为本发明的较佳实施例而已,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。