VXml语音业务开发培训(-)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《VXml语音业务开发培训(-)课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VXml 语音 业务 开发 培训 课件
- 资源描述:
-
1、1VoiceXML开发知识 iAvp平台系列培训通信增值事业部 张磊 Monday,December 12,20222对象和目标 课程对象业务流程开发、测试人员VUI设计人员平台开发、测试人员 课程目标了解VoiceXML基本概念和标记使用VoiceXML开发流程3相关课程 iAvp基础知识培训 VUI基础4主要内容 VoiceXML概述 VoiceXML基本概念 VoiceXML中的变量和基本标记 VoiceXML中的输入输出标记 VoiceXML高级标记 VoiceXML与服务器端应用开发 一个完整的VoiceXML应用5概述什么是VoiceXML 全称:Voice eXtensible
2、Markup Language VoiceXML 是一种基于 XML 规范的标准,是XML子集。它允许通过电话和语音访问 Web上的信息和服务。可以用来开发基于语音的电话应用程序。6概述VoiceXML历史AT&T Phone Marked Language(PML)Motorola VoxMLIBM SpeechMLHP TalkMLPIPEBEACH VoiceHTML1998,W3C 1998,W3C 召开召开 Voice browsersVoice browsers会议会议VoiceXML forumVoiceXML forum2000,VoiceXML 1.0 2000,VoiceX
3、ML 1.0 2003 VoiceXML 2.02003 VoiceXML 2.02004 VoiceXML 2.12004 VoiceXML 2.17概述VoiceXML的目标 为应用开发者屏蔽底层的、平台相关的细节 分离交互代码和服务逻辑 提高应用在不同平台的可移植性 既能提供对简单应用快捷开发,也提供对复杂应用语言级的支持 单文档表示多次交互,减少了Client/Server交互负荷8概述 VoiceXML与传统语音开发的区别Platf.Voice MailAppl.Platf.VividRingAppl.VoiceXMLInterface9概述 VoiceXML与传统语音开发的区别Pl
4、atf.Voice MailAppl.Platf.VividRingAppl.VoiceXMLInterface10概述 VoiceXML与传统语音开发的区别Platf.Voice MailAppl.Platf.VividRingAppl.VoiceXMLInterface11概述VoiceXML与HTML开发比较 Enter your Id:Your ID,please.VoiceXML语音应用开发与HTML页面开发具有很高的相似度12概述我们的VoiceXML 基于VoiceXML1.0规范 实现了VoiceXML1.0中的大部分标记和属性 扩展了一些1.0中没有的标记,如传真等 识别支持
5、built-in、just in time和dgdb13概述iAvp支持的标记(1)14概述iAvp支持的标记(2)15概述iAvp支持的标记(3)16概述iAvp支持的标记(4)17概述iAvp支持的标记(5)18主要内容 VoiceXML概述 VoiceXML基本概念 VoiceXML中的变量和基本标记 VoiceXML中的输入输出标记 VoiceXML高级标记 VoiceXML与服务器端应用开发 一个完整的VoiceXML应用19基本概念Dialog 对话(Dialog/Dialog States)VoiceXML 应用程序的用户总是处于一种对话状态或对话中。每个对话都跟着另一个对话,如
6、果没有指定下一个对话,就终止VoiceXML应用程序的执行。有两种对话:表单(Form)和菜单(Menu)。20基本概念Document 文档(Document)一个VoiceXML document由多个dialog组成。单个document的执行缺省是从第一个dialog开始执行。也可以指定从某个对话执行。在一个application中有多个document时,应选一个document作为root document,并且在其他document的标记里引用它,并且它的变量和语法在整个应用中有效。在含多个document的application中,最多只能有两个document可以同时被加载,
7、一个是正在执行的document,另一个是root document。21基本概念Root Document Shall we say?Shall we say?Leaf.vxml将app_root.vxml作为当前文档的根文档 hello,world.hello,world.app-root.vxml22基本概念Application Application(应用)应用(application)是由共享同一应用根文档(application root document)的一系列文档组成的。在一个application内,root document总是处于加载状态,此时root documen
8、t的变量和语法在整个application都是保持激活状态。23基本概念Application(续)24基本概念Session 会话会话(Session)(Session)会话开始:呼入接通会话开始:呼入接通 呼出接通呼出接通会话过程:交互会话过程:交互 文档获取文档获取会话结束:用户挂机会话结束:用户挂机 上下文挂机上下文挂机25基本概念SubDialog 子对话(SubDialog)类似函数调用,它提供了调用一个新的交互的机制,并返回到原来的form。返回时保存内部数据、所用语法以及状态信息,以供在调用该Subdialog的document中使用。26基本概念基本概念文档之间的跳转文档之间
9、的跳转(1)(1)保留根文档上下文的跳转RRRRL1L2234127基本概念文档之间的跳转(2)重新初始化上下文的跳转R1R2R3R1L1234128基本概念文档之间的跳转(3)SubDailog的上下文跳转(1)Main dialog execute contextMain dialog execute contextD1D1D2D2D3D3SubDialog executeSubDialog execute context contextSD1SD1SD2SD2Subdialog src=“SD1.vxml”29SubDialog execute context 2基本概念文档之间的跳转(
10、4)SubDailog的上下文跳转(2)Main dialog execute contextD1D2D3SubDialog execute context 1SD1SD2Subdialog src=“SD1.vxml”Subdialog src=“SD2.vxml”30基本概念Event 事件(Event)事件可以是预先定义的或者是应用程序定义。对于各种的情况,由平台抛出事件,如:用户没用响应,请求帮助。当VoiceXML文档有语义错误时,解释器也会抛出事件()。事件由或由它的快捷形式捕捉;一个事件能产生的每个标记都可指定catch标记。在任何层次都可以指定共有事件的处理方式,并且这适用于所
11、有较低层。在VoiceXML的事件模式中,事件可以由平台或应用产生,这些事件可以由应用程序捕获和处理,也可以由平台捕获和处理。31基本概念FIA FIA(Form Interpretation Algorithm)初始化Form,重新设置状态选择要执行的Form Item并播放提示音收集用户输入,或者填充一个或多个field,或者抛出各种事件查找执行 动作 32基本概念基本概念FIA(FIA(续续)初始化选择Item获取输入处理输入结果没有Item可以继续处理Event处理Link其它Dialog33基本概念Grammar 语法(Grammar)语法指定一份准许的词汇列表,供用户从中选择,以便
12、与 VoiceXML 应用程序交互每一个dialog都有一个或多个语法(识别、按键),在directed dialog的应用中,每个dialog的语法只有在用户使用该dialog时,才处于激活状态语法的作用域34主要内容 VoiceXML概述 VoiceXML基本概念 VoiceXML中的变量和基本标记 VoiceXML中的输入输出标记 VoiceXML高级标记 VoiceXML与服务器端脚本开发 一个完整的VoiceXML应用35从Hello Word!开始 Hello World!VoiceXML是Xml的子集,遵从xml1.0规范指定当前文档使用VXML1.0规范定义一个对话表单定义一个
13、表单项,用于封装对应的语句输出文本,可以被TTS合成并播放36VoiceXML中的变量 变量相当于ECMAScript变量 变量不能以”_”开头 类型共有6种Undefine(未定义变更被赋予一个值之前它的默认值Null(空)只能是”null”Boolean(布尔型)只能是”true”或”false”String(字符串)用单引号封装的字符串Number(数字型)正负数Object(对象型)一组没有排序的属性。每个属性都包含一个名字、一个值和一组属性。37声明变量 变量具有name和Expr属性 通过表单项的Name属性来声明 通过标记来声明38变量的作用域SessionApplication
14、DocumentDialog(Anonymous)它是由解释器上下文来声明它是由解释器上下文来声明和赋值,只读变量。不能声和赋值,只读变量。不能声明新的明新的sessionsession变量。变量。由应用根文档的由应用根文档的标记标记的子成员的子成员声明声明当变量不带作用域并发生命名冲突时,使用限定性最明确的作用域变量高低39Session变量 Session.telephone.ani(主叫号)Session.telephone.dnis(被叫号)Session.telephone.iidigits(信息批示数字)Session.telephone.uui(用户到用户信息)Session.t
15、elephone.callid Session.telephone.stationid Session.telephone.channelid40影子变量 影子变量是与字段项相关的变量。影子变量用于返回字段项执行的结果 语法:field_item_name$.shadow_var_name 例如:recording$.termchar41标记:为变量赋值 VXML中的变量是“弱类型“,声明时不需要显示给出类型在赋值后仍然可以动态改变变量类型(不推荐)42Form标记:最重要的的Dialog Form对应于对话的状态两个属性id:对话标识,例如:scope:指示这个form对应语法的活动范围 F
16、orm ItemsInput items:field、record、transfer、object、subdialogControl items:block、initail43Menu标记另一个Dialog标记 What would you like for lunch?To choose ,press ham and cheese grits ham and shatner 44Dialog的公用属性 field、record、transfer、subdialog、block、object 和initial标记都具有以下三个属性:nameexprcond 通过操作name、expr、cond
17、来确定被封装在这些标记中的内容能否被执行45Dialog的公用属性(续)Name和Expr被定义,被封装的指令要在Clear标记被执行后才能被执行 如果没有定义Expr,Cond值为true则可以执行,false则不被执行,Cond默认为true被以上field封装的指令均不会被执行被以上field封装的指令均不会被执行被以上field封装的指令均会被执行46Block标记 Block是表单项,用于封装其它语句。属性NameExprCond47If/elseif/else标记 If/elseif/else用于条件逻辑判断。如果Cond属性的值计算为true,那么其中封装的语句将被执行,否则将不
18、予执行。This is way too much to spend.注意:,”,&在使用时需要转义和if不同elseif和else是单行标记48Param标记 Param标记用于将参数传递给子对话框或者对象。属性name参数名expr表达式值value字串值49SubDialog标记 类似于函数调用 不丢失当前上下文当subdialog调用完成后,调用者的所有本地数据、语法和状态均被还原 属性src属性是必须的 Return标记用于结束对话框执行并返回,有两个属性event和namelistEvent属性是返回后产生的一个事件Namelist属性包含了返回后给调用对话框的变量列表。50SubD
19、ailog示例 poppa oo mow mow!51Goto标记 跳转到当前form的另一个form item 跳转到当前文档的另一个dialog 跳转到另一个文档 主要属性nextitemnext52Goto标记示例1From内的跳转 preparing to go to the next form item.preparing to go to the next form item variable.this block will be skipped,and will be the last block executed by the FIA.test successful.FIAFI
20、A53Goto标记示例2Form及文档间的跳转 welcome!how many book you want?跳转到另一个Form,本Form内的变量值将丢失跳转到另一个document,本document内的变量值将丢失54Clear标记 Clear标记用于将变量的值设置为undefine 属性namelist 通过将block的expr值设置为undefine来构造出一个55Exit标记 当执行exit标记时,控制返回给执行平台。这时进行什么操作由平台决定,一般情况下将挂断电话。We are finished and will now exit.We have not exited yet
展开阅读全文