摘 要:VoiceXML是一个新的XML 语法规范,用于制定通过语音对话访问Web内容及其交互语音应答的传递标准,从面向应用的角度来说,就是开发语音用户界面。本文介绍如何利用VoiceXML进行语音应用开发,并给出VoiceXML的应用实例。
关键词:VoiceXML;语音浏览器;语音网关;NGCC
1. 引言
1999年3月,由Motorola、Lucent、AT&T和IBM四家公司联合发起成立了VoiceXML论坛(http://orola等公司也已开发出了基于VoiceXML的产品。该技术不但让那些由于各种限制而无法使用图形化浏览器的人得以通过语音方式访问Web,也为所有的用户提供了更为便捷的Web访问手段。
2. VoiceXML工作原理
VoiceXML规范基于W3C工业标准XML,为语音应用开发者提供了智能化的API,同时简化了WEB语音响应服务个性化界面的创建,将语音浏览器与网络浏览器融合在一起,实现了计算机网络与电话技术的完美结合。
以下是VoiceXML程序的工作流程:
图1 VoiceXML程序工作流程
2.1VoiceXML网关
对于使用VoiceXML开发的语音应用,需要一个运行平台,包括VoiceXML解释程序、实现平台等组件,这就是VoiceXML网关。
VoiceXML网关主要功能如下:
(1) 呼叫处理—接受来自PSTN的电话呼叫并获取与呼叫相关的信息;
(2) URL数据库—当网关收到电话呼叫,利用URL数据库对被叫号码与要求的服务URL进行核对;
(3) 检索VoiceXML—当知道VoiceXML应用的URL时,网关从服务程序的Web服务器上检索并下载VoiceXML脚本和相关的文件,如声音文件和语法文件;
(4) 解析VoiceXML—当应用程序的VoiceXML脚本和相关文件被下载到网关之后,网关解析这些代码,与用户进行交互;
(5) 访问ASR和TTS—这些服务可以作为软件或者硬件被托管在VoiceXML网关上,也可以位于远程服务器上;
(6) 高速缓存—网关能够将预先录制好的声音文件、语法、以及VoiceXML脚本存储在高速缓存中。
VoiceXML解释程序及其运行环境都是计算机程序,主要功能是解析VoiceXML文件,引导和控制用户与实现平台之间进行交互。
实现平台则是语音服务平台的核心部件,包括ASR、TTS、电话平台等技术。其中ASR和TTS属于语音信号处理范畴,电话平台则主要接受用户的语音和DTMF信号并转换为数字信号,并提供与语音网关的接口以及信号通过网络传输交换等功能。
2.3文档服务器
VoiceXML脚本一般由文档服务器托管,通常由Web服务器充当文档服务器。前面所述的检索VoiceXML其实就是向Web服务器发出请求获取VoiceXML脚本。一个语音门户可由多个VoiceXML脚本组成,通常将它们都存储在Web服务器中。
2.4关键技术:ASR、TTS和DTMF
语音处理技术是使电话用户能够用自然语言与Web对话的关键技术之一。其中,ASR(自动语音识别)技术能让机器""听懂""人类的声音。这里听懂有两种含义,第一种是将口述语言转为文字,第二种是对口述语言中包含的要求或询问作出正确的响应。在人机交互系统中主要是第二种,能使得应用系统能够识别电话用户的语音输入。
TTS技术是使互联网信息流向公用电话网的关键技术,它可以将文本信息转换成语音并通过电话播放给用户,从而摆脱了电话用户只能收听到预先录制好的录音的传统使用方式。ASR技术和TTS技术结合起来,就可以使人和机器可以象人与人交流那样流畅自然。
DTMF(双音多频)技术已经相当成熟,它使得用户可以使用电话键盘将数字信息输入VoiceXML应用程序,并且由程序负责接受和理解这些数字信息。
3. VoiceXML的特点和应用范围
3.1 VoiceXML特点
VoiceXML作为一种标记语言,有以下特点:
(1)通过脚本文件里的多重交互作用,最小化客户机/服务器之间的交互工作;
(2)实现应用开发者与底层平台的软、硬件细节无关;
(3)将与用户交互的脚本从服务逻辑中分离出来;
(4)能跨越不同的执行平台,促进服务的可移植性。
3.2VoiceXML应用范围
VoiceXML语言描述了语音应答系统的人机交互过程,其范围包括:合成语音的输出(TTS)、音频文件输出、话音输入识别、DTMF输入识别、语音输入录音、对话流控制、呼叫控制功能。VoiceXML提供字符和语音输入采集,并分配给文档定义的请求变量,决定解析XML文档的方法。通过统一资源标识符(URI),VoiceXML文档可以连接到其他文件。具体来说,我们可以把VoiceXML应用在以下实际领域:
> 信息的获取。如股票信息、新闻信息等。
> 电子交易。如银行帐户的查询与存取、股票交易、电子商务等。
> 电信领域的服务。如呼叫中心。
4. 基于VoiceXML的综合信息自动语音业务
基于软交换技术的新一代呼叫中心(NGCC),秉承了下一代网络承载与控制分离、呼叫与业务分离的核心思想。而在NGCC架构中,使用VoiceXML规范作为IVR应用的开发标准,则很好地改善了使用语音平台厂家私有接口协议而导致业务平台与硬件平台耦合过紧、可移植性和可维护性极差的情况,我们基于VoiceXML规范所开发的综合信息自动语音业务平台也证实了这一点。采用VoiceXML技术,使IVR流程脚本与底层硬件无关,流程可以跨平台运行,语音平台与业务平台实现了松耦合,业务平台厂家可专心于业务逻辑的开发,维护更加方便,效率大为提高。此外,我们使用Web服务器上的Web应用来响应请求并动态生成VoiceXML脚本,无需存放大量的静态脚本,配置与升级十分灵活,可实现跨平台甚至跨区域的IVR业务流程共享。
除了生成符合VoiceXML语法规范的脚本,IVR应用还必须考虑的核心问题是如何灵活高效地实现业务逻辑。IVR流程是具备特定业务逻辑的应用服务,每个流程均包含若干环节,每个环节表示业务平台与用户的一次语音交互,当前环节交互的结果决定流程的走向,也就是下一步所要执行的环节。例如,在入口环节播放提示音,然后等待用户按键输入,用户按不同键可进入不同分支,如余额查询、转帐或人工服务等。如果将业务逻辑在Web应用中通过硬编码实现的话,每新增一个业务流程或者对已有流程的业务逻辑进行调整
,我们都需要修改大量代码,维护极其不便。因此,我们引入工作流的思想,将体现业务逻辑的流程信息(流程环节所代表的交互类型与参数配置以及环节之间的关联关系)剥离出来,单独存放在数据库里,真正的脚本则由Web应用根据当前流程环节的类型和实际参数动态生成。这样,提供IVR服务的Web应用与业务逻辑完全无关,它的作用就是从数据库读取流程信息进行解析,并将其翻译成VoiceXML脚本,Web应用就可以被多个业务流程共享,实现代码重用。而业务开发人员则可通过图形化的编辑器对数据库中的业务流程进行编辑,不需要编写实际的VoiceXML脚本,而且修改可实时生效,编辑十分方便。
以下是我们开发的图形化VoiceXML流程编辑器以及所开发的应用流程实例,对VoiceXML的应用推广起到了极大的作用。
图2 可视化VoiceXML流程编辑器
5. 结论
VoiceXML为传统电话交换网与互联网的结合提供了一座完美的桥梁,极大地提高了语音应用的商用价值,特别是在互联网方面,例如:为失明人士提供语音浏览互联网信息的服务、为客户提供丰富企业信息的交互式语音门户、快速增长的语音通信助理以及语音邮件服务、呼叫中心、电话银行服务、自动订票服务等。由于开发过程十分便捷并且具备极强的可扩展性,VoiceXML将有力地推动语音浏览技术和语音互联网的发展,并成为未来语音应用发展的基石。
参考文献:
IBM WebSphere Voice Server with ViaVoice Technology. A white paper by IBM Voice Systems Product Marketing.