VoiceXML的标准是由「VoiceXML论坛(VoiceXML Forum)」所制定,该论坛是由AT&T、IBM、Lucent和Motorola共同建立。
VoiceXML概观
VoiceXML是结合各种技术的基础而来,如Motorola所开发的VoXML技术,和IBM所开发的SpeechML技术。而「VoiceXML论坛」的目标,则是建立起一个透过语音与Web Services进行互动的标准,目前W3C已发布VoiceXML版本2.0的工作草案。
VoiceXML架构模型
VoiceXML架构模型是以各个不同的组件所组成,这些组件包括︰
- * 文件服务器︰处理从VoiceXML解释器(Interpreter)所接收到的请求,并用 VoiceXML文件响应。
- * VoiceXML解释器︰解译从文件服务器所接收到的VoiceXML文件。
- * 实作平台:实作平台会受到VoiceXML解释器控制,并产生一些事件(如接收到语音或字符输入)和系统事件(如定时器到期)来响应用户的动作,然后再利用VoiceXML解释器来处理这些事件。
网络基础结构中的VoiceXML Gateway
VoiceXML是利用因特网基础结构,来传递讯息和实作应用程序,就好像对Web浏览器传递HTML讯息一样。VoiceXML将语音导航器使用在输入和输出音频上面,如此一来,用户利用普通电话就能够存取VoiceXML应用程序。如(图二)所示,语音导航器在语音网关上执行,并与公共交换电话网(PSTN)及因特网相连。
VoiceXML应用程序
以下是VoiceXML程序应用的范例︰
- * 语音入口网站︰语音入口网站的功用就像Web入口网站一样,同时它也可用于提供个人化的服务,如股价、天气、餐馆菜单或新闻等讯息。
- * 语音警告︰VoiceXML可用来向用户发出警告,如用户可透过VoiceXML应用程序,来接收特殊事件的警告。
- * 商业行为︰VoiceXML可让用户透过电话来进行采购的应用程序。由于语音提供的讯息比图形少,所以非常适合于一些不需多作描述的特殊产品,如门票、CD、办公用品等。
VoiceXML概念
以下是VoiceXML的应用流程:
对话(Dialog)
在特定的时间内,VoiceXML应用程序的用户总是处于一种对话中的状态。在每个对话完后,都跟着另一个对话。假如没有指定下一个对话,那么系统就会终止VoiceXML应用程序的执行。对话的形式有两种,分别是窗体(Forms)和选单(M enus)。如同HTML Form一样,Form专门收集用户输入值,而选单(Menus)提供选项列表给用户。
任务(Session)
当用户开始与VoiceXML文件互动时,Session也就跟着启动了。
应用程序(Applications)
应用程序专门汇集VoiceXML文件,其程序内的所有文件都共享于同一个应用程序的根文件。
文法(Grammars)
文法的功用是在于指定一份VoiceXML的词汇列表,并供用户从中选择,以便与VoiceXML的应用程序作互动。在用户的每个对话中,都会有一个或多个文法。
事件(Events)
基于不同的因素(如用户没有响应输入,或没有正确请求帮助等),VoiceXML的平台会抛出一个事件。而VoiceXML解释器在VoiceXML文件中,有任何语义的错误时,也会抛出事件。
链接(Links)
链接可指定网域中所有对话的转移。当用户输入符合链接的文法时,链接控制就会自动转移到其目的地。
动态VoiceXML
Web技术中的JSP/ASP文件,包括了VoiceXML元素和JSP/ASP程序代码,它可以存取各种数据库,或公司/企业的应用程序(例如︰电子信件、帐务系统、时间和费用等)。而JSP/ASP的根文件则会产生对静态VoiceXML、ASP或JSP文件的呼叫。
企业语音应用程序的开发
基本上,要设计和开发一个好的语音应用程序,远比建置网站或其它的软件应用程序困难,精心制作客户满意度的VUI也不容易。在设计一个企业用的语音应用程序之前,开发人员需要处理VUI的可用性、语音科学和音频方面等问题,以下就这三个问题来作一个简单的讨论。
VUI可用性问题︰
在用户的接口中,结合语言元素会衍生出不少的可用性问题。因为语音接口的讲话速度通常慢于阅读速度,而在VUI中,选项又必须依次列出,所以这限制了接口所能提供的讯息量。
GUI和Web页面可透过对比,来显示大量的讯息和更多的选项。而用户也可在这些接口上,以他们自己的速度来找到所需的讯息。然而在VUI 中,讯息往往在提供后就消失了,而用户则必须要记住大部分的内容。此时,系统必须透过可用的选项来指导用户,以便他们可以轻易地浏览应用程序,而不会感到泄气。
语音科学问题:
即使语音识别技术对于关键型应用程序足够成熟,但实际上它并不是完美的。识别人类语音是一项非常复杂的计算工作,它依靠将复杂的探索技术,实时地应用于大规模的统计数据模型。在大多数情况下,ASR引擎都必须由专家对它进行调整才能成功执行。
习惯于与其它人谈话的用户,在与「语音应用程序」进行互动时,会延续相同的思维模式,当VUI不合标准时,系统便不会进行下一个动作。即使是有好的提示设计,用户也可能会说出如「Yup」、「Yeah」和「Nope」的词语出来;然而,VUI所期望的词语只是简单的「Yes」或「No」。
语音应用程序只理解经过训练后所掌握的特定语句,并尽全力将输入与语法规范符合。甚至发音相似的词如「to」和「two」也很可能会引起混淆,这会导致一次失败的经历。尤其是行动用户,背景和环境噪音会引起语音识别的准确度问题,因为ASR引擎没有关于如何区分噪音和人类所发出声音的智能环境。虽然ASR引擎确实有复杂的信号处理技术,可以消除背景噪声,但这些技术离成熟的阶段还有很大一段距离。
由于这些原因,语音应用程序必须使用大量来自现实世界的语音数据,并加入用户可能会说的口语化词句,以加强VUI的辩识率。
音频方面的问题︰
合并自然发音的提示、设计良好的VUI,以及创造吸引人的音乐效果后,所产生的语音应用程序,将会提供一个引人入胜的感受。当客户发现「语音应用程序」听起来有专业感及吸引人时,他们将会更有购买该产品的欲望。
语音应用程序可以选择使用已录制的音频或语音合成引擎,来传递提示和选单的音频输出。预先录制的音频作业,最好留给电视和广播行业的人们来完成;而语音合成引擎则有其自己的计算难题,因为不可能预先录制,并储存所有可能的语音模式组合。不过语音合成引擎可以使用创新的技术(如联机语音),来传递听起来像人在说话,及语调自然的语音输出,而不是像机器人的发音。
语音应用程序系统架构与组件
用户可以透过有线或无线的电话设备,来进行对语音应用程序的存取。举例来说,当用户拨打与语音应用程序的电话号码后,VoIP网关在语音适配卡(Voice Interface Card,VIC)上接收来电。接着该电话接口会建立起电话交换机和VoIP网关之间的语音联机,并提供回音消除(Echo Cancellation)、DTMF双音频侦测,以及音频提示播放/录制的动作。
VoIP网关会充当语音应用程序网关和外部电话网络,如公共分组交换器(Public Branch Exchange,PBX)、公用交换式电话网络(PSTN)间,及VoIP上的语音流量间的接口。VoIP网关另一个作用是从电话网络接收到的语音数据转换成IP讯息封包,并将用户的来电转换成VoiceXML浏览器的IP地址和端口。语音应用程序网关是任何语音应用程序的核心,(图四)显示出语音应用程序网关的架构。
TTS引擎的发音技术:
这是用来转换人类使用的单字和词组的技术,换句话说,是让系统从纯文本串流转换成人类语音的技术。透过TTS引擎所使用的语音合成技术(如与发音有关的合成、共振峰合成与联机合成)来产生拟人且自然的语音,以代替听起来像机器人发出的语音。
ASR引擎:
ASR引擎提供了自动化语音识别能力,该引擎将所有可能的音调、音调的细微差别、重音变化等语音输入转换为数字讯息来接收。大多数的语音应用程序网关,都会透过连续的语音处理技术在ASR引擎上面执行。
VoiceXML浏览器/解释器:
这是语音应用程序网关的核心,当两者结合运用时,便成为VoiceXML引擎。这个引擎使用HTTP来撷取VoiceXML文件,并将语音卷标呈现为语音应用程序和用户之间的双向对话序列。在VoiceXML中,元素和属性的解译会产生作业,并同时与电话资源一起驱动ASR和TTS引擎。
音频资源:
音频资源专门负责音频档案的播放。大多数语音应用程序平台都支持不带标头的原始音频数据,以及具有8 KHz取样率和8位员的mu - law编码数据文件,不过目前音频资源还未支持GSM的音频编码。
TCP/IP资源:
TCP/IP资源提供了语音应用程序网关与Web/应用程序服务器间的主干联机。此外,它还负责语音应用程序网关与网络其它机器间的讯息包装(Pack)与分解。
Web/应用程序服务器
Web/应用程序服务器是由静态的VoiceXML档案和动态的VoiceXML页面程序群组成,该服务器可以与数据储存(如DBMS)相互作业,并用以检索或更新企业的数据。
语音应用程序的模型:
以下将介绍关键型/高容量语音应用程序的三种常见布署模型。
应用程序服务提供商(Application Services Provider,ASP)模型:
透过ASP模型,企业可以将整个语音应用程序的开发、托管和维护等业务外包给其它公司。而客户也可以自我进行开发,并将维护移交给ASP,这么作的优点是客户本身不必作软件或硬件维护,但缺点是没有主导权。
:语音应用程序网关模型
这些是以网络为基础的(外包)解决方案,它们使公司能够布署成熟的语音应用程序,而不必采购或管理任何语音识别或特定于电话的基础设施。它们通常提供会的服务如下:
- * 语音基础设施:包括音频、电话、ASR和TTS资源、预先具有远程通信和因特网能力的语音XML浏览器/解释器,以及可以指定给客户应用程序的电话号码。
- * 开发人员可以透过标准API的进阶网络服务,如出站通知、CTI整合和个人化。
- * 开发/测试工具和预建置的模块化组件,如语法、音频和应用链接库。
- * 使客户能够作远程访问有关其应用程序使用情况,以及效能报告的管理和报告工具。
- * 提供如语音应用程序设计、系统整合和语音技术专业知识方面的专业服务。
内部模型:
这个模型是以客户的考虑来作装配的语音应用程序系统,该客户必须自行采购、安装、组态和整合所需的附加组件。其组件如下:
- * 语音合成软件,如AT&T Watson、SpeechWorks Speechify、Fonix TTS和L&H RealSpeak等。
- * 语音识别(Automatic Speech Recognition,ASR)软件,如Nuance、SpeechWorks或AT&T等公司所推出的软件。
- * 语音服务器,如IBM WebSphere Voice Server和Motorola Vx500的VoiceXML 平台
- * 特定应用程序和预先建置的软件组件,如 Nuance SpeechObjects和IBM可对话组件。
- * 要执行 Web/应用程序服务器、语音服务器、ASR和TTS软件的系统。
- * 电话适配卡,如Dialogic、NMS、BrookTrout和Acculab等公司的产品,它能够重放预先录制的音频。
- * 高流量的带宽,如T1等线路。
- * 用于语音应用程序的电话号码。
- * 一个内部专家小组,负责安装所有必须的组件、提供电信通信能力、布署语音应用程序,以及维护上述所有各项组件。
模型所需的支出
每个企业都必须评估其专业技术、资源、时间表和其它因素等,来确定企业最符合的布署的模型。
ASP模型
企业要支付的费用如下:
- * 应用程序开发和维护的专业服务费用。
- * 托管的费用
- * 电话存取费用;存取量较低的应用程序最好是按每分钟收费,而高存取量可预测的应用程序则可以按端口的数目来收费。
- * 各种软件组件的版权费。
语音应用程序网关模型
这个模型对企业来说,是最经济的方式来布署语音应用程序架构,而语音应用程序网关供货商通常会提供下列的组合︰
* 每分钟 - 客户通常根据使用量付费,大多数客户都需要有正常容量的概念,以便预计所支付的费用。
* 每端口/每月 - 这包括每个月的可预测端口数所需支付的费用。
* 每端口 - 一些供货商容许客户彻底买断所有的端口,但这会产生更高的预付价格,且会和内部布署的价格差不多。
此外,客户还需支付应用程序的版权费用、应用程序维护费用、专业服务费用,以及进阶网络服务初装费和每次交易的费用等。
这个模型的价格较为昂贵,且布署的时间也较冗长。小型商业布署的先期成本通常是几十万美元,但对于中、大规模的商业布署,可能会超过百万美元。而用于维护、升级、版权和人事费用的成本,每年都可能会达到几十万美元。
如果企业有极大的布署,并在管理和提供电信服务方面有精深的专业技术,那么这些公司将可考良这种模型的部署方式;因为纯粹从现金流的角度来看,租借基础设施的成本最终会高过购买它的成本。
结论
VoiceXML是替一些以语音服务公司为主的技术,虽然布署在Web上的的方式有许多种,如Java Server Pages(JSP)或Active Server Pages(ASP),且其模型也有分三种。不过这些公司只要在事前作好完善的规划,那么VoiceXML所带来的附加价值将远超过付出的成本。
<本文数据由台湾IBM提供,由程裕翔整理,作者为美商计算机公司独立软件顾问,更多数据请参考IBM Taiwan开发者网站:http://www2.tw.ibm.com/developerWorks/>
|
|
目前语音识别技术的发展已经是越来越成熟,而利用新一代的人机接口,如PDA或手机等,更是能让这个技术在IA的领域更为活跃。相关介绍请见「新一代人机接口 - 语音识别技术」一文。 |
|
VoiceXML让开发者能创造合成语音、数字音频、口语识别、双音多频按键式电话的击键、录制语音输入、电话通讯,及混合性的对话。VoiceXML可以让用户以说话的方式来要求服务,并与声音回复应用程序作交谈,对视障人士或忙碌中的工作者,可以方便使用以语音查询数据。你可在「VoiceXML的功用」一文中得到进一步的介绍。 |
|
VoiceXML是一个强大的卷标语言,它会以Web为基础来为交谈式语音应用程序和数据库内容作传递讯息的动作,并以音频作为输入(语音或按键音)/输出(机器语音或录音)的形式。在「VoiceXML让您浏览网页动口不动手」一文为你做了相关的评析。 |
|
|
|