0

我试图将语音识别添加到我的应用程序中。但不幸的是,我找不到添加通用占位符的方法。例如,我想说“我正在寻找 stackoverflow”,然后我使用以下语法:

<grammar root="start" {...}>
  <rule id="start" scope="public">
    I am       
    <one-of>         
      <item> looking for</item>
      <item> listening to</item> 
    </one-of>
  </rule>

<!-- here could be any word -->

</grammar>

我的问题是,如何实现对“stackoverflow”的搜索。如果我使用这个语法,识别器总是会找到“我正在寻找”。很好,但缺少重要的词。如果我没有使用任何语法,那么我会得到类似“我看着四块牛排溢出”的信息。在这里,我得到了重要的词,但不能使用规则来限制“我是”和“寻找”。

我的需要当然是“我正在寻找牛排溢出”。

我怎么能做到这一点?提前致谢!

4

1 回答 1

1

仅仅因为您不能严格定义“任何单词”,就无法识别“任何单词”。“fasdfewqrqew”是否算作您要识别的单词?我确定不是。

我确定您想识别某个单词列表,可能很大。然后你可以在 SRGS 语法中列出所有这些。您可以在此处找到包含常用词的单词列表,然后将列表转换为语法。

如果您想增加列表覆盖率,您还可以在语法中放置音节序列而不是单词列表。您可以从CMUSphinx 项目中的 CMUDict 等语音词典中提取音节列表。这将为您提供更少变体的更多变体,但准备在结果中获得无意义的单词。

于 2013-04-10T18:17:46.237 回答