以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 XML在语音技术中的应用 』 (http://bbs.xml.org.cn/list.asp?boardid=47) ---- XML在语音中的应用(三) (http://bbs.xml.org.cn/dispbbs.asp?boardid=47&rootid=&id=20124) |
-- 作者:Coral -- 发布时间:7/4/2005 11:15:00 AM -- XML在语音中的应用(三) 摘自:统一教学网 在这一部分中主要是VoiceXML的介绍。这里没有完全列出所有VoiceXML语法。详尽的说明请见W3C上的说明。这里只是给您一个对关键环节的了解。我相信并不是每一个网络大侠都详细学习过HTML的语法,更多的是在参照已有页面的基础上渐进掌握的。 VoiceXML基础 VoiceXML是一种编程语言。但它又不是一般的编程语言,它必须考虑到特殊的语音应用环境。下面是它的部分实现功能: 识别输入语音 <?xml version = “1.0” ?> ………… </vxml> 正如前面说到的VoiceXML是用文档来分别的。一个VoiceXML的应用是一系列VoiceXML文档的集合。而且每一个应用都包含一个“根文档”。这有点像一个动态网站的default.asp或是index.asp。在VoiceXML应用调用的时候,“根文档”始终被调用。 在每一个文档中,都有很多的“对话”(Dialog)。在每一个特定的时刻,人机交互都处在一个特定的对话状态当中。每一个对话都可以明确的指明下一个目的对话。整个文档就是有这些对话状态组成的“有限状态机”。对话的跳转是由URI指定的。每一个文档和对话都可以被确切指定。如果没有指定具体的文档,当前文档就是默认文档。如果具体的对话没有被指定,那么目的文档的第一个对话就是默认对话。 对话分为两种,一种是Form,另一种事Menu。Form是专门用来从客户端收集信息并赋值给特定变量的。在Form当中,有很多的域(Field)。Field就相当于我们常用的变量。Form通过收集用户输入(语音或是按键),把识别出的值赋给变量。Menu的形式是为用户提供多个选项,根据不同的选择,应用进程将跳转至不同的对话。 关于Form和Menu的详细内容我们在下面的小节详细的介绍。 正如Form的意义一样,它是一张表格。就好像在申请贷款时候要填具详细信息一样,在语音应用中,需要和用户来交互。用户通过电话输入表格中的每一项。 让我们通过一个具体的例子来看一看: <?xml version="1.0"? encoding="gb2312" ?> VoiceXML中的Prompt Prompt标识比较简单,它指示系统为用户读出标识内包含的语句。我们其实在前面的例子中也已经看到了。比较完备的浏览器都是通过通用的语音合成实现发音。 VoiceXML中的Grammar Grammar标识简单的说就是给用户输入限定的范围。用户只能在grammar列举的范围内发音。当用户输入被识别出来不在grammar范围之内时,语音浏览器就产生一个出错信息。可以在VoiceXML文档中设定出错处理。 Grammar又可以分为三类:inline、external和built-in。 Inline grammar是通过显式的方式在给定的域内写明grammar。在前面的例子中就是inline grammar。 External grammar是通过外部应用的方法来指定grammar。这时候就需要用标识grammar来说明了: <grammar src="URI" type="mime-type"/> 这里的mime-type可以缺省。因为它可以通过URI的协议来获取,还可以通过外部grammar文件的后缀来获得。即使上面的方法都不能得到,还可以从系统运行平台来指定。还有人会问,要用什么来书写外部grammar呢?比较通用的是Javaä Speech API Grammar Format (JSGF)。 built-in grammar是浏览器平台自己设定的grammar。它是具有个性化的东西。不同的厂家可能会有不同的built-in grammar。为的是方便在浏览器上的应用开发。 |
-- 作者:liyuliang -- 发布时间:10/9/2005 5:01:00 PM -- 期待更多教材! |
-- 作者:superintel2003 -- 发布时间:2/19/2007 1:28:00 AM -- 1.請問在這行中"<grammar>大话西游|国产零零七|鹿鼎记</grammar>"定義了辨識範圍, 但是如果還要更多的辨識範圍,只能一個一個的加上去?還是有其他方法? 2.vxml的grammer可否指定辨識的字數(例如:10個字)(我試過digit的type可以指定長度,但是 如果要辨識的不是digit可否有其他方法? thanks. 我也剛在學vxml還有很多地方不懂.大家一起來研究吧^ ^
|
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
46.875ms |