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

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

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 39197 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: ASR & SRGS 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     WanMingliang 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(Java考了96分!)
      文章:67
      积分:336
      门派:XML.ORG.CN
      注册:2007/4/11

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

    zhu_rixian老大!  W3C Speech Interface Framework中讲Speech Grammar Markup Language是被ASR使用的.但我在OPENVXI中没有看到SRGS是如何被使用的.可能是我没看到,也可能是没实现.按我的愚见:如果是被ASR使用的话,那应该将语法传给ASR(比如说微软的SAPI).请帮我指点一下.谢谢!

       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/5/24 17:28:00
     
     zhu_ruixian 帅哥哟,离线,有人找我吗?射手座1983-12-2
      
      
      威望:2
      等级:大二期末(Java考了96分!)
      文章:406
      积分:3471
      门派:W3CHINA.ORG
      注册:2006/3/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zhu_ruixian发送一个短消息 把zhu_ruixian加入好友 查看zhu_ruixian的个人资料 搜索zhu_ruixian在『 XML在语音技术中的应用 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看zhu_ruixian的博客2
    发贴心情 
    <?xml version="1.0"?>
         <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">
    <nomatch count="3">
    <prompt> I'm sorry I still don't understand, Goodbye.</prompt>
    <exit expr="'failure'"/>
    </nomatch>

    <noinput count="3">
    <prompt> I'm sorry I still don't hear you, Goodbye</prompt>
    <exit expr="'failure'"/>
    </noinput>

     
     <menu id="menu1">
      <prompt> Please cast your vote for Ralph Nader, George Bush Or Al Gore </prompt>
      <choice dtmf="1" next="#form1"> Ralph_Nader </choice>
      <choice dtmf="2" next="#form2"> George_Bush </choice>
      <choice dtmf="3" next="#form3"> Al_gore </choice>  
     </menu>

     <!-- The grammar defined in the menu above should be active in the following form -->
     <!-- Therefore, no need to define a new grammar --> 
     <form id="form1">
      <block>
       <prompt> I think you said Ralph Nader </prompt>
        <exit expr="'success'"/>
      </block>
     </form>
     <form id="form2">
      <block>
       <prompt> I think you said George Bush </prompt>
       <exit expr="'success'"/>
      </block>
     </form>

     <form id="form3">
      <block>
       <prompt> I think you said Al Gore </prompt>
       <exit expr="'success'"/>
      </block>
     </form>

    </vxml>

    ----------------------------------------------
    为什么总是索取的人多,奉献的人少...

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/5/24 21:06:00
     
     zhu_ruixian 帅哥哟,离线,有人找我吗?射手座1983-12-2
      
      
      威望:2
      等级:大二期末(Java考了96分!)
      文章:406
      积分:3471
      门派:W3CHINA.ORG
      注册:2006/3/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zhu_ruixian发送一个短消息 把zhu_ruixian加入好友 查看zhu_ruixian的个人资料 搜索zhu_ruixian在『 XML在语音技术中的应用 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看zhu_ruixian的博客3
    发贴心情 
    运行后:
    D:\VoiceXML\OpenVXI\bin>VXIclient.exe -config SBclient.cfg -url election.vxml  -calls 1

    Command-line arguments :
    [-v ] [-version] [-url vxmlDocURL] [-channels nbChannels] [-config configFile]
    [-calls maxCalls] [-delay nbSeconds] [-sbinet]
    To show version specifiy either -v or -version
    To run multiple channels, set nbChannels to desired number
    To take unlimited calls, set maxCalls to -1
    To simulate delay between call, set nbSeconds to desired seconds
    -sbinet used by Vocalocity only to indicate sbinet is passed to OSR


    ===========================================================
    vxmlDocURL: election.vxml
    configFile: SBclient.cfg
    nbChannels: 1, maxCalls: 1, nbSeconds: 0
    ===========================================================

    Channel 0: Waiting for Call 1
    May 24 21:05:23.71|2188|0|60001|testClient::ChannelThread|About to call VXIplatformWaitForCall

    =====================VXItelWaitForCall===========================
    May 24 21:05:23.71|2188|0|60001|testClient::ChannelThread|In a Call
    Channel 0: In a Call
    =====================语法文件内容=======================
    <?xml version='1.0'?><grammar xmlns='http://www.w3.org/2001/06/grammar' version='1.0' root='_GRAMROOT_0' tag-format='swi
    -semantics/1.0' xml:lang='en'>
    <meta name="swirec_simple_result_key" content="MEANING"/><rule id='_GRAMROOT_0' scope='public'>
    <one-of>
    <item>1<tag>MEANING="1";</tag></item>
    </one-of></rule></grammar>
    =====================语法文件内容=======================
    =====================语法文件内容=======================
    <?xml version='1.0'?><grammar xmlns='http://www.w3.org/2001/06/grammar' version='1.0' root='_GRAMROOT_1' tag-format='swi
    -semantics/1.0' xml:lang='en'>
    <meta name="swirec_simple_result_key" content="MEANING"/><rule id='_GRAMROOT_1' scope='public'>
    <one-of>
    <item>Ralph_Nader<tag>MEANING="Ralph_Nader";</tag></item>
    </one-of></rule></grammar>
    =====================语法文件内容=======================
    =====================语法文件内容=======================
    <?xml version='1.0'?><grammar xmlns='http://www.w3.org/2001/06/grammar' version='1.0' root='_GRAMROOT_2' tag-format='swi
    -semantics/1.0' xml:lang='en'>
    <meta name="swirec_simple_result_key" content="MEANING"/><rule id='_GRAMROOT_2' scope='public'>
    <one-of>
    <item>2<tag>MEANING="2";</tag></item>
    </one-of></rule></grammar>
    =====================语法文件内容=======================
    =====================语法文件内容=======================
    <?xml version='1.0'?><grammar xmlns='http://www.w3.org/2001/06/grammar' version='1.0' root='_GRAMROOT_3' tag-format='swi
    -semantics/1.0' xml:lang='en'>
    <meta name="swirec_simple_result_key" content="MEANING"/><rule id='_GRAMROOT_3' scope='public'>
    <one-of>
    <item>George_Bush<tag>MEANING="George_Bush";</tag></item>
    </one-of></rule></grammar>
    =====================语法文件内容=======================
    =====================语法文件内容=======================
    <?xml version='1.0'?><grammar xmlns='http://www.w3.org/2001/06/grammar' version='1.0' root='_GRAMROOT_4' tag-format='swi
    -semantics/1.0' xml:lang='en'>
    <meta name="swirec_simple_result_key" content="MEANING"/><rule id='_GRAMROOT_4' scope='public'>
    <one-of>
    <item>3<tag>MEANING="3";</tag></item>
    </one-of></rule></grammar>
    =====================语法文件内容=======================
    =====================语法文件内容=======================
    <?xml version='1.0'?><grammar xmlns='http://www.w3.org/2001/06/grammar' version='1.0' root='_GRAMROOT_5' tag-format='swi
    -semantics/1.0' xml:lang='en'>
    <meta name="swirec_simple_result_key" content="MEANING"/><rule id='_GRAMROOT_5' scope='public'>
    <one-of>
    <item>Al_gore<tag>MEANING="Al_gore";</tag></item>
    </one-of></rule></grammar>
    =====================语法文件内容=======================
    播放TTS: Please cast your vote for Ralph Nader, George Bush Or Al Gore
    请输入: 1
    播放TTS: I think you said Ralph Nader
    comvert error

    D:\VoiceXML\OpenVXI\bin>pause

    中间就是语法文件,我是在VXIrec中将其打印出来的。

    ----------------------------------------------
    为什么总是索取的人多,奉献的人少...

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/5/24 21:08:00
     
     zhu_ruixian 帅哥哟,离线,有人找我吗?射手座1983-12-2
      
      
      威望:2
      等级:大二期末(Java考了96分!)
      文章:406
      积分:3471
      门派:W3CHINA.ORG
      注册:2006/3/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zhu_ruixian发送一个短消息 把zhu_ruixian加入好友 查看zhu_ruixian的个人资料 搜索zhu_ruixian在『 XML在语音技术中的应用 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看zhu_ruixian的博客4
    发贴心情 
    如果是被ASR使用的话,那应该将语法传给ASR(比如说微软的SAPI).  你说的很对。
    打印的函数如下:
    static VXIrecResult VXIrecLoadGrammarFromString(VXIrecInterface *pThis,
                                                    const VXIMap *prop,
                                                    const VXIchar *type,
                                                    const VXIchar *str,
                                                    VXIrecGrammar **gram)
    {
      const wchar_t* fnname = L"VXIrecLoadGrammarFromString";
      VXIrecData* tp = GetRecData(pThis);
      if (tp == NULL) return VXIrec_RESULT_INVALID_ARGUMENT;
      LogBlock logger(tp->GetLog(), gblDiagLogBase, fnname, VXIREC_MODULE);

      // Check the arguments
      if (str == NULL) {
        logger = VXIrec_RESULT_INVALID_ARGUMENT;
        return VXIrec_RESULT_INVALID_ARGUMENT;
      }
      if (type == NULL) {
        logger = VXIrec_RESULT_UNSUPPORTED;
        return VXIrec_RESULT_UNSUPPORTED;
      }
      
      VXIrecGrammar * gp = NULL;
      vxistring srgsGram, mtype(type);
      
      logger.logDiag(DIAG_TAG_GRAMMARS, L"%s%s", L"TYPE: ", mtype.c_str());
      tp->ShowPropertyValue(prop);
      
      if( mtype == L"application/x-jsgf" || mtype == REC_MIME_CHOICE || mtype == REC_MIME_CHOICE_DTMF)
      {
        // first crack the srgs grammar
        JSGFInfo info;
        tp->ConvertJSGFType(str, info);
        // then try to convert to SRGS format
        if( !tp->JSGFToSRGS(info.contentStr, srgsGram, prop) ) return  VXIrec_RESULT_FAILURE;
        mtype = VXI_MIME_SRGS; // reset mime type
        logger.logDiag(DIAG_TAG_GRAMMARS, L"%s%s", L"Converted GRAMMAR: ", srgsGram.c_str());   
     printf("=====================语法文件内容=======================\n");
     for(int i=0;i<srgsGram.length();i++){
      printf("%c",srgsGram[i]);
     }
     printf("\n=====================语法文件内容=======================\n");
      }
      else if( mtype == VXI_MIME_SRGS ) {
        // processing below  
        srgsGram = str;
      }
      else {
        // Handle your own type here, return unsupported for now
        logger = VXIrec_RESULT_UNSUPPORTED;
        return VXIrec_RESULT_UNSUPPORTED;
      }
      
      // Parsing SRGS grammar.
      // NOTES: The parsing is very simple, therefore it may not work
      // for complex grammar.  As you know, this is a simulator!!!
      
      VXIrecGrammar * gramPtr = tp->ParseSRGSGrammar(srgsGram, prop);
      if( gramPtr == NULL ) return VXIrec_RESULT_FAILURE;
      tp->AddGrammar(gramPtr);
      *gram = ToVXIrecGrammar(gramPtr);
      return VXIrec_RESULT_SUCCESS;
    }

    ----------------------------------------------
    为什么总是索取的人多,奉献的人少...

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/5/24 21:10:00
     
     WanMingliang 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(Java考了96分!)
      文章:67
      积分:336
      门派:XML.ORG.CN
      注册:2007/4/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给WanMingliang发送一个短消息 把WanMingliang加入好友 查看WanMingliang的个人资料 搜索WanMingliang在『 XML在语音技术中的应用 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看WanMingliang的博客5
    发贴心情 
    谢谢朱老大!!!如你所说,我应该在你打印语法的位置将语法内容传递给ASR.老大你说对吗?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/5/25 10:47:00
     
     zhu_ruixian 帅哥哟,离线,有人找我吗?射手座1983-12-2
      
      
      威望:2
      等级:大二期末(Java考了96分!)
      文章:406
      积分:3471
      门派:W3CHINA.ORG
      注册:2006/3/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zhu_ruixian发送一个短消息 把zhu_ruixian加入好友 查看zhu_ruixian的个人资料 搜索zhu_ruixian在『 XML在语音技术中的应用 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看zhu_ruixian的博客6
    发贴心情 
    以下是引用WanMingliang在2007-5-25 10:47:00的发言:
    谢谢朱老大!!!如你所说,我应该在你打印语法的位置将语法内容传递给ASR.老大你说对吗?


    感觉不是。因为从函数名VXIrecLoadGrammarFromString上可以得出,这个函数完成语法的加载工作。我只是从这儿截取,并打印出来。不一定说明从这儿传给asr,要是语法是个语法文件,这个函数是不执行的。应该在别处截取语法内容,并传给asr(我的感觉就是调用VXIrecLoadGrammar××××××函数的地方)。

    ----------------------------------------------
    为什么总是索取的人多,奉献的人少...

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/5/25 19:24:00
     
     WanMingliang 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(Java考了96分!)
      文章:67
      积分:336
      门派:XML.ORG.CN
      注册:2007/4/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给WanMingliang发送一个短消息 把WanMingliang加入好友 查看WanMingliang的个人资料 搜索WanMingliang在『 XML在语音技术中的应用 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看WanMingliang的博客7
    发贴心情 
    你有试过加载吗? 另外恭喜你荣任本版版主!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/5/26 19:28:00
     
     zhu_ruixian 帅哥哟,离线,有人找我吗?射手座1983-12-2
      
      
      威望:2
      等级:大二期末(Java考了96分!)
      文章:406
      积分:3471
      门派:W3CHINA.ORG
      注册:2006/3/30

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

    ----------------------------------------------
    为什么总是索取的人多,奉献的人少...

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/5/26 19:47:00
     
     whr528066 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:54
      门派:XML.ORG.CN
      注册:2008/2/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给whr528066发送一个短消息 把whr528066加入好友 查看whr528066的个人资料 搜索whr528066在『 XML在语音技术中的应用 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看whr528066的博客9
    发贴心情 
    r
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/2/19 17:20:00
     
     zhu_ruixian 帅哥哟,离线,有人找我吗?射手座1983-12-2
      
      
      威望:2
      等级:大二期末(Java考了96分!)
      文章:406
      积分:3471
      门派:W3CHINA.ORG
      注册:2006/3/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zhu_ruixian发送一个短消息 把zhu_ruixian加入好友 查看zhu_ruixian的个人资料 搜索zhu_ruixian在『 XML在语音技术中的应用 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看zhu_ruixian的博客10
    发贴心情 
    OpenVXI源代码看的不是很明白,如果有什么见解,欢迎讨论!

    ----------------------------------------------
    为什么总是索取的人多,奉献的人少...

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

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

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