我正在制作一个允许人们说话并在几个选项(字符串)之间进行选择的应用程序。我在使 Android 语音识别器符合我的想法时遇到了一点问题。
有没有办法将“有效”的参数传递给 SpeechRecognizer 并让它在“最佳”匹配之间进行选择?
我不需要代码,我只需要一些指导,因为我的 google-fu 今天似乎让我失望了。
我正在制作一个允许人们说话并在几个选项(字符串)之间进行选择的应用程序。我在使 Android 语音识别器符合我的想法时遇到了一点问题。
有没有办法将“有效”的参数传递给 SpeechRecognizer 并让它在“最佳”匹配之间进行选择?
我不需要代码,我只需要一些指导,因为我的 google-fu 今天似乎让我失望了。
我们对此问题的解决方案在http://kaljurand.github.io/Grammars/进行了描述,例如查看此页面链接的论文:
Kaarel Kaljurand,Tanel Alumäe。基于语音识别的用户界面中的受控自然语言 (CNL 2012)
基本思想是:
在您的情况下,所有这些都可能是矫枉过正。谷歌结果的后处理(正如@gregm 建议的那样)当然更容易实现。但是,如果您想扩展到更复杂和/或多语言的语言模型,那么我们的方法肯定会提供所需的模块化和表达能力。
不,没有这样的参数,谷歌语音识别不够灵活。您可以使用外部语音识别工具包,如CMUSphinx