新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> VoiceXML, CCXML, OpenVXI
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - 高级XML应用『 XML在语音技术中的应用 』 → XML在语音中的应用(三) 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 10672 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: XML在语音中的应用(三) 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     Coral 美女呀,离线,快来找我吧!
      
      
      威望:6
      等级:计算机学士学位(超级版主)
      文章:271
      积分:2320
      门派:XML.ORG.CN
      注册:2004/12/29

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Coral发送一个短消息 把Coral加入好友 查看Coral的个人资料 搜索Coral在『 XML在语音技术中的应用 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看Coral的博客楼主
    发贴心情 XML在语音中的应用(三)

    摘自:统一教学网

    在这一部分中主要是VoiceXML的介绍。这里没有完全列出所有VoiceXML语法。详尽的说明请见W3C上的说明。这里只是给您一个对关键环节的了解。我相信并不是每一个网络大侠都详细学习过HTML的语法,更多的是在参照已有页面的基础上渐进掌握的。

        VoiceXML基础

        VoiceXML是一种编程语言。但它又不是一般的编程语言,它必须考虑到特殊的语音应用环境。下面是它的部分实现功能:

        识别输入语音
        识别电话按键输入
        输出音频
        语音合成
        基本电话连接功能
        上面列举出来的功能并不是由VoiceXML独自完成的。VoiceXML做到的是提供一种应用其他组件的机制。而具体的操作是由语音浏览器实现的。 值得一提的是VoiceXML实现了基本编程语言的所有基本特性,比如是程序流程控制,代码重用等等。
        
        另外VoiceXML和HTML有非常多的相似之处。在HTML中,文件是由首尾呼应的标识来组成的;VoiceXML中也是由标识来组成的。在HTML中代码是用“页”来分别的;在VoiceXML中是用“文档”来分别的。在HTML中有链接的标识来跳转;在VoiceXML中同样可以跳转至其它文档。
        
        每一个VoiceXML文档都是完整的XML文档。所以,构成VoiceXML文档下面的标识是必不可少的:

    <?xml version = “1.0” ?>
    <vxml version = “1.0” >

    …………

    </vxml>

        正如前面说到的VoiceXML是用文档来分别的。一个VoiceXML的应用是一系列VoiceXML文档的集合。而且每一个应用都包含一个“根文档”。这有点像一个动态网站的default.asp或是index.asp。在VoiceXML应用调用的时候,“根文档”始终被调用。

        在每一个文档中,都有很多的“对话”(Dialog)。在每一个特定的时刻,人机交互都处在一个特定的对话状态当中。每一个对话都可以明确的指明下一个目的对话。整个文档就是有这些对话状态组成的“有限状态机”。对话的跳转是由URI指定的。每一个文档和对话都可以被确切指定。如果没有指定具体的文档,当前文档就是默认文档。如果具体的对话没有被指定,那么目的文档的第一个对话就是默认对话。

        对话分为两种,一种是Form,另一种事Menu。Form是专门用来从客户端收集信息并赋值给特定变量的。在Form当中,有很多的域(Field)。Field就相当于我们常用的变量。Form通过收集用户输入(语音或是按键),把识别出的值赋给变量。Menu的形式是为用户提供多个选项,根据不同的选择,应用进程将跳转至不同的对话。

        关于Form和Menu的详细内容我们在下面的小节详细的介绍。


    VoiceXML中的Form

        正如Form的意义一样,它是一张表格。就好像在申请贷款时候要填具详细信息一样,在语音应用中,需要和用户来交互。用户通过电话输入表格中的每一项。

        让我们通过一个具体的例子来看一看:

    <?xml version="1.0"? encoding="gb2312" ?>
    <vxml version="1.0">
    <form id="选片">
    <field name="movie">
    <prompt>你想欣赏哪一部电影?</prompt>
    <grammar>大话西游|国产零零七|鹿鼎记</grammar>
    <filled>
    <if cond=" movie =='国产零零七'">
    <prompt>国产零零七今天只有晚上十点一场放映。</prompt>
    </if>
    </filled>
    </field>
    </form>


    </vxml>


        在上面的例子当中,有一个Form标识,其中只有一个变量(域)需要填充。首先,系统会问用户“你想欣赏哪一部电影?”,这时用户可以回答grammar标识中限定的《大话西游》、《国产零零七》和《鹿鼎记》。输入之被赋给名字为movie的域。Filled标识用来完成当域被填充之后的操作。在这里,操作是读出“国产零零七今天只有晚上十点一场放映。”这样一句话。

    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&auml; Speech API Grammar Format (JSGF)。

        built-in grammar是浏览器平台自己设定的grammar。它是具有个性化的东西。不同的厂家可能会有不同的built-in grammar。为的是方便在浏览器上的应用开发。


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/7/4 11:15:00
     
     liyuliang 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:11
      积分:93
      门派:XML.ORG.CN
      注册:2005/10/9

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给liyuliang发送一个短消息 把liyuliang加入好友 查看liyuliang的个人资料 搜索liyuliang在『 XML在语音技术中的应用 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看liyuliang的博客2
    发贴心情 
    期待更多教材!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/10/9 17:01:00
     
     superintel2003 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:58
      门派:XML.ORG.CN
      注册:2007/2/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给superintel2003发送一个短消息 把superintel2003加入好友 查看superintel2003的个人资料 搜索superintel2003在『 XML在语音技术中的应用 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看superintel2003的博客3
    发贴心情 
    1.請問在這行中"<grammar>大话西游|国产零零七|鹿鼎记</grammar>"定義了辨識範圍,
    但是如果還要更多的辨識範圍,只能一個一個的加上去?還是有其他方法?
    2.vxml的grammer可否指定辨識的字數(例如:10個字)(我試過digit的type可以指定長度,但是
    如果要辨識的不是digit可否有其他方法?  

    thanks. 我也剛在學vxml還有很多地方不懂.大家一起來研究吧^ ^

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/2/19 1:28:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML在语音技术中的应用 』 的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/1 1:22:51

    本主题贴数3,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    77.637ms