基于语音识别的IVR系统的设计与实现

发布者:Serendipity66最新更新时间:2014-10-09 来源: eefocus关键字:IVR  语音识别  PCM  ADPCM 手机看文章 扫描二维码
随时随地手机看文章
1 引言

       IVR系统(Interactive Voice Response),即交互式语音应答系统,它被应用于呼叫中心(Call Center),以提高呼叫服务的质量、减轻服务员的工作强度并节省费用,是呼叫中心实现人机交互的重要门户,在传统的IVR系统中,用户与系统交互的方式是通过电话的键盘。通常,用户在进入IVR系统后,会听到相关的语音提示选单,根据自己的需要可以按下键盘上相关的按键。系统通过DTMF信号传送用户按下的键,同时也将用户的请求传送给系统,从而触发相关的语音信息。然而,传统的电话仅能通过DTMF信号,传送有限的几个数字及符号按键。这使得用户与系统的交互界面受到很大的限制,同时也就使得IVR系统的信息查询范围变得相当狭窄,用户在实际使用时会感到诸多不便。

        随着计算机技术和人工智能总体技术的发展,自然语言理解不断取得进展。语音识别系统已成为一个越来越广泛的应用方向。由于电话网络的普及性,自然语言处理系统在电话信道上的应用已成为最重要的应用之一。而且随着移动通信技术的发展和人们对于信息获取的移动性的需求不断增加,市场对于电话语音识别系统的需求也不断的增加。因此在新一代呼叫中心的IVR系统中引入了语音识别技术作为用户的输入手段,用户可以直接用语音与系统进行交互,这样大大提高了工作效率。

2 系统流程及主要模块

        本系统目标是支持多用户并发查询车辆违章信息和驾驶证信息。用户使用自然的语言说出需查询信息的类别和车牌号码,系统识别后将识别结果反馈给用户,经用户确认后,系统把识别结果作为后台数据库查询的关键字进行查询,并将查询结果播放给用户。其流程见图1。本系统主要包括以下几个模块:

        话路处理模块:以并发的方式控制和管理各电话话路。

        语音识别模块:负责查询类别和车牌号码的识别。

        后台数据库查询模块:将语音识别的结果作为数据库查询的关键字进行查询。

图1 车辆违章信息和驾驶证信息查询系统流程图



3 话路处理模块的实现

        本系统的硬件部分是由电话语音卡和一台PC机组成,语音卡通过其提供的语音处理和信令处理能力,来实现用户的接入请求和挂机信号的检测,并负责录音和回放语音。本系统采用的是东进D161A语音卡。该语音卡可接入16条模拟电话线,提供16路以内的话路并行处理能力。其主要功能有:(1)自动增益控制及语音信号的压扩变换;(2)采集和播放各种格式的电话语音信号,实现A律PCM、μ律PCM、ADPCM等算法;(3)辨识和产生DTMF信号;(4)ITU-TSS G3传真功能。

        话路处理的主要任务是电话振铃检测,播放系统提示语音信息,接受用户的按键请求和语音请求,与后台数据库模块通讯,检索结果的语音合成和播放。整个模块有点类似于一个有限状态机,在程序设计时要跟踪系统所处的状态进行相应的动作,并进入下一个状态,其程序流程如图2所示。

        本系统话路处理模块的关键部分是语音数据的实时采集。东进语音卡在这方面提供了一系列接口函数,如:StartRecordFile、StartRecordFileNew、VR_StartRecord等。这几个函数都能够实现对通道的录音,所不同的是前两个函数将语音数据保存到磁盘文件,后一个函数则将语音数据保存到存储器缓冲区。由于我们要实现的是一个实时语音识别系统,因此我们采用后者来采集语音数据。在开始录音之前,我们首先调用VR_SetEcrMode函数启动回声抑制功能,然后每隔一段时间调用一次VR_GetRecordData函数取得录音数据,并将其送入语音识别引擎。当语音识别引擎有识别结果返回时,停止录音,并根据识别结果转入下一个状态。 [page]

图2 话路处理流程




 


4 语音识别模块的实现

        语音识别系统的开发可以采用基于模板匹配的动态时间规整(DTW)、基于统计参数模型的隐马尔可夫模型(HMM),神经网络等技术,他们都是针对某些具体应用的,其模型参数的获得需要对大规模的样本进行学习,对于非特定人语音识别往往需要采集数百人的语音样本,其工作量是相当大的。随着语音研究的不断发展,已经出现了众多的语音识别开发工具:如Microsoft Speech SDK,IBM ViaVoice等。他们都提供了语音识别和语音合成的二次开发平台,并且微软的Speech SDK是完全免费的,它具有识别率高,识别速度快,可移植性好,支持多种语言等优点。因此它被广泛应用于各个领域。

4.1 Microsoft Speech SDK 5.1简介

        SAPI SDK是微软公司免费提供的语音应用开发工具包,这个SDK中包含了语音应用设计接口(SAPI)、微软的连续语音识别引擎(MCSR)以及微软的语音合成(TTS)引擎等等。目前的5.1版本一共可以支持3种语言的识别 (英语,汉语和日语)以及2种语言的合成(英语和汉语)。SAPI中还包括对于低层控制和高度适应性的直接语音管理、训练向导、事件、语法编译、资源、语音识别(SR)管理以及TTS管理等强大的设计接口。

        语音识别的功能主要由一系列COM接口协调完成。其中主要的接口有下面这些:

        IspRecognizer接口:用于创建语音识别引擎的实例,识别引擎有两种:独占引擎(InProcRecognizer)和共享引擎(SharedRecognizer)。独占的引擎对象是在本程序的进程中创建,只能由本应用程序使用,而共享的引擎是在一个单独的进程中创建,可以供多个应用程序共同使用。

        IspRecoContext接口:主要用于接受和发送与语音识别消息相关的事件消息,装载和卸载识别语法资源

        IspRecoGrammar接口:通过这个接口,应用程序可以载入并激活语法规则,而语法规则里定义了待识别的单词、短语和句子。通常语法规则有两种:听写语法(DictationGrammer)和命令控制语法(CommandandControlGrammer)。听写语法用于连续语音识别,可以识别出引擎词典中大量的词汇;命令控制语法用于识别用户自定义的词汇。

        IspPhrase接口:通过这个接口,应用程序可以获得识别信息,如:如识别结果、识别的规则、语义标示和属性信息等。

        IspAudioPlug接口:通过这个接口,应用程序可以将内存中的语音数据送到语音识别引擎,进行识别。

4.2 识别模块的具体实现

        由于命令控制语法方式可以限制识别的词汇量,并且这种识别技术不需要对说话人事先进行训练,因此在实际应用中具有较高的鲁棒性和较高的识别效率。本系统的识别词汇包括:“车辆信息查询”、“驾驶证信息查询”和26个英文字母10个数字,我们首先编写了包含这些特定词汇的语法文件。

       在使用接口函数前,首先调用CoInitialize(NULL)初始化COM对象,然后创建语音识别引擎、语法规则上下文和识别语法,并调用函数LoadCmdFromFile装载文法识别规则。微软识别引擎是通过SAPI由事件触发来通知上层的应用程序。可以调用SetInterest来注册自己感兴趣的事件。系统默认的事件为SPEI_RECOGNITION,该事件表明当前已有识别结果返回,这时上层应用程序可以通过调用ISpRecoResult接口的GetText方法获得识别结果。

        微软识别引擎的语音输入有多种方式,通常都是通过声卡直接输入,也可以通过其他语音输入流。本系统的语音数据是从语音卡取得的实时数据,将其存入内存,然后通过调用ISpAudioPlug的SetData方法将其送入识别引擎。

4.3 系统实现的难点和解决方案

        车牌的识别词汇中包含10个数字和26个英文字母,这些词汇的发音有许多是相同或相近的,比如:E和1,R和2,T和7,D和B,M和N,X和S。这些词汇在识别时很容易产生误识,有的甚至完全不能识别。如果单从算法上来考虑,是很难解决这些问题的。因此我们考虑从系统的流程出发,当用户认为识别有误时,可以输入识别错误的位数,然后系统根据用户的输入,提供几个备选结果,供用户选择,这样极大的提高了系统识别率。

         然而Microsoft Speech SDK 5.1在命令控制语法方式下是不提供多选的,只有在听写方式下才提供多选,但是听写方式下的词汇量又无法限制。对此我们的想法是这样的:当系统识别出结果以后,将有效语音段保存起来,并且把识别结果从命令控制方式下的词汇量中移除,然后将保存有效语音段再次送入识别引擎,当系统识别出结果以后,再次重复以上步骤,直到识别出给定个数的结果。

5 操作方法

        用户用清晰、自然的语调说出需查询信息的类别,如:车辆信息查询、驾驶证信息查询,系统识别模块识别出结果后,转入相应的信息查询模块。当用户需要查询车辆信息时,首先要求用清晰、较缓慢的语调说出车牌号,系统识别模块识别出结果后,通过TTS将结果播放给用户。这时用户可以输入车牌号码中识别错误的位数,系统根据用户的输入提供7个备选结果让用户进行选择。用户选择确认无误后,系统将结果递交给后台数据库进行查询,并将检索到的信息播放给用户。

6 试验结果及分析

        对于信息类别的识别由于其词汇量少,音节较多,所以识别率很高,达到了100%。但是对于字母和数字的组合识别,由于其词汇量较多,音节简单,而且有大量相同和相近的词汇,很容易受到噪声的干扰,所以识别率不是很理想。然而,当我们提供七个备选结果后,即使在有一定噪音的环境下,系统的识别率达也能达到96%以上。由此表明该系统是稳定的和实用的。
关键字:IVR  语音识别  PCM  ADPCM 引用地址:基于语音识别的IVR系统的设计与实现

上一篇:机器人语音识别系统的设计
下一篇:基于语音识别技术的声控鼠标光标设计

推荐阅读最新更新时间:2024-05-02 23:12

语音识别市场需求旺,ST/英飞凌抢推各自解决方案
语音识别市场夯,根据市调机构Strategy AnalyTIcs研究指出,到2022年,预估全球消费市场将有超过六千两百万个装置具备个人语音助理。为插旗此一市场,半导体业纷纷推出新一代解决方案。例如英飞凌(Infineon)结合雷达、MEMS麦克风和音频处理器,进一步提升MESM麦克风语音识别效能;而意法半导体(ST)则是携手语音接口和关键词检测算法开发商--Sensory,以及通无线芯片组解决方案供货商DSP Group,共同开发高效语音检测处理麦克风技术。 工研院IEK电子与系统研究组分析师吕佩如表示,语音助理目前相关服务虽仍处于起步阶段,但随着市场需求快速增长,未来将会渗透到智能家电、车载系统,甚至更多物联网设备中的应用
[嵌入式]
宝马很忙,智能语音识别系统研发也要掺一腿
据报道,宝马、三星和松下三家公司近日与语音识别公司Nuance合作开发新智能辅助技术。这项技术使得汽车语音系统处理特定的口音时将更加容易。汽车语音系统不能识别方言的时代即将结束。随着汽车越来越智能化,语音系统必须随之提高,以识别口音的细微差别。在未来,汽车系统还必须能够区分指令与随意性的话语。     Nuance公司希望软件应用程序开发人员首先建立互联网连接轿厢,然后为应用程序的具体需求定制语音识别,以识别语境、语义或自然会话语言。   这种识别系统还可以进一步开发,区分特定区域的口音。例如,语音软件会分辨出你的口音是纽约、洛杉矶或是其他区域的口音。Nuance Mobile执行副总裁和总经理Mike Tho
[嵌入式]
基于SPCE061A的语音识别技术应用
SPCE061A是凌阳公司设计的一种16位单片机,该款单片机资源丰富,具有极高的性价比,该单片机内置有2路DA转换,8路AD转换及在线仿真,并且有16×16位的乘法运算和内积运算的DSP功能,这为它进行复杂的语音数字信号的压缩编码与解码提供了便利,还可以做数字滤波器。这些特点为我们进行在语音处理尤其是语音识别领域的应用提供了便利。 语音识别技术在各个层面均有广泛的应用前景。电脑软件领域,例如:语音命令、语音输入,对话系统、查询系统、教学软件、游戏软件等;消费性电子产品领域,例如:电子记事本、声控玩具、语音拔号功能的手机等;工业产品领域,例如:车用移动电话、车用导航系统等;电话系统领域,例如:语音识别总机服务、语音拔号、语音订票订
[单片机]
国产彩超再获突破,首款语音识别超声系统面世
你也许与Siri尝试过这样一种对话: 它不仅能回答你,还能识别中英文,有没有觉得非常有趣? 科技正以迅雷不及掩耳之势影响着我们的生活,包括那些我们印象中非常传统的医疗设备行业。 大家还记得好莱坞大片“奇异博士”所呈现的那些黑科技,以及电影中反复抢镜的迈瑞TE7产品的“神奇”表现吗?是不是都曾被那些脑洞大开的炫酷场景震得目瞪口呆? 然而现实生活中,我们面对的,是真正严肃、事关生命的医疗现实:在紧张的手术室,需要为麻醉和手术提供精准的可视化指引和术中监控;在繁忙的急诊科,需要在最短的时间内提供准确的诊断、有效的治疗方案;…... 现实中不存在超级英雄般的“奇异博士”,但却不乏高逼格的“黑科技”: 迈瑞推出全球首台全触控超声
[医疗电子]
智能家居4.0,从和Nest聊天开始!
现在,如果你正感到冷的瑟瑟发抖,你可以告诉你的Nest恒温器来温暖你的家。而这只需要你简单说一句:“Google,把温度调到75(华氏度)。” 本周一,谷歌旗下的智能家居设备宣布集成了谷歌现有的语音服务系统,为用户提供通过移动设备来操作Nest的语音服务。一旦当用户说出需求,命令就会通过应用程序弹出的Google card发出,让你知道你的Nest正在调节温度。 从六月以来,Nest一直承诺用户在未来可通过谷歌来控制自己的设备。Droid  Life在上周五发现了Nest正在引领这项新变革。现在,它已经为所有用户实现。 下面是一些你可以和Nest聊的话题: 改变温度到20 设置温度为75 打开恒温器,
[嵌入式]
具有PCM和DSD双功能的DAC芯片PCM1738
    摘要: PCM1738是B-B公司生产的高级数模转换数码音响芯片,利用它可以同时对SACD音频格式的DSD数据流和DVD-Audio用的PCM编码进行数据变换和解码。文中介绍了PCM1738的基本原理、主要性能指标及应用信息,同时对其高级段DAC和电流段DAC的新技术做了描述。     关键词: DAC SACD DVD-Audio ICOB DWA 解码芯片 PCM1738 1 概述 PCM1718是B-B公司继24bit/192kHz正弦量方式DAC解码芯片PCM1704和SACD的DSD解码芯片PCM1700之后,最新开发的又一片应用于高档音响设备的双功能解码芯片。该芯片既可对DVD-Aud
[应用]
LPC1768 SPI 外设控制DA(PCM1796)调试记录
#include DA1796.h #define SPI_ID (2) #define SPI2_CS (1 16) /* P0.16口为片选脚 */ #define CE2_Low() (LPC_GPIO0- FIOCLR |= SPI2_CS) /* 选中从器件 */ #define CE2_High() (LPC_GPIO0- FIOSET |= SPI2_CS) #define SPI3_CS (1 21) /* P1.21口为片选脚 */
[单片机]
NXP:语音识别模块将带来庞大商机
物联网经过了几年的酝酿之后,近期已经渐渐将发展的重心收敛于特定的应用方式上。 而这些特定应用,都将是用于改变你我现有生活方式的重大变革。恩智浦半导体(NXP)根据用户体验的感受,将这些可能的变革归纳出五大类,分别包括:延伸感官体验、增加联网安全能力、语音的重要性提升、更高的使用度,以及延展性的提升等。 恩智浦消费性与工业i. MX应用处理器副总裁Martyn Humphries指出,恩智浦目前i. MX 8平台家族的产品线包括最高效能针对工业应用的i. MX 8系列、针对多媒体应用的i. MX 8M系列,以及针对低功耗产品的i. MX 8X系列。在新一代物联网产品开始着重对于语音识别的需求之后,新发表的i. MX 8M系列将可满
[半导体设计/制造]
热门资源推荐
热门放大器推荐
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved