《VoiceXML培训资料》PPT课件.ppt_第1页
《VoiceXML培训资料》PPT课件.ppt_第2页
《VoiceXML培训资料》PPT课件.ppt_第3页
《VoiceXML培训资料》PPT课件.ppt_第4页
《VoiceXML培训资料》PPT课件.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VoiceXML培训资料,华为技术,什么是VoiceXML?,VoiceXML简介,VoiceXML:Voice eXtensible Markup Language (语音可扩展标记语言),与HTML的区别,相同点: 都使用URL作为资源定位符 绝对地址和相对地址的转换规则一致 都与WebServer间采用HTTP协议交互 所有的资源均可以通过WebServer上的后台应用脚本动态输出,VoiceXML开发环境,Jdk1.4.0以上版本 Tomcat4.0以上版本 环境变量的配置: PATH= C:j2sdk1.4.2bin; set CLASSPATH=.;C:j2sdk1.4.2jrel

2、ibrt.jar; set JAVA_HOME= C:j2sdk1.4.2 注: CALSSPATH是CLASS文件的寻找路径,没设就找不到CALSS文件。CHASSPATH中的”点”代表当前路径。,VoiceXML入门,先来了解一下XML,XML简单规则: 1、从开始 2、元素的格式 3、一个XML文当中只能包含一个主元素,例如:元素名为:vxml 4、元素间的包含 可以并列放置一个或者多个文本或者元素 5、空元素 是指元素中没有包含任何文本或者元素的元素,可以缩写为: ,看看这些标记作了些什么,VoiceXML的主元素,必不可少 一个form单元 一个form item,其中可以放置执行单

3、元 一个执行单元,用于放音,如何进行业务的日常维护,通常可以使用IE对业务流程的检查采用逐步检查 的办法: 1、检查普通页面是否能够正常显示 2、检查是否能够支持动态脚本程序,例如Jsp程序 是否能够正确运行 3、检查操作数据库部分的流程是否正常 下面是一个例子:,从Hello World开始, 你好 再见 ,放音收号, 您好! ,放音收号object, 放音收号结果为 ,深入了解VoiceXML框架,可执行内容,可执行内容指的是程序上的逻辑块,这种逻辑出现在: 的form item中。 Form 和form item的行为中。 事件处理中(,等)。 下面分别介绍一下这些元素:,clear 变

4、量清空 var 变量定义 prompt 放音 reprompt重放音 goto submit流程跳转 if else else if流程分支的判断 return返回subdialog调用 exit退出,throw 抛出事件 assign变量赋值 script 脚本操作,常用的标准session变量,Session.telephone.ani 系统主叫 Session.telephone. dnis 系统被叫,Form,Form元素可以包含: 一个或者多个form item 变量定义(var) 事件处理(error/help/nomatch/noinput/catch) 填充后处理(Filled

5、),VoiceXML中的流控制-1,VoiceXML中的流控制-2,Form Item总体特性,包括如下元素:field、block、subdialog、object、record、transfer 1、它们都有一个用name属性指定名字的变量,该变量用expr属性计算结果为初始值 2、它们都有一个cond属性,作为判断表达式,用于判定是否需要执行该form item 3、其中field item通常包含: filled:其中包含了当field item的结果变量被填充的时候需要进行的相应处理 property:用于设定影响当前交互的一些属性 prompt:指定当该field item被访问的

6、时候需要提供的提示音 grammar:指定允许的用户说话和按键的语法 catch:指定field item中发生事件时需要进行的处理,FILLED,filled:用于指明某一个或者多个域被用户输入所填充后的处理流程 mode可以为all(默认值),或者为any,表示指定的处理过程被执行的选择原则,是所有namelist中的域被填充,还是任意一个namelist中的域被填充 namelist该filled所对应的域的名字,以空格分隔 filled可以放置在form、form item中 如果放在form item中,则表明当该form item被填充的时候执行该filled中的流程;如果放在fo

7、rm中就是指namelist中的域被填充后需要执行该filled中的流程 例子: ex_6_3.vxml,FIELD,field:收集用户输入的域 name结果变量名 expr产生初始值变量表达式 cond判断是否选择该item被执行的表达式 type数据类型,相当于有这样的类型的语法 slot域的关键字名,用于接受语音识别结果 modal是否屏蔽该field以外的所有的语法 type的类型包括:boolean、date、digits、currency、number、phone、time 举例:ex_5_3.vxml What is your favorite ice cream? ,BLOC

8、K,block:执行块,用于辅助field item元素 name结果变量名 expr产生初始值变量表达式 cond判断是否选择该item被执行的表达式 在执行block中的执行单元之前,系统自动将结果变量置为true 举例: Welcome to Flamingo, your source for lawn ornaments. ,SUBDIALOG,subdialog:激活一个类似函数调用的过程 name结果变量名 expr产生初始值变量表达式 cond判断是否选择该item被执行的表达式 namelist通过HTTP携带的参数的列表 src跳转到的流程的URL地址 methodHTTP获

9、取方式,(Get/Post) enctypeHTTP编码方式 他和其他field item不同的是,其中可以放置param用于传递参数,注意不要将这个参数和namelist属性中的参数混淆,param携带的参数是通过VoiceXML解释器进行传递的,举例:return.vxml,PROMPT,prompt :播放提示语音 bargein提示音是否能不用户打断 bargeintype打断类型(2.0新增),支持识别打断 cond判断是否播放的条件表达式 count计数(在选择规则中使用) timeout用户超时时间 例子: 欢迎使用听网 相关内容:跳转到执行单元中的介绍,PROMPT,barge

10、in:默认为true表示可以被打断 bargeintype:打断方式为: energy能量或者DTMF按键 speech语音或者DTMF按键 recognition语音识别成功或者DTMF按键 这三种方式混合使用将导致平台不可预测的动作, 而且是不鼓励的;所以推荐在一个平台上保持一种打断方式 timeout:系统超时时间,指的是系统在放完所有提示音后的 最大等待用户输入的时间,AUDIO,audio :播放语音,嵌套文本表示当该语音文件不可获得时 用嵌套的文本以TTS播放 src语音文件的URL地址 expr动态决定语音文件的URL地址 当有src属性时,该属性被屏蔽 支持的语音格式: 目前只

11、支持8K*8Bit的wav格式(Riff格式),不支持 mp3、Real audio等格式 例子: ,VALUE,value :将表达式值的运算结果输出为语音或者TTS文本 expr输出表达式 例子: is the square of . ,放音内容,TTS放音 请说出城市名称 您说的城市名称是: 播放WAV语音 请说出城市名称 混合TTS文本、WAV语音 欢迎来到电话听网 下面为您插播一段广告,请收听 ,PROMPT 的选择规则,注意这里的选择规则是指在form item中的prompt,对于block、 catch及事件处理缩写元素、filled中的prompt不存在选择问题。 选择规则如

12、下: 1、按照文档中的顺序将所有的prompt进行排序,组成列表 2、从列表中删除所有cond条件表达式判断为false的prompt元素 3、寻找correct count:列表中所有的的比当前的计数器小的最大计数值 4、删除列表中所有值不等于correct count的标记,PROMPT 的缓冲原理,Vxml解释器任何时候都处于以下两种状态: 1、等待状态:在field item中等待用户输入 2、转移状态:根据等待状态获得的输入在field item之间转移,在该状态是不接受用户的任何语音输入 在转移状态,所有的播放的提示音需要被缓存,在以下情况下才会被真正播放: 1、当解释器到达等待状

13、态的时候,所有的缓存的提示音被放出,同时等待用户的输入 2、当解释器获取某资源时指定了fetchaudio属性,则需要将所有的缓存的语音播放出去,如果播放完缓存的语音时资源还未获取到,则播放fetchaudio指定的语音直到获取到资源为止 3、如果系统准备退出,需要将所有的缓存的语音播放出去,变量、表达式与脚本,变量与表达式无处不在,涉及如下元素:var、script、assign、clear 脚本在Vxml中的地位 在VoiceXML中,通过嵌入脚本的方式,可以实现复杂的应用,并为VoiceXML提供了强大的计算能力。 变量和脚本的关系 脚本和变量是融合在一起的,在作用域中可以相互引用。脚本

14、不是孤立存在的,而是与整个VoiceXML结合在一起的 除了var定义的变量,还有没有其他变量? VoiceXML中隐含地定义了变量,系统会为每个item定义一个form item变量,这个变量有两个作用:1)流程控制,2)保存输入值或者返回值。,变量作用域,sesssion:整个通话过程中起作用 application:在一个应用中起作用 document:在当前文档中起作用 dialog:在form、menu中起作用 anonymous:看上一级是谁,可能是block、catch元素包括其缩写、filled,变量的使用,cond表达式,作为if、elseif、prompt、catch等等元

15、素的属性 expr表达式,作为assign、value、等等元素的属性 script脚本中对其进行使用 举例: 1 , . . . ,Application变量,application.lastresult$ application.lastresult$i.confidence application.lastresult$i.utterance application.lastresult$i.inputmode application.lastresult$erpretation 这是VoiceXML2.0中的新特性,事件的抛出与处理,Who throw event,1)流程抛

16、出事件:通过throw,将指定的事件抛出 2)系统处理中抛出的事件: nomatch:在等待用户输入时,如果用户的语音或者按键没有匹配上相应的语法,则抛出该事件; noinput:如果用户在一定时间内没有输入,则抛出该事件; help:如果用户输入“帮助”时,抛出help事件 error:错误事件,例如跳转到一个不存在的页面、或者流程中有语法错误、或者在执行过程中有JavaScript运算异常 telphone.disconnect:用户挂机或转移 exit:流程结束事件,form中的所有item都被执行,没有跳转离开该form则抛出该事件,Which element process the

17、event,1)catch元素,其属性event中指明了其处理的事件名称 2)nomatch、noinput、help、error元素能够处理相应的事件 3)事件只能被相比于事件发生地层次高或者相同的元素捕获,不能被低层次的元素捕获 catch、nomatch、noinput、help、error元素中可以放置一个执行块,其中可以放置各种执行单元,用于说明当制定事件被捕获后需要完成的动作,CATCH,catch:捕获事件 event事件名称,或者一组事件的名称 count计数(用于Catch的选择规则) cond执行事件处理的判断条件 举例: Security violation! ,事件处理

18、缩写标记,事件处理缩写标记包括: catch:捕获事件 count计数(用于Catch的选择规则) cond执行事件处理的判断条件 举例: 您三次密码输入错误,再见 ,Catch的选择规则,当一个事件发生的时候,我们如何选择该有谁来处理? 依据以下原则: 1、将所有的在当前作用域中的、包含域中的catch组成一个列表,首先按照Catch所在域从小到大排序,在同一个作用域中按照文档中的实际顺序排序 2、将列表中所有cond表达式条件为false的catch标记删除;将列表中所有event中没有包含当前需要被处理的事件的catch删除 3、寻找correct count:在catch列表中比当前的

19、实际计数次数小的最大的count 4、寻找列表中第一个其属性count等于correct count的catch。终于找到你了:),form item,form,document,application root,interpreter context,系统默认事件,exit(平台屏蔽,避免造成错误),用于用户主动说明离开 error系统错误或者业务错误 error.badfetch 无法获取文档 error.semantic error.noauthorization 无权操作(例如呼叫受限) error.unsupported.format error.unsupported.elemen

20、t help用户主动说帮助 noinput用户在指定时间内没有输入 nomatch用户输入与语法不匹配 telephone.disconnect. hangup 用户挂机 telephone.disconnect. transfer无条件前转,执行单元详细介绍,VAR,var :用于定义和初始化变量 name变量名 expr初始值 例子: ,ASSIGN,assign :用于变量赋值 name变量名 expr初始值 例子: ,CLEAR,clear :用于清除form item变量值 namelist希望被清楚的变量名 例子: ,IF Elseif Else,例子: ,if 、elseif: cond判断条件表达式,PROMPT,prompt :播放提示语音 bargein提示音是否能不用户打断 bargeintype打断类型(2.0新增),支持识别打断 cond判断是否播放的条件表达

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论