已阅读5页,还剩75页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-实施-发布中国移动通信集团公司 发布QB-中国移动通信企业标准语音内容服务VoiceXML接口规范Title英文黑体四号版本号:.黑体小四 75 / 80目次1 范围12 引用标准13 术语和定义14 概述24.1 VoiceXML简介24.2 VoiceXML的背景44.2.1 VoiceXML的结构模型44.2.2 VoiceXML的设计目标54.2.3 VoiceXML的范围64.2.4 VoiceXML的设计要点64.2.5 对VoiceXML实现平台的要求74.3 VoiceXML的一些概念74.3.1 对话框和子对话框74.3.2 会话84.3.3 应用84.3.4 语法84.3.5 事件94.3.6 链接94.4 VoiceXML的元素95 VXML元素说明105.1 文档结构与文档执行115.1.1VXML元素115.1.2单文档应用115.1.3多文档应用125.1.4子对话框135.2 业务控制与业务流程元素135.2.1 对话框窗体.1 窗体的解释.2 窗体项.3 窗体项变量和条件.4 定向窗体.5 混合初始窗体 菜单(menu)元素.1 CHOICE元素和ENUMERATE元素 窗体项.1 FIELD元素.2 BLOCK元素.3 INITIAL元素.4 SUBDIALOG元素.5 OBJECT元素.6 RECORD元素.7 TRANSFER元素.8 FILLED元素2.9 LINK元素285.2.2 控制流和ECMAScript2 变量和表达式2.1 变量和表达式的一般信息2.2变量的作用域30.3标准会话变量30.4标准应用变量3事件处理3.1 THROW元素3.2 CATCH元素3.3 事件处理的时机3.4速记表示法3.5 事件处理中的冲突3.6 事件缺省动作3.7事件类型3.8定时器事件345.2.3 执行上下文3 VAR元素3 ASSIGN元素3 CLEAR元素3 IF,ELSEIF和ELSE元素3 PROMPT元素3 REPROMPT元素3 GOTO元素3 SUBMIT元素3 EXIT元素30 RETURN元素31 DISCONNECT元素32 SCRIPT元素33 LOG元素415.3 业务功能实现元素415.3.1语法4 语音语法4 语法的作用域4 语法冲突435.3.2 系统输出4 语音合成标志语言4 基本语音输出4 播放语音文件4 VALUE元素4 打断语音输出4 超时455.3.3 环境与资源4 资源4.1资源获取4.2 缓冲4.3 预读4.4 协议4文档信息4.1 META元素4.2 METADATA元素4平台属性4 PARAM元素4 时间设计505.3.4 VoiceXML在独立外设中的应用50对独立IP的硬件的要求50 VoiceXML与多层次的业务5 VoiceXML与其他功能实体的通信515.3.5 各种功能的object说明5会议桥资源的操作实现5.1开始会议5.2结束会议5.3加入会议5.4离开会议5.5修改通话方的状态5 连接两条话路5.1操作申请5.2主动方等待5.3被动方接入5 SCP与IP的UI操作实现606 应用举例:无线广告业务的VoiceXML描述607 TTS语法规则658编制历史71前言随着基于内容业务的不断发展和梦网模式的不断普及,移动用户对内容的需求也逐步增大。目前,运营商主要通过数据业务(短消息、GPRS等)向用户提供内容。话音内容服务系统是通过话音为主的方式向用户提供内容服务。该系统由SCP、增强IP、SP等几个部分组成。本规范主要对增强IP设备与ICP接口的VXML语言规范进行描述。本标准由中国移动通信集团公司技术部提出并归口。本标准由标准提出并归口部门负责解释。本标准起草单位:中国移动通信集团公司研发中心。本标准主要起草人:魏冰、赵毓毅、孙楠。本标准解释单位:中国移动通信集团公司技术部。1 范围本标准是对VoiceXML(the Voice Extensible Markup Language)语言的介绍。本规范中主要描述了VXML语言的结构、元素、语法及事件处理、资源获取的方法与机制。本标准适用于对独立外设上应用的VoiceXML接口进行开发、规范。2 引用标准1 W3C, Extensible Markup Language (XML),1998年1月, /TR/REC-xml2 VoiceXML forum, VoiceXML Version 1.0, 2000年3月, /Voice/ 3 Standard ECMA-262, Standard ECMA-262 ECMAScript Language Specification, 1999年10月4 IETF, Hypertext Transfer Protocol - HTTP/1.1, 1999, /rfc/rfc2616.txt 5 Burnett、Walker、Hunt, Speech Synthesis Markup Language Version 1.0(W3C Working Draft), 2002年10月, /TR/2002/WD-speech-synthesis-20021202/ 6 Hunt、McGlashan , W3C Candidate Recommendation :Speech Recognition Grammar Specification Version 1.0,2002年5月, /TR/2002/CR-speech-grammar-20020626/ 7IETF,URLs for Telephone Calls,2000,/rfc/rfc2806.txt3 术语和定义VXML:VoiceXML语音扩展标记语言元素(element):元素是XML(VoiceXML是基于XML的)标记的基本组成部分,可以看成容器。它们可以有相关的属性和/或包含其它元素、注释等。下面是元素的例子: 其中,是的缩写,是空元素,不包含任何内容,注:在一些资料中,VoiceXML的元素又称“标记”。属性(attribute):元素的某些附加信息可以作为元素的属性存在。属性是名-值对。上面关于元素的例子中,src=” logo.png”是元素img的属性。其中src是名;logo.png是值,用”(也可以用)包围起来。文档类型定义(DTD:Document Type Definition):用于结构化XML数据的一套规则。保证XML文档对XML语法和嵌套树结构的正确使用。VoiceXML文档(VoiceXML Document):符合VoiceXML的文档类型定义的XML数据。应用平台(Implementation Platform):应用平台是具有支持VoiceXML功能所需软硬件的计算机。VoiceXML解释器(VoiceXML interpreter):VoiceXML解释器是一个(组)计算机程序,该程序通过解释开发人员编写的VoiceXML文档,控制应用平台和用户交互。VoiceXML解释器上下文(VoiceXML interpreter context):VoiceXML解释器是一个(组)计算机程序,该程序使用VoiceXML解释器解释VoiceXML文档,同时独立(VoiceXML解释器)与应用平台交互。对话框(dialog):由一个或者多个VoiceXML文档构成的应用系统是一个有限状态自动机,该自动机的一个状态成为一个对话框。对话框分两种:表单和菜单。表单(form):用于收集输入内容,并向用户表示信息的对话框。菜单(menu):菜单用于向用于提供选择,并根据用户的输入转到另一个对话框。语法(grammar):语法指出了可以指定给字段的合法表示方式,如可以通过语法,要求用户输入布尔值。 VoiceXML使用的语法是基于JSGF(JSpeech Grammar Format)。事件(event):应用平台会抛出一些事件来响应错误情况,如没有输入、不能理解的输入或者意外断开;特有的事件也可以通过脚本调用throw元素来产生。4 概述4.1 VoiceXML简介VoiceXML是由IBM、Lucent、Motorola、AT&T四家公司于2000年提出的一种专门设计用来支持语音业务的可扩展标记语言,它建立在XML 标记语言规范的基础之上,是语音浏览技术的核心,其与数据库、HTML、WML以及其它文档处理和发布系统的资料交换几乎没有障碍。它的主要目标是在交互式语音应用中采用Web开发的结构和技术,做到了将Web和电话的结合,简化原本比较复杂的交互式语音业务开发,并使内容提供商的开发工作得到有效的保护,它可以应用于不同的系统,不会因为系统的扩容和系统切换导致业务的描述失效,真正做到了业务与平台无关。下面是两个简短的VoiceXML的例子。第一个是著名的“Hello World”:Hello World!所有VoiceXML命令都封装在之间。VoiceXML对话框用于描述脚本对用户输出的各种提示、定义和收集用户的响应,并且描述程序控制的流程。对话框分为两种,分别是窗体(forms)和菜单(menus)。窗体输出信息并且收集输入,菜单提供下一步作什么的选择。这个例子有一个单一的窗体,它包括一个块(block),该块合成并输出“Hello World!”。由于这个窗体没有后继的对话框,所以输出完“Hello World!”后,脚本结束。第二个例子要求用户选择一种饮料,并把用户的选择提交到服务器:Would you like coffee, tea, milk, or nothing?域(field)用于输入。用户在处理窗体中下一个元素之前,必须为一个域提供相应的信息。以上脚本的一个交互例子如下:C (computer): Would you like coffee, tea, milk, or nothing?H (human): Orange juice.C: I did not understand what you said.C: Would you like coffee, tea, milk, or nothing?H: TeaC: (continues in document drink2.asp)4.2 VoiceXML的背景4.2.1 VoiceXML的结构模型VoiceXML采用如下结构模型:文档服务器(比如:Web服务器)处理来自客户端应用的请求,在应答中产生VoiceXML文档(VoiceXML documents),该文档在VoiceXML解释器中处理。VoiceXML解释器上下文(VoiceXML interpreter context)是VoiceXML解释器(VoiceXML interpreter)的执行环境。VoiceXML解释器上下文可以在监视用户输入的同时,解释执行VoiceXML文档。比如,一个VoiceXML解释器上下文可以一直监听一个用户需要帮助的事件,同时监听改变语音合成参数(如音量或者TTS特征)的事件。实现平台受VoiceXML解释器上下文和VoiceXML解释器控制。例如,在交互式语音应用中,VoiceXML解释器上下文可以负责检测呼叫并获得相应的VoiceXML文档,应答该呼叫。同时VoiceXML解释器开始执行文档中的对话框。实现平台能够产生用户响应和动作(比如:讲话或输入字符,挂机)的事件和系统事件(比如:事件超时)。这些事件中一些由VoiceXML解释器本身进行处理,另外一些由VoiceXML解释器上下文进行处理。4.2.2 VoiceXML的设计目标VoiceXML的主要目标是将web应用开发的全部技术和经验引入到语音应答应用中,同时把这类应用的开发人员从底层编程和资源管理中解放出来。它利用熟悉的客户机服务器模式来实现语音业务和数据业务的集成。VoiceXML将语音业务看作是用户和实现平台上一系列对话框的交互。对话框由VoiceXML文档描述,VoiceXML文档存放在文档服务器,而文档服务器可放置在实现平台之外。文档服务器管理着业务脚本,同时可以执行数据库操作,保留现有遗留系统,并且产生对话框。VoiceXML文档定义了一系列对话框,由VoiceXML解释器执行。用户的输入将作为对话框下一步执行的根据,同时根据需要,可以将用户的输入发送给文档服务器,文档服务器产生另一个VoiceXML文档作为应答,应答的VoiceXML文档将继续应用在当前的会话中。VoiceXML具有以下优点:l 每个文档可以指定多个对话框,减少了客户机与服务器的交互;l 把开发人员从底层和具体平台的细节中解脱出来;l 分离用户交互操作(in VoiceXML)和业务逻辑(CGI scripts);l 跨实现平台。VoiceXML是内容提供商,工具提供商和平台提供商的公共语言;l 提供构造复杂应用的语言特性。当然,VoiceXML努力满足绝大多数语音交互业务的要求,但它不是万能的,当VoiceXML努力来满足绝大多数语音应答业务的要求时,那些有特殊要求的业务最好由专门应用来完成。4.2.3 VoiceXML的范围VoiceXML用于描述语音应答系统提供的人机交互功能,这些功能包括:l 合成语音(TTS)的输出;l 音频文件的输出;l 语音输入的识别;l DTMF输入的识别;l 语音输入的记录;l 电话的一些功能,如呼叫转移和挂机;l 与业务相关的扩展。VoiceXML提供多种方式来收集字符输入、语音输入,可以将输入赋值到在文档中定义好的相应变量中,并且决定文档以后的执行。VoiceXML之间通过统一资源标识符(URI)来相互链接。4.2.4 VoiceXML的设计要点VoiceXML基于XML。关于XML的细节,请参考相关的文档。以下是VoiceXML的设计要点:l VoiceXML语言的跨平台特性,是通过对资源的抽象获得的。l 为了满足了平台多样性的要求和市场竞争,VoiceXML语言不对平台支持音频文件格式,语音语法格式和URI方案等方面进行规范。l VoiceXML语言只支持交互所需要的通用的特征。l VoiceXML语言有确定语义,保证了开发人员的意图不被误解。客户机不需要决定文档元素的语义。l VoiceXML语言有控制执行流的机制。l VoiceXML语言使业务逻辑和交互行为相分离。l VoiceXML语言不针对具有大量计算的应用,数据库操作和遗留系统的操作,这些任务由文档解释器外部的资源,如文档服务器来处理。l 业务逻辑、状态管理、对话框的产生和对话框序列驻留在文档解释器的外部。l VoiceXML语言利用URI来链接文档,同时也利用URI来向服务器脚本提交数据。l VoiceXML语言提供方法来识别提交给服务器数据和提交的HTTP方法(get 或 post)。l VoiceXML语言不要求文档作者明确分配和收回相应的资源,或者处理并发。实现平台处理资源分配和并发。4.2.5 对VoiceXML实现平台的要求本部分概括了支持VoiceXML解释器的软硬件的要求。文档获取:解释器上下文负责获取VoiceXML解释器所需要的文档。在一些情况下,文档请求可由VoiceXML文档的解释过程产生,而其他请求由解释器上下文产生(当解释器上下文对VoiceXML语言之外的事件,比如入呼电话呼叫发生响应时)。音频输出:实现平台能够通过使用音频文件、TTS方式,提供音频输出。当两种方式都支持时,平台必须能够自由地对TTS和音频进行序列输出。音频输入:实现平台能同时检测和报告字符、语音输入,并且用计时器来控制输入间隙,这个间隙长度可以由VoiceXML文档来指定。实现平台必须能报告用户输入的字符(如:DTMF)。必须能动态接受语音识别语法数据,如通过一个URI来引用语音语法数据。对于语音输入,语音识别器可通过任意一种语音语法规范来监听。对接收自用户的音频进行记录,同时将信息保存到请求元素变量中。必须能满足语音输入的动态更新,应该能对接收自用户的音频进行记录。实现平台必须能让录音对请求(request)变量可用。4.3 VoiceXML的一些概念一个VoiceXML文档(或者一个文档的集合,称为应用)构成一个有限会话的自动机。在某一时刻,用户总是在一个会话状态或者一个对话框中。每个对话框决定下一个要执行的对话框,对话框间的迁移用URI来指定,URI定义了下一个对话框和对话框所在的文档。如果URI没有给出文档,默认使用当前文档。如果URI没有给出对话框,则使用文档中的第一个对话框。当一个对话框没有指定后继对话框,或者对话框中执行到明确退出会话的元素,则执行被终止。4.3.1 对话框和子对话框对话框分为两类:窗体和菜单。窗体定义了一个交互,用来收集域的项目变量的值。每个域可以指定一个语法来定义某一个域允许的输入。窗体级的语法能用来填充几个域。菜单提供给用户一系列选择,基于选择的结果转到某一个对话框。子对话框类似函数调用,它提供一个机制来调用新的交互,完成后可以返回原来的窗体。子对话框返回以后,将恢复原来的局部数据,语法和状态信息。例如,子对话框可用来创造一个带确认的数据库查询;在一个单一应用中创造一个可供各文档共享的组件;或者创建一个许多应用共享的可重用库。4.3.2 会话当用户与VoiceXML解释器上下文交互时,开始一个会话;文档装载和处理不中断会话;用户、文档或解释器上下文的请求可以结束一个会话。4.3.3 应用应用是共享应用根文档的文档集合。任何时候,当用户与应用中的某一个文档交互时,这个文档的应用根文档也被装载。当用户在同一个应用的文档中变迁时,应用根文档将保持装载。当用户变迁到一个非本应用的文档中去时,应用根文档将被卸载。当应用根文档装载后,应用根文档的变量作为应用变量,对其他文档可用,并且它定义的语法的状态在应用执行期间被置成激活。下图表示了共享应用根文档(root)的文档的变迁。4.3.4 语法每个对话框有一个或多个语音、DTMF语法与之关联。在机器主导应用中,每个对话框的语法只有当用户在那个对话框时是激活的。在混合主导应用中,由用户和机器交替决定下一步作什么。这种情况下,即使当用户在同一文档的其他对话框之中,或者当用户在同一应用的其他装载文档中时,一些对话框还将激活他们的语法(如:监听)。在这种情况下,如果用户输入与其他对话框活动条件相匹配的东西,则执行转移到相应的对话框,用户的输入如同那个对话框是当前的对话框。混合主导给语音应用增加弹性和能力。4.3.5 事件VoiceXML应用填表机制来处理用户的正常输入。同时,VoiceXML定义了一种机制来处理表机制不能处理的事件。在一定条件下,平台抛出事件,如用户未响应,没有正确响应,请求帮助。 解释器也可能扔出事件,如它发现了VoiceXML文档中的语义错误。事件由catch元素(或catch元素的简写)来捕获。每一个能发生事件的元素都可以指定catch元素。catch元素也可从高一级的封闭元素中继承。采用这种方式,共同事件处理行为可以在任一层指定,并应用到所有的低层。4.3.6 链接链接支持多种控制转移。当用户在链接的范围内时,链接指定一个活动语法。如果用户的输入与链接的语法相匹配,则控制转向此链接的目的URI。同时,link元素能够被用来把事件抛到相应的目的URI。4.4 VoiceXML的元素下表给出了VoiceXML的所有元素。表4.4.1 VoiceXML的元素列表元素用途对变量进行赋值播放带有提示的语音片断 非交互式的可执行代码的容器包含一个特定事件的处理程序定义菜单栏清除一个或多个变量,窗体变量清除成Undefined,事件计数器复位为0会话拆除在元素中使用在元素中使用用于记录菜单选项的简略表达捕捉错误事件退出会话在一个表格中声明输入域Field被填写后的执行动作用于介绍信息和收集数据的对话跳转到在同一个和不同的文档中另一个对话语音识别语法捕获一个帮助事件简单的条件逻辑声明进入一个表格的初始逻辑在链接范围内对所有对话通用的转移产生平台调试信息用于做出选择的对话定义一个元数据作为一个名/值对通过元数据模式定义元数据捕获一个没有输入的事件捕获一个不匹配事件访问特定平台的资源在field中定义一个选项向 或 传递的参数TTS 序列或语音输出用于设置平台属性录制用户语音并将其存放到文件中当一个域被再次访问时播放的提示从一个子对话中返回一段ECMAScript 客户端的标记逻辑在当前对话中调用另一段对话向文件服务器脚本提交,用于产生下一个脚本抛弃一个事件将用户转移到另一个目的地在提示中插入一个变量的值声明一个变量VoiceXML 文件的顶层元素下一章中将对以上元素进行详细介绍。5 VXML元素说明VXML的元素可以分为三个层次:1、最顶层元素vxml,它封装其他所有的VoiceXML命令;2、控制业务逻辑及业务流程的元素,如对话框form和menu,用于封装VoiceXML程序对用户输出的各种提示,定义和收集用户做出的响应,并且描述用户控制的流程;var、throw等控制流元素;3、完成具体业务功能的元素,如窗体项元素,包括元素field、record、transfer、object、subdialog,用于提示用户,收集信息;控制项,包括block、initial元素;输入输出的相关元素如audio、prompt、grammar。5.1 文档结构与文档执行一个VoiceXML文档主要由称为对话框的顶层元素构成,所有的对话框都封装在vxml元素中。5.1.1VXML元素所有的VoiceXML命令都封装在 中,vxml元素的属性如下:表VXML元素的属性version这个文档的VoiceXML版本(必须的),当前版本号为2.0;要求平台能够同时支持1.0和2.0。xmlnsVoiceXML文档的命名空间(必须的),VoiceXML的命名空间为/2001/vxml。xml:base基本的URI,其他的非绝对URI的参考URIxml:lang文档的语言和本地类型application这个文档应用的根文档下面是元素vxml的一个例子:5.1.2单文档应用VoiceXML应用可以分为单文档应用和多文档应用。单文档VoiceXML应用只有一个文件,缺省时,文档执行第一个对话,随着每一个对话的执行,会确定下一个对话。当一个对话没有指定后继对话时,文档的执行被中止。5.1.3多文档应用通常每个文档都是作为独立的应用来执行的,但VoiceXML支持多文档应用。多个文档组合成为一个应用时,需要选定一个文档作为应用的根文档,并在其它文档的元素中指定它。这样做了之后,每一次解释器被告知加载这个文档时,如果它的根文档没有事先被加载的话,解释器加载相应的根文档。根文档一直驻留在解释器中,直到解释器被告知加载属于另一个应用的文档。解释器中总是会出现下列两种情况之一:根文档(或单文档应用的文档)被加载且用户正在执行它。根文档和这个应用的其它一个文档被加载且用户正在执行非根文档。多文档应用有两个优点。首先,根文档中的变量可以被其它文档使用,这样信息可以被共享和保持。其次,根文档中的语法可以其它文档中仍旧保持激活状态,这样用户可以始终同公共的窗体、链接和菜单进行交互。(注:在多文档应用下,至多有两个文档同时被加载:一个是根文档,另一个是非根文档。用户没有同根文档进行交互的情况下,如果一个文档指向一个不存在的根文档,或一个应用的根文档还指向另一个应用的根文档,则产生错误语义,抛出相应的事件。)下面的例子给出了一个利用根文档中的变量共享和保持信息的例子。根文档app-root.vxml: 文档1对根文档中定义的变量进行赋值:文档2通过根文档中定义的变量,引用文档1中的信息:用户的ID值是5.1.4子对话框子对话框是分解复杂对话框序列并使之有更好的结构,或产生可重用组件的一种机制。如果一个用户关心的业务是由几个相互独立的应用构成,它们共享基本的构造模块,则将这些模块构造为子对话的机制更为合理。子对话增加了一种新的上下文执行关系。当它们被调用时,子对话可以是在现有文档中的一个新对话,也可以是在新文档中的一个新对话。注意,被调用的子对话仅激活自身的语法。5.2 业务控制与业务流程元素5.2.1 对话框VoiceXML对话框用于描述VoiceXML程序对用户输出的各种提示,定义和收集用户做出的响应,并且描述用户控制的流程。对话框包括两种:窗体(form元素)和菜单(menu元素)。窗体form元素(窗体元素)是VoiceXML文档的主要组成部分。窗体元素负责执行对话框定义中描述的所有操作。它用于封装与用户的输入、输出相关的命令,在文档中导航并且可以导航到其他的文档,可以说明变量并赋值,可以进行录音、电话转接。一个窗体包含:l 一组窗体项,窗体项在窗体解释执行的主循环可以被访问到的项。窗体项可以细分为输入项和控制项,它们的区别是用户的输入可以激活输入项;控制项不受输入控制。l 声明非窗体变量;l 事件处理定义;l filled动作,相应的域得到输入时执行的脚本。窗体有以下属性:id:窗体名;scope:用于指明窗体中声明的任何语法的范围。.1 窗体的解释窗体依据固有的窗体解释法则(FIA)解释,FIA包含一个主循环,重复选择每一个窗体项并访问它。解释一个窗体项通常包含以下工作:l 选择并播放一个或多个提示;l 收集用户的输入,或者是对域的填充,或者是对某些事件的抛弃l 解释任何新近填充的动作当解释到控制转移元素或没有可以选择的窗体项时,窗体解释法则结束。.2 窗体项窗体项是在FIA主循环中可被访问到的元素。分为两种,一种是域项,包括元素field、record、transfer、object、subdialog,用于提示用户,收集信息。另一种窗体项是控制项,控制项包括block、initial元素。.3 窗体项变量和条件每一个窗体项都有一个关联的窗体项变量,当窗体被执行时缺省设置为未定义;开发人员也可以给它们赋初始值。窗体项变量可以依据命名规则赋名,也可以作为内部名称而不需要说明。同时,窗体项都有窗体项条件,用于控制是否执行该窗体项。如下表:表窗体项变量name窗体变量的名称expr变量的初始值。缺省值是ECMAScript的undefinedcond一个表达式,表达式结果为真则可以访问对话项,为假则不能访问对话项。如果没有指定,默认为真.4 定向窗体最简单和普遍的窗体类型是那种所有窗体项都按顺序执行而没有反复的窗体。.5 混合初始窗体混合初始窗体是可以由计算机或人来主导会话的窗体,有一个或多个菜单项和一个或多个菜单级。混合初始窗体有两个特性:窗体中包含的各个字段可以按照任何顺序填写其信息,二是对语法的识别可以产生要填写的多个字段变量。 菜单(menu)元素菜单和窗体元素同时VoiceXML的两种对话框之一。对于那种包含一个匿名域提示用户做出选择,根据用户选择转移到相应的窗体来说,菜单是一个很好的简化形式。同窗体一样,菜单也有语法,可以定义语法范围。下面是菜单的一个例子: Welcome home. Say one of: Sports Weather Stargazer astrophysics news Please say one of 菜单有以下属性:表5.2.1 menu元素属性id菜单的名称scope对话文法的作用范围dtmf可以取“真”和“假”两个值。如果取真,menu下choice元素将按顺序分配1,2等(如果choice特别指明是“0”,“#”,“*”外)。缺省值是“假”accept如果该值设置为“exact”(缺省值),那么元素choice明确定义了识别的短语,否则,将是一个近似的识别短语(值为“approximate”).1 CHOICE元素和ENUMERATE元素元素choice用于设定口语语法或菜单语法的DTMF语法项。如果一个选项的语法项被设别,那么该choice元素的next、event或expr等属性将用于确定下一步将执行哪一个脚本。choice元素有以下属性:表5.2.2choice元素属性dtmfDTMF序列accept为这个choice重载中对accept的设置next下一个对话或文档的统一资源标识expr指定一个表达式,从中可以得到下一个对象的统一资源标识event抛出指定一个事件eventexpr一个表达式,从中可以计算出要抛出的事件名称message一个消息串,提供了关于要抛出的事件的附加上下文messageexpr一个表达式,可以计算出抛出的事件附带的消息串fetchaudio缺省属性,在跳转过程中要播放的音频的统一资源标识,如没有指定,则取平台的fetchaudio属性(参考9.1节)fetchhint缺省属性,表示文件是否需要下载,如没有指定,则取平台的documentfetchhint属性(参考9.1节)fetchtimeout缺省属性,设置超时时间,如果超时则会抛出获取失败事件,如没有指定,则取平台的fetchtimeout属性(参考9.1节)maxage缺省属性,指定一个以秒为单位的时间。在maxstale属性没有设置的情况下,文档只使用生命期不超过这个时间的文档内容,如没有指定,则取平台的documentmaxage属性(参考9.1节)maxstale缺省属性,指定一个以秒为单位的时间,如果文档内容的生命期超过这个指定时间则不予以使用。如没有指定,则取平台的documentmaxstale属性(参考9.1节)其中,next expr event eventexpr中必须指定而且只能指定一个。菜单可以通过property元素来指定进行DTMF或者语音识别输入或者两者皆有。同时,通过enumerate元素,可以简化choice的编写。例如: Welcome home. For , press . sports weather Stargazer astrophysics news 窗体项窗体项包括field、block、initail、subdialog、object、record和transfer等元素。它们具有共同的特征:l 所有的窗体项都封装在form元素之间l 窗体项都有窗体项变量和条件窗体项分为两类,一种是域项,包括元素field、record、transfer、object、subdialog,用于提示用户,收集信息。另一种窗体项是控制项,控制项包括block、initial元素。.1 FIELD元素field元素用于接收来自用户的自动语音识别信息或DTMF信息,具有以下属性:表choice元素属性name变量的名称expr变量的初始值cond一个表达式,表达式结果为真则可以访问对话项,为假则不能访问对话项。如果没有指定,默认为真type变量的类型slotslot用于识别语法时返回多个值的平台。通过slot,用户可以确认那一个值被返回。modal文法的作用域,为真则只是域中的文法起作用,其他文法暂时停止作用;为假则所有活动文法起作用例如What is your favorite flavor? Say one of vanilla, chocolate, or strawberry. #ABNF 1.0; $options = vanilla | chocolate | strawberry 程序员可以通过URI,为field元素指定语法,也可以使用内建语法。和元素menu一样,field元素可以使用enumerate元素。同时,如果field元素的输入项与一系列有效项相对应,当选项被认可时只执行赋值,可以通过option元素,简化脚本。option元素的属性如下:表 option元素属性dtmf是与选项相关的DTMF序列。accept如果该值设置为“exact”(缺省值),那么元素choice明确定义了识别的短语,否则,将是一个近似的识别短语(值为“approximate”)value某个选项被选定时赋予字段变量的字符串。默认值是option中的文本。下面是option元素的一个例子。 Please select an entree
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋退组协议书模板
- 房源独家出售协议书
- 房租违建改造协议书
- 手机押金协议书范本
- 打印机购销合同范本
- 打杂工劳务合同范本
- 托管入学须知协议书
- 专题22.17 相似三角形动点问题(分层练习)(综合练)(含答案)-沪科版(2024)九上
- 吸氧操作流程考试试题(附参考答案)
- 汽车维修技术员职业技能考试试题及答案解析
- 至爱梵高课件
- DB11-T 808-2020 市政基础设施工程资料管理规程
- 消防排烟系统安装施工方案
- 产品碳足迹培训课件
- 2025年初级新媒体运营技能考核模拟题及答案详解
- 某市美术馆建设项目可行性研究报告
- 2025年河北省保定市【辅警协警】笔试预测试题(含答案)
- 下肢静脉溃疡护理课件
- 产科抢救药物的使用及注意事项
- 2025入团考试题库(完整版)附答案详解
- 2025年银行中层笔试题及答案
评论
0/150
提交评论