当前: 首页 - 图书专区 - Voice XML语音应用程序开发
Voice XML语音应用程序开发


  在线购买
(美)Rick Beasley 等
7-111-09777-7
35.00
288
2002年02月01日
王建华 王卫峰 等
通信 > 电声技术和语音信号处理

2868
简体中文
16开
Voice Application Development with Voice XML
店面
Internet新技术丛书







VoiceXML是一种基于XML的因特网标记语言,可以用来开发语音用户界面,使人们可以通过移动电话来访问因特网。本书通过VoiceXML的基本概念、VoiceXML的用户界面、VoiceXML 应用程序的开发过程、VoiceXML的基本元素和属性以及VoiceXML的高级开发技术等专题,对VoiceXML应用程序的开发进行了详细的介绍。
本书内容翔实、深入浅出、极具参考价值,既适合VoiceXML应用程序的开发人员使用,也适合任何希望了解新型因特网访问技术的人员阅读。
Rick Beasley是朗讯公司的执行经理,他目前管理着几个软件开发项目。他的小组负责开发综合性的因特网/电信服务程序和平台,其中包括Milife Voice Solution这个VoiceXML网关。 在过去的3年里,Rick为移动因特网开发的软件既有网络基础软件也有用户应用程序。他在12年的软件开发工作中开发的产品包括网络管理软件、手持平台和地理信息系统。Rick目前正在研究“蓝牙”(Blue tooth)和基于位置的服务程序。同时,Rick还是与VoiceXML服务程序有关的两项专利的合伙申请人。 Mike Farley 是朗讯公司的一名专业技术人员。目前负责从事以用户为中心的软件和信息产品设计。 Mike在无线和有线电信系统及智能网络方面拥有35年的客户服务经验和面向用户的工作经验。他为通过用户为本的设计、方便的交叉功能设计和开发小组、技术培训以及对进程和组织的再设计,为用户提供了人性化的支持。 在过去的两年中,Mike负责为实现VoiceXML、无线标记语言(WML)、Web浏览器和PC用户界面的各式各样的服务应用程序进行以用户为中心的设计。 John O誖eilly是朗讯公司的一名专业技术人员。目前负责领导朗讯公司的VoiceXML平台小组的工作。从1999年3月起,John 一方面参与VoiceXML平台小组的工作,一方面又担任VoiceXML 应用程序开发小组的主要开发人员。John作为一名专题发言人,在2001冬季因特网之声(VON)上介绍了VoiceXML应用程序的开发问题。John也是一名与VoiceXML相关专利的合伙申请人。 Leon Henry Squire是朗讯公司一名专业技术人员。他领导的开发小组负责开发在增强型媒体资源服务器(eMRS)上运行的TelePortal VoiceXML引擎。Leon在AT&T和朗讯公司中从事了13年的电话技术的开发研究。在软件开发、系统测试和系统设计方面担当技术负责人的角色。他目前是朗讯公司的高级软件开发中心的主要软件开发人员,负责制定开发小组的技术发展方向,该中心位于北卡莱罗纳州的卡里市。
“到2005年时,随着10亿部手机投入使用,语音肯定会成为你离开办公桌后访问因特网时所使用的最流行的(尽管不是最普及的)手段。VoiceXML是一种将电话与电信经营商、服务提供商、开发商和消费者联系在一起的工具。”(引自Minde公司的Web站点,网址是http://www.minde.com/solutions/vxml.html。)
目前,用移动电话访问因特网看来已经成为每个人的普遍愿望。在任何时间、任何地点访问因特网的梦想,使人们对此产生了浓厚的兴趣,并且希望尝试使用如VoiceXML和WML(无线标记语言)等瘦客户移动支持技术来访问因特网。尽管在美国很少采用像WML那样的小型屏幕浏览器访问技术,但是,由于人们始终希望采用移动式因特网访问技术,因此人们对VoiceXML和语音门户技术产生了更加浓厚的兴趣。
人们对以非PC为基础的移动电话访问因特网的技术的兴趣始终未减。如果你正在开发因特网应用程序或服务,那么你将很快有机会使用瘦客户机访问方式(如果你还没有使用的话)。
如果你已经在开发因特网服务程序,可能会想到VoiceXML简直是“妙极了!它完全是另一种*ML(标记语言)”。虽然VoiceXML是一种比较易学的标记语言,但你很快会发现语音应用程序具有许多开发人员前所未遇的复杂性。本书将有助于你学习如何解决语音应用程序开发中你所不熟悉的一些问题,包括它们的支持结构和使用的平台、开发过程的不同、VoiceXML的元素和属性、语法和VoiceXML的用户界面。
本书的读者对象
本书编写的目的是为了满足广大从事或涉及因特网相关技术开发的人们进行学习的需要。这些人包括:
为VoiceXML应用程序进行结构设计或制定技术要求的工程师。
从事VoiceXML应用程序开发的软件开发人员。
为VoiceXML应用程序制定和执行测试方案的软件测试人员。
负责设计VoiceXML应用程序的提示、消息或帮助信息的人类行为工程学家或其他专家。
需要了解VoiceXML应用程序的功能和结构的销售人员和市场专业人员。
当因特网服务提供商开始托管VoiceXML应用程序时,那些希望首先利用这些应用程序的业余爱好者。
?任何需要或希望了解重要的新型因特网访问技术的人。
要想从本书中获得最大收益需要具备哪些条件
若要从本书中获取最大的收益,你需要具备的条件如下:
VoiceXML的说明书,这是你了解VoiceXML元素和属性信息的最佳参考资料,你可从VoiceXML论坛的Web站点上获得该说明书,它的网址是http://www.voicexml.org/。
?能够运行你希望使用的任何专用软件开发工具包(SDK)的计算机平台(参见软件开发工具包供应商的说明书),它能够提供基本的因特网访问工具,并且可以使用文本编辑器或者XML编辑器来编辑VoiceXML文件。
能够访问模拟器、测试环境或语音浏览器平台。有关VoiceXML工具和对开发人员的支持特性的详细信息请参见第3章。
具备电话接入功能,这样你就可以通过拨号呼叫对环境进行测试或者建立环境的原型。
本书中的示例代码是使用的IBM 公司的WebSphere Voice Server SDK(语音服务器软件开发工具包)进行测试的,若要获得该SDK,请访问网址http://www-4.ibm.com/software/speech/ enterprise/ep-12.html(除了呼叫转移和录音以外的全部功能)。另外,你还可以从VoiceGenic开发人员的工作室站点获得,网址是http://developer.voicegenie.com/(包括呼叫转移和录音)。
本书的结构
本书是按照以下几个专题进行编排的:
VoiceXML的基本概念—本书第1至3章介绍了开始学习VoiceXML时首先需要掌握的有关信息。第1章讲述了VoiceXML的发展历史以及它在因特网应用程序中的使用情况。第2章介绍用于提供电话访问VoiceXML应用程序所用的结构。第3章详细解释了一些可以利用的软件工具和环境。
VoiceXML用户界面(VUI)—第4至6章介绍了与VoiceXML的用户界面有关的各种问题。第4章介绍用户界面和VoiceXML用户界面的基本概念。第5章从以用户为中心的设计进程的角度来说明VUI的设计。第6章介绍建造原型、评估以及测试应用程序可用性的方法。
开发过程—第7章介绍VoiceXML应用程序的开发过程以及需要考虑的有关问题。
VoiceXML应用程序的开发基础—第8章和第9章介绍着手进行VoiceXML应用程序开发时所需要的基本元素。第8章详细介绍VoiceXML的基本结构、变量和定位技术。第9章介绍与接收用户输入和传递应用程序输出相关的元素和技术。
VoiceXML的高级开发技术—第10、11、12章以高级VoiceXML应用程序开发为主题。第10章介绍支持访问特定平台的函数、将ECMAScript与VoiceXML相集成、进行语音录制和电话呼叫转接时使用的各种元素。第11章介绍ECMAScript的基本概念。第12章介绍用VoiceXML进行服务器端编程的方法。
预测—第13章讲述了随着VoiceXML的持续发展,对某些问题的展望。
附录—附录A提供了一个VoiceXML 1.0版的元素列表、每个元素的简要介绍与介绍它的章节。附录B给出了本书开发的完整的在线书店应用程序。附录C简要地介绍了一旦VoiceXML 2.0版推向市场,它对1.0版可能进行的修改。
第1章  VoiceXML的概述 1
1.1  VoiceXML语言 1
1.2  一个VoiceXML应用程序方案 1
1.3  语音浏览 2
1.4  VoiceXML在语音浏览器中是
    怎样工作的 3
1.4.1  应用程序的输入 3
1.4.2  应用程序的输出 4
1.5  高级网络结构 4
1.6  VoiceXML网关 5
1.7  托管VoiceXML应用程序 6
1.8  选择VoiceXML应用程序 7
1.9  用VoiceXML来开发应用程序 7
1.10  支持的语言和工具 9
第2章  运行VoiceXML应用程序的网络 10
2.1  VoiceXML网关 10
2.1.1  TTS资源 11
2.1.2  ASR资源 12
2.1.3  VoiceXML浏览器和翻译器 13
2.1.4  声音资源软件 14
2.1.5  TCP/IP资源 14
2.1.6  电话资源 14
2.2  电话网络的拓扑 15
2.2.1  有线电话网的拓扑 15
2.2.2  无线电话网的拓扑 17
2.3  小结 19
第3章  开发人员使用的工具 20
3.1  开发环境的类型 20
3.2  可供选择的开发环境和它们的利弊 20
3.2.1  托管的开发环境 22
3.2.2  模拟的开发环境 27
3.3  基于Web的开发环境 28
3.3.1  BeVocal Caf?29
3.3.2  HeyAnita FreeSpeech 30
3.3.3  Tellme Studio 31
3.3.4  VoiceGenie 的Developer Workshop 32
3.3.5  Voxeo Community 33
3.4  其他有用的工具 33
3.5  小结 34
第4章  VoiceXML用户界面 35
4.1  用户界面的基本概念 35
4.1.1  用户界面的组成部分 36
4.1.2  CHUI、GUI和WUI 36
4.1.3  Web用户界面 37
4.2  VUI概述 37
4.2.1  VUI的功能 37
4.2.2  VUI的术语 38
4.2.3  VUI的输入/输出 38
4.3  VUI与GUI在设计上的差异 40
4.3.1  Web浏览器用户界面与VUI的比较 40
4.3.2  Web GUI与VUI的比较总结 42
4.4  VUI用户的特点 43
4.4.1  对PC和因特网的使用经验有限 43
4.4.2  处于移动环境之中 44
4.4.3  单一的输入/输出模式 44
4.5  设计VUI时应该考虑的其他重要问题 44
4.5.1  吸引你的目标用户 45
4.5.2  能够代表目标用户群希望执行
      的任务 45
4.5.3  提供一个适合代码开发的结构 45
4.5.4  尽量减少限制条件造成的影响 46
4.6  小结 46
第5章  VUI设计的概述 47
5.1  软件开发过程的概述 47
5.2  UCD过程的概述 48
5.3  可用性测试 52
5.3.1  VoiceXML的可用性测试 52
5.3.2  测试原则1:尽量降低对用户的
      记忆和识别过程的要求 53
5.3.3  测试原则2:保持简单而自然的对话框 55
5.3.4  测试原则3:提供清楚的导航和
      快捷操作方式 56
5.3.5  测试原则4:提供一致的反馈信息
      和便于使用的错误处理工具 57
5.3.6  测试原则5:保持导航和术语的一致性 59
5.3.7  测试原则6:对选择的声音和声音
      的个性进行评估 59
5.4  UCD和系统设计的参考资料 61
5.5  小结 61
第6章  VUI应用程序原型和可用性测试 62
6.1  UCD 的前端工作 62
6.2  应用程序的任务分析 64
6.2.1  新技术应用程序开发中的任务分析 64
6.2.2  任务分析的举例 64
6.3  早期的应用程序原型—应用程序
    流程图 65
6.3.1  建立低保真度的应用程序原型 66
6.3.2  用流程图来说明应用程序的功能 67
6.3.3  根据流程图对应用程序的可用性
      进行评估 67
6.3.4  应用程序可用性要求举例 68
6.3.5  初始语法设计 69
6.3.6  与开发人员交流信息的结果 71
6.4  VUI脚本—中间阶段的应用程序原型 71
6.4.1  可用性测试举例 71
6.4.2  可重复使用的资源 73
6.4.3  定时问题与资源要求 73
6.5  VoiceXML代码原型 74
6.5.1  可用性测试的前提条件 74
6.5.2  可用性测试过程的概述 74
6.5.3  制定可用性测试方案 75
6.5.4  使用测试结果来改进应用程序
      的设计 77
6.5.5  完成可用性测试的工作周期 78
6.6  小结 78
第7章  VoiceXML应用程序的开发过程 79
7.1  确定应用程序开发的要求 79
7.1.1  应用程序部署地区使用的口语 79
7.1.2  语法的定义 80
7.1.3  语音识别与TTS软件工具的选择 80
7.1.4  支持的VoiceXML应用程序技术规范 80
7.1.5  进行数据上的准备 80
7.1.6  内容提供商界面 81
7.1.7  性能、容量和可靠性 81
7.2  确定应用程序的结构 82
7.3  应用程序设计的实现方法 83
7.4  应用程序性能计量参数的定义 83
7.5  VoiceXML应用程序的测试 85
7.6  应用程序的部署 85
7.7  小结 86
第8章  VoiceXML的基本命令 87
8.1  第一个VoiceXML程序 87
8.2  xml元素 87
8.3  注释 87
8.4  vxml元素 88
8.5  form元素 88
8.6  窗体中的项目 88
8.6.1  name属性 88
8.6.2  expr属性 88
8.6.3  cond属性 88
8.6.4  使用说明 89
8.6.5  block元素 89
8.6.6  name属性 89
8.6.7  expr属性 89
8.6.8  cond属性 90
8.6.9  使用说明 90
8.6.10  字段项 90
8.6.11  filled元素 90
8.7  meta元素 90
8.7.1  name属性 91
8.7.2  content属性 91
8.7.3  http-equiv属性 91
8.8  变量 92
8.8.1  声明变量 93
8.8.2  name属性 93
8.8.3  expr 属性 93
8.8.4  使用说明 93
8.8.5  name属性 94
8.8.6  expr属性 94
8.8.7  使用说明 94
8.8.8  关于变量的其他信息 94
8.8.9  根文档 95
8.8.10  会话变量 97
8.8.11  影子变量 97
8.8.12  变量命名冲突 97
8.9  if元素 98
8.10  if / elseif / else元素 99
8.10.1 cond 属性 100
8.10.2  程序举例 100
8.10.3  嵌套的if/else/elseif 语句 101
8.11  param元素 102
8.11.1  name属性 102
8.11.2  expr 属性 102
8.11.3  value 属性 103
8.11.4  valuetype属性 103
8.11.5  type属性 103
8.12  subdialog元素 103
8.12.1  name 属性 103
8.12.2  src属性 103
8.12.3  expr 属性 103
8.12.4  cond 属性 104
8.12.5  modal属性 104
8.12.6  namelist 属性 104
8.12.7  method 属性 104
8.12.8  enctype属性 104
8.12.9  caching 属性 104
8.12.10  fetchtimeout 属性 104
8.12.11  fetchhint 属性 104
8.12.12  fetchaudio属性 104
8.12.13  return 元素 105
8.12.14  程序举例 105
8.12.15  另一个程序例子 106
8.13  goto 元素 108
8.13.1  next属性 108
8.13.2  expr属性 109
8.13.3  nextitem属性 109
8.13.4  expritem属性 109
8.13.5  caching属性 109
8.13.6  fetchtimeout 属性 109
8.13.7  fetchhint 属性 109
8.13.8  fetchaudio属性 109
8.13.9  程序举例 109
8.14  clear元素 111
8.14.1  namelist属性 111
8.14.2  使用说明 111
8.15  循环 111
8.16  exit元素 112
8.16.1  expr属性 112
8.16.2  namelist属性 112
8.16.3  程序举例 113
8.17  disconnect元素 113
8.18  小结 114
第9章  VoiceXML的输入和输出命令 115
9.1  VoiceXML中的输出方法 115
9.1.1  prompt 元素 116
9.1.2  语音标记 118
9.1.3  value元素 122
9.1.4  程序举例 122
9.1.5  audio元素 126
9.1.6  使用举例 126
9.2  接收用户的输入 131
9.2.1  field 元素 131
9.2.2  option元素 140
9.2.3  enumerate元素 147
9.2.4  menu元素 147
9.2.5  choice元素 150
9.2.6  link元素 152
9.2.7  grammar元素 156
9.2.8  dtmf元素 157
9.3  事件 159
9.3.1  事件的类型 159
9.3.2  默认的 catch元素 160
9.3.3  catch元素 161
9.3.4  throw 元素 168
9.3.5  error元素、help元素、noinput
     元素和nomatch元素 171
9.3.6  reprompt元素 172
9.3.7  initial 元素 175
9.4  小结 178
第10章  VoiceXML的高级元素 179
10.1  record元素 179
10.2  transfer元素 180
10.3  script 元素 182
10.4  property元素 185
10.5  object元素 196
10.6  submit元素 198
10.7  完成应用程序中VoiceXML部分的开发 201
10.8  小结 209
第11章  VoiceXML中的ECMAScript 210
11.1  ECMAScript注释 210
11.2  变量的类型 210
11.3  用户定义的对象 211
11.4  内置对象 212
11.4.1  Array 对象 213
11.4.2  Date对象 213
11.4.3  Math 对象 214
11.4.4  String对象 215
11.4.5  函数与 Function对象 215
11.5  运算符 216
11.6  类型转换 218
11.7  控制程序的执行 218
11.7.1  if/else语句 218
11.7.2  case 语句 219
11.7.3  循环 220
11.7.4  with语句 222
11.8  小结 222
第12章  高级主题和服务器端的应用
     程序开发 223
12.1  语言 223
12.2  创建VoiceXML应用程序 224
12.2.1  Java小服务程序 224
12.2.2  PHP脚本程序 229
12.2.3  数据库访问 231
12.3  加载声音文件 239
12.4  小结 245
第13章  VoiceXML的未来发展前景 246
13.1  关于语音合成标记语言的概述 246
13.2  关于语音识别语法的概述 247
13.3  多模式应用程序 248
13.3.1  多模式应用程序给VUI带来的影响 249
13.3.2  串行输入/输出 249
13.3.3  非协调式同时输入/输出 250
13.3.4  协调式同时输入/输出 250
13.4  未来用户界面的复杂性 251
13.5  VoiceXML多模应用程序的现状 252
13.6  小结 252
附录A  VoiceXML 1.0的元素 253
附录B  在线书店应用程序 255
附录C  VoiceXML 2.0的有关情况 277
近年来,移动通信技术得到了空前迅速的发展,移动电话的用户出现了爆炸式的增长。有人估计,到2005年,全球将有10亿部手机投入使用。由此人们对使用移动电话在任何时间和任何地点访问因特网产生了浓厚的兴趣,并且这已经成为许多人的普遍愿望。可以预言,届时,利用语音技术通过移动电话来访问因特网将会成为一种非常流行的手段。
VoiceXML(语音扩展标记语言)是一种基于XML(扩展标记语言)的因特网标记语言,它可以用来开发语音用户界面。通过语音用户界面,用户就可以通过电话来访问因特网上的内容,而不是通过计算机键盘和显示器与应用程序进行交互操作。为此我们可以将VoiceXML视为用于电话的HTML语言。
本书是专门为了满足从事VoiceXML应用程序开发的广大编程人员的需要而编写的。全书分几个专题对VoiceXML应用程序的开发进行了全面的介绍。第1~3章介绍VoiceXML的基本概念,讲述你开始学习VoiceXML时首先需要掌握的基本知识。第4~6章介绍VoiceXML用户界面(VUI),说明与VoiceXML的用户界面有关的各种问题。第7章介绍VoiceXML应用程序的开发过程以及需要考虑的有关问题。第8、9章介绍VoiceXML应用程序的开发基础,详细讲述了VoiceXML的基本元素和属性。第10~12章介绍VoiceXML的高级开发技术,分别讲述支持访问特定平台的函数、ECMAScript的基本概念、ECMAScript与VoiceXML的集成、进行语音录制和电话呼叫转接时使用的各种元素,以及用VoiceXML进行服务器端编程的方法。第13章对涉及VoiceXML的未来发展的某些问题进行了展望。
本书配有3个附录。附录A提供了一个VoiceXML 1.0版的元素列表,对每个元素的功能进行了简要的介绍。附录B给出了本书开发的完整的在线书店应用程序。附录C简要介绍了VoiceXML 2.0版对1.0版可能进行的修改。
本书既适合从事VoiceXML应用程序开发的软件技术人员使用,也适合任何需要或希望了解新型因特网访问技术的人员阅读参考。
本书由王建华、王卫峰、杨惠琼、叶兆民、张晓佳等翻译,席赛珠校对,王卫峰、芳妮录入。由于译者水平所限,不妥之处敬请读者指正。
2001年11月
读者书评
发表评论



高级搜索


版权所有© 2008 北京华章图文信息有限公司 京ICP备08102525号 京公网安备110102004606号
通信地址:北京市百万庄南街1号 邮编:100037
电话:(010)68318309, 88378998 传真:(010)68311602, 68995260