Speech recognition grxml拼写和语音语法的性能

Speech recognition grxml拼写和语音语法的性能,speech-recognition,grammar,speech,ivr,vxml,Speech Recognition,Grammar,Speech,Ivr,Vxml,下面的语法执行得很糟糕,我想知道语法本身是否有问题,如果有,如何改进 这是与古老的细微差别8.5,所以可能是性能的识别器 使用nl工具(相当于Nuance 9中的parsetool),我可以看到,当我们在GUI工具中使用语音和拼写时,我们得到了两种解释(out),(我们应该只得到一种解释-不确定为什么?语法的语法可能也错了…)但是,即使只是在命令行工具上给出一个解释的咒语,效果也很糟糕 <?xml version="1.0" encoding="UTF-8"?> <

下面的语法执行得很糟糕,我想知道语法本身是否有问题,如果有,如何改进

这是与古老的细微差别8.5,所以可能是性能的识别器

使用nl工具(相当于Nuance 9中的parsetool),我可以看到,当我们在GUI工具中使用语音和拼写时,我们得到了两种解释(out),(我们应该只得到一种解释-不确定为什么?语法的语法可能也错了…)但是,即使只是在命令行工具上给出一个解释的咒语,效果也很糟糕

  <?xml version="1.0" encoding="UTF-8"?>
    <grammar xmlns="http://www.w3.org/2001/06/grammar" xml:lang="en-GB" version="1.0" root="TOPLEVEL" mode="voice">
      <rule id="TOPLEVEL" scope="public">
        <item repeat="0-1">
          <ruleref uri="#Preamble"/>
        </item>
        <one-of>
          <item> start again </item>
          <item repeat="2-15">
            <one-of>
              <item>
                <one-of>
                  <item>double</item>
                  <item>twice</item>
                  <item>two times</item>
                </one-of>
                <ruleref uri="#Spell_Alpha"/>
                <tag>assign(alphanum strcat($alphanum strcat($return  $return ))))</tag>
              </item>
              <item>
                <ruleref uri="#Spell_Alpha"/>
                <tag>assign(alphanum strcat($alphanum $return))</tag>
              </item>
            </one-of>
          </item>
        </one-of>
        <tag><![CDATA[<out $alphanum >]]></tag>
      </rule>
      <rule id="Prepositions" scope="public">
        <item>
          <one-of>
            <item repeat="0-1">for</item>
            <item repeat="0-1">as in</item>
            <item repeat="0-1">as</item>
            <item repeat="0-1">like</item>
          </one-of>
        </item>
      </rule>
      <rule id="Spell_Alpha" scope="public">
        <item>
          <one-of>
            <item weight="1.9">
              <item>
                <ruleref uri="#LETTERS"/>
              </item>
            </item>
            <item weight="0.6"><item repeat="0-1">the

     </item>



                        letter



                            <item repeat="1"><ruleref uri="#LETTERS"/></item>

    </item>
            <item weight="0.6">
              <item>
                <ruleref uri="#LETTERS"/>
              </item>
              <item repeat="1">
                <ruleref uri="#Prepositions"/>
              </item>
              <item>
                <ruleref uri="#PHONETICS_BASIC"/>
              </item>
            </item>
            <item>
              <item weight="2.0">
                <ruleref uri="#PHONETICS_BASIC"/>
              </item>
            </item>
          </one-of>
        </item>
        <tag> return($return)</tag>
      </rule>
      <rule id="LETTERS" scope="public">
        <item>
          <one-of>
            <item weight="1.584"> ay <tag> return("a") </tag></item>
            <item weight="1.584"> eh <tag> return("a") </tag></item>
            <item weight="1.584"> a <tag> return("a") </tag></item>
            <item weight="1.584"> be<tag> return("b") </tag></item>
            <item weight="1.166"> bee <tag> return("b") </tag></item>
            <item weight="1.222"> sea <tag> return("c") </tag></item>
            <item weight="1.222"> see  <tag> return("c") </tag></item>
            <item weight="1.229">dee<tag> return("d") </tag></item>
            <item weight="1.639">ee<tag> return("e") </tag></item>
            <item weight="1.072">eff<tag> return("f") </tag></item>
            <item weight="1.072"> ef<tag> return("f") </tag></item>
            <item weight="1.072">f<tag> return("f") </tag></item>
            <item weight="1.160"> gee <tag> return("g") </tag></item>
            <item weight="1.160">g <tag> return("g") </tag></item>
            <item weight="1.274">  h <tag> return("h") </tag></item>
            <item weight="1.274"> aych <tag> return("h") </tag></item>
            <item weight="1.274"> haych <tag> return("h") </tag></item>
            <item weight="1.384"> eye <tag> return("i") </tag></item>
            <item weight="1.040"> jay <tag> return("j") </tag></item>
            <item weight="1.146">  kay <tag> return("k") </tag></item>
            <item weight="1.146">  cay <tag> return("k") </tag></item>
            <item weight="1.459"> elle <tag> return("l") </tag></item>
            <item weight="1.459"> ell <tag> return("l") </tag></item>
            <item weight="1.459"> el <tag> return("l") </tag></item>
            <item weight="1.230">  m <tag> return("m") </tag></item>
            <item weight="1.230">  em <tag> return("m") </tag> </item>
            <item weight="1.510"> in <tag> return("n") </tag></item>
            <item weight="1.510"> en <tag> return("n") </tag></item>
            <item weight="1.510">n <tag> return("n") </tag></item>
            <item weight="1.510"> inn <tag> return("n") </tag></item>
            <item weight="1.489"> oh <tag> return("o") </tag></item>
            <item weight="1.489"> owe <tag> return("o") </tag></item>
            <item weight="1.107">  pea <tag> return("p") </tag></item>
            <item weight="1.107">  pee <tag> return("p") </tag></item>
            <item weight="1.004"> queue <tag> return("q") </tag></item>
            <item weight="1.004">  cue <tag> return("q") </tag></item>
            <item weight="1.534">  are <tag> return("r") </tag></item>
            <item weight="1.424">   s <tag> return("s") </tag></item>
            <item weight="1.331">   tea <tag> return("t") </tag></item>
            <item weight="1.331">  tee <tag> return("t") </tag></item>
            <item weight="1.139"> you <tag> return("u") </tag></item>
            <item weight="1.054"> vee <tag> return("v") </tag></item>
            <item weight="1.054"> v <tag> return("v") </tag></item>
            <item weight="1.166"> double you <tag> return("w") </tag></item>
            <item weight="1.166"> doubleyou<tag> return("w") </tag></item>
            <item weight="1.166"> w<tag> return("w") </tag></item>
            <item weight="1.010"> x <tag> return("x") </tag></item>
            <item weight="1.010"> ex <tag> return("x") </tag></item>
            <item weight="1.010"> ehks <tag> return("x") </tag></item>
            <item weight="1.147">  why <tag> return("y") </tag></item>
            <item weight="1.025">  z <tag> return("z") </tag></item>
            <item weight="1.025"> zee <tag> return("z") </tag></item>
            <item weight="1.025"> zed <tag> return("z") </tag></item>
          </one-of>
        </item>
      </rule>
      <rule id="PHONETICS_BASIC" scope="public">
        <item>
          <one-of>
            <item> alpha <tag> return("a") </tag></item>
            <item> alfa <tag> return("a") </tag></item>
            <item>alice<tag> return("a") </tag></item>
            <item> bravo <tag> return("b") </tag></item>
            <item> charlie <tag> return("c") </tag></item>
            <item> delta <tag> return("d") </tag></item>
            <item> echo <tag> return("e") </tag></item>
            <item> foxtrot <tag> return("f") </tag></item>
            <item> freddie <tag> return("f") </tag></item>
            <item> freddy <tag> return("f") </tag></item>
            <item> golf <tag> return("g") </tag></item>
            <item> hotel <tag> return("h") </tag></item>
            <item> indigo <tag> return("i") </tag></item>
            <item> india <tag> return("i") </tag></item>
            <item> juliet <tag> return("j") </tag></item>
            <item> john <tag> return("j") </tag></item>
            <item> kilo <tag> return("j") </tag></item>
            <item>lima <tag> return("l") </tag></item>
            <item> mike <tag> return("m") </tag></item>
            <item> mother <tag> return("m") </tag></item>
            <item> november <tag> return("n") </tag></item>
            <item> oscar <tag> return("o") </tag></item>
            <item>  oliver <tag> return("o") </tag></item>
            <item> papa <tag> return("p") </tag></item>
            <item> pappa <tag> return("p") </tag></item>
            <item> quebec <tag> return("q") </tag></item>
            <item> queen <tag> return("q") </tag></item>
            <item> romeo <tag> return("r") </tag></item>
            <item> roger <tag> return("r") </tag></item>
            <item> robert <tag> return("r") </tag></item>
            <item> sierra <tag> return("s") </tag></item>
            <item>sugar <tag> return("s") </tag></item>
            <item> tango <tag> return("t") </tag></item>
            <item>  uniform <tag> return("u") </tag></item>
            <item> victor <tag> return("v") </tag></item>
            <item> whiskey <tag> return("w") </tag></item>
            <item> william <tag> return("w") </tag></item>
            <item> ex ray <tag> return("x") </tag></item>
            <item> yankee <tag> return("y") </tag></item>
            <item> yellow <tag> return("y") </tag></item>
            <item> zulu <tag> return("z") </tag></item>
            <item> zero <tag> return("z") </tag></item>
            <item> zebra <tag> return("z") </tag></item>
          </one-of>
        </item>
      </rule>
      <rule id="Preamble">
        <one-of>
          <item weight="0.2">right</item>
          <item weight="0.2">alright my surname's mrs</item>
        </one-of>
      </rule>
    </grammar>

重新开始
双重的
两次
两次
分配(alphanum strcat($alphanum strcat($return$return)))
分配(alphanum strcat($alphanum$return))
]]>
对于
如
作为
喜欢
这个
信
退货($return)
回执(“a”)
裕利安怡回报(“a”)
报税表(“a”)
被退回(“b”)
蜜蜂回归(“b”)
海归
见申报表(“c”)
dee申报表(“d”)
ee返回(“e”)
有效回报(“f”)
外汇基金回报(“f”)
f回报(“f”)
gee回报(“g”)
g回报(“g”)
h回报(“h”)
艾奇回报(“h”)
海奇回归(“h”)
回眸
jay return(“j”)
kay返回(“k”)
珊瑚礁回归(“k”)
elle返回(“l”)
返回(“l”)
el返回(“l”)
m返回(“m”)
新兴市场回报(“m”)
作为回报(“n”)
返回(“n”)
n返回(“n”)
返回酒店(“n”)
哦,返回(“o”)
欠税申报表(“o”)
豌豆回报(“p”)
小便返回(“p”)
队列返回(“q”)
提示返回(“q”)
是返回(“r”)
s回报(“s”)
退茶(t)
三通返回(“t”)
你返回(“u”)
v形返回(“v”)
v回报(“v”)
双倍返回(“w”)
双倍返回(“w”)
w返回(“w”)
x回报(“x”)
退换货(“x”)
ehks返回(“x”)
为什么返回(“y”)
z返回(“z”)
zee返回(“z”)
零回报(“z”)
阿尔法回报(“a”)
阿尔法回报(“a”)
爱丽丝返回(“a”)
精彩回归(“b”)
查理返回(“c”)
增量收益(“d”)
回波返回(“e”)
狐步返回(“f”)
房地美报税表(“f”)
弗雷迪返回(“f”)
高尔夫回报(“g”)
返回酒店(“h”)
靛蓝返回(“i”)
印度回归(“i”)
朱丽叶回归(“j”)
john return(“j”)
公斤退货(“j”)
利马回报(“l”)
mike return(“m”)
母亲返回(“m”)
十一月报税表(“n”)
奥斯卡回归(“o”)
奥利弗回归(“o”)
爸爸返回(“p”)
pappa返回(“p”)
魁北克返回(“q”)
女王返回(“q”)
罗密欧回归(“r”)
罗杰返回(“r”)
罗伯特·雷恩(“r”)
塞拉返回(“s”)
返糖
探戈返回(“t”)
统一回报(“u”)
维克多返回(“v”)
威士忌回归(“w”)
威廉·雷恩(“w”)
x射线返回(“x”)
扬基回归(“y”)
黄色返回(“y”)
祖鲁返回(“z”)
零回报(“z”)
斑马返回(“z”)
正确的
好的,我姓李太太

您要求识别引擎执行一些它做得不太好的任务。高度可变长度的短词列表(本例中为字母)。根据我的经验,Nuance引擎在这方面做得不是很好。我不确定今天可用的哪种发动机(如果有的话)会更好,但我还没有做足够的试验。一些新的、独立于说话人的听写引擎可能有更好的机会

一些可能有帮助的事情:

  • 如果文本背后有某种逻辑模式或逻辑(如单词、名称),并且您有足够的样本,那么统计语言模型(SLM)可能会更好。鉴于您可能支持一个名称,这是我以前使用过的方法。准确率仍然明显低于正常语法,但它给了你一个战斗的机会(我建立了一个名字和姓氏捕获…一个是静态拼写语法和说出名字,另一个是SLM,只是拼写单词)