Speech recognition Microsoft语音识别-仅限数字

Speech recognition Microsoft语音识别-仅限数字,speech-recognition,grammar,Speech Recognition,Grammar,在听写模式或构建自定义语法XML文件时,是否有办法将语法限制为数字?显然,我无法将所有数字输入XML,但必须有一种简单的方法。我知道您很久以前就提出了这个问题,但我有一个解决方案,以防您仍然需要它。这是我找到的文件。这要求用户只说一位数,例如一五七(而不是一五七,这将不起作用)。您可以根据自己的需要使用此功能: <?xml version="1.0" encoding="utf-8" ?> <grammar version="1.0" xml:lang="en-US" root

在听写模式或构建自定义语法XML文件时,是否有办法将语法限制为数字?显然,我无法将所有数字输入XML,但必须有一种简单的方法。

我知道您很久以前就提出了这个问题,但我有一个解决方案,以防您仍然需要它。这是我找到的文件。这要求用户只说一位数,例如一五七(而不是一五七,这将不起作用)。您可以根据自己的需要使用此功能:

<?xml version="1.0" encoding="utf-8" ?>
<grammar version="1.0" xml:lang="en-US" root="rootRule" xmlns="http://www.w3.org/2001/06/grammar">
  <rule id="rootRule">
    <item repeat="1-">
      <ruleref uri="#digit"></ruleref>
    </item>
  </rule>
  <rule id="digit">
    <one-of>
      <item>0</item>
      <item>1</item>
      <item>2</item>
      <item>3</item>
      <item>4</item>
      <item>5</item>
      <item>6</item>
      <item>7</item>
      <item>8</item>
      <item>9</item>
    </one-of>
  </rule>
</grammar>

0
1.
2.
3.
4.
5.
6.
7.
8.
9

为什么不将0~9添加到XML文件中,每次只识别一个数字?因此,如果用户说91,那该怎么办?只需制定一条规则,让用户说
91
,而不是
91
。否则,您应该将
10、20、…、90、
添加到语法XML文件中。这可能会影响您的识别率,因为语法数量增加太多。谢谢!坦率地说,我认为会有一个更简单的解决方案…而且,如果数字是二十万零一点35…我知道我可以将其构建到XML中,但这不是一个真正的“简单方法”…我希望在XML文件中使用语义或类似myGrammar.DictionLoad“numbersonly”之类的方法,SLOStatic,其中数字只是默认字典的某个子集。。。