自定义语音识别规则

添加自定义规则的方法是将实现了ISpeechRecognitionConstraint接口的语法约束实例添加到SpeechRecogtnizer对象的Constraints集合中,这些类型包括:

  • SpeechRecognitionGrammarFileConstraint: 通过自定义的SGRS(Speech Recognition Grammer Specification)文件来定义语法规则。SGRS文件实质上是一个XML文件,而且需要遵循W3C组织制定的与语音识别相关的语法标准。
  • SpeechRecognitionListConstraint: 设定一系列短语,在接收语音时,用户必须说出短语列表中所指定的任意一个关键词才能正确识别。
  • SpeechRecognitionTopicConstraint: 设置识别模式和主题。识别模式分为"听写模式"和"搜索模式",主题是由开发者所指定的一个字符串,如"人名"、“天气”等。该约束只是为了提高语音识别的精确率而设的,它不直接控制识别过程中的语法规则。
  • SpeechRecognitionVoiceCommandDefinitionConstraint: 该类没有构造函数,不直接使用。该约束只在通过由VCD(Voice Command Definition)文件所定义的语音指令激活应用程序时才会使用,可以访问SpeechRecognitionResult对象的Constraint属性来获取SpeechRecognitionVoiceCommandDefinitionConstraint实例。

另外,还需要注意的是,如果Constraints集合中已添加了一个SpeechRecognitionTopicConstraint约束后,同一集合中只能添加SpeechRecognitionGrammarFileConstraint类型的约束。简而言之,就是SpeechRecognitionTopicConstraint和SpeechRecognitionGrammarFileConstraint可以配合使用。

1. 自定义SGRS文件

本小节将通过一个例子来帮助读者初步掌握如何使用SRGS文件来约束语音识别的结果。当识别系统应用了自定义的SRGS文件后,语音识别过程只遵循SRGS文件中定义的规则,如果用户说出的内容不符合SRGS文件中的规则,那么语音识别系统将无法正确识别,至少识别的准确性会很低。

首先,需要编写一个SRGS文件,该文件实质上是一个XML文件,因此只需要向应用项目中添加一个新的XML文件即可。

默认情况下,新的XML文件添加后会自动用XML文档编辑窗口打开,此时,打开"属性"窗口,单击"架构"右边的省略号按钮,。随后会打开一个窗口,用来选择该XML文档将用到哪些XML架构文件。找到命名空间 http://www.w3.org/2001./06/grammar,然后单击其所在行最左边的单元格,从下拉菜单中选择"使用该架构"。

进行以上操作是为了在编写SRGS文档的时候让Visual Studio给出智能提示,可以提升SRGS文档的准确性和编写效率。

在刚才新建的XML文档中输入以下内容:

<?xml version="1.0" encoding=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值