0

我正在尝试将语义和听写请求的结果结合到 SRGS 文档的语义值中。例如,我会说“搜索土豆”,输出类似于 out="Search Potato",其中 Potato 是用户说出的随机单词。我坚持使用垃圾特殊规则,但它似乎不起作用。到目前为止,这就是我所拥有的:

<rule id="rule1" scope="public">
<one-of>
  <item xml:lang="en-us">Search</item>
  <item>Cherche</item>
</one-of>
<tag>out.command="Search"</tag>
<tag>out.param1=<ruleref special="GARBAGE"/></tag>
<tag>out=out.command+out.param1;</tag>

我还看到了那个帖子:Free-form text with custom SRGS based Grammer,其中有人提出了 DICTATION 标签。但问题是它似乎与 SRGS 不兼容。

如果有帮助,我使用 tag-format="semantics/1.0"

4

2 回答 2

4

这个我也找了高低,终于找到了答案。我使用了以下代码并将其加载到 System.Speech.Recognition.Grammar 中,并且效果很好。

<ruleref uri="grammar:dictation" type="application/srgs+xml"/>

只需将此 ruleref 作为项目添加到您想要获取口述文本的任何位置。您可以在 ruleref 之后直接使用 this 将口述文本提取到语义/标签中:

<tag>out.SpokenText=rules.latest();</tag>
于 2013-12-19T21:23:26.867 回答
1

如果您查看 W3C 论文“ Extending SRGS to Support More Powerful and Expressive Grammars ”,您会发现该标准组只看到了您提到的场景的需求(参见示例 1.a),但目前在SRGS 标准。您的问题是如何使用 SRGS 执行此操作,但可能有一些方法可以在 SRGS 之外实现相同的结果,具体取决于所使用的 ASR 平台。

于 2012-06-13T14:02:16.770 回答