我正在研究各种语音识别策略,我喜欢Web Speech 规范中定义的语法概念。似乎如果您可以告诉语音识别服务您期望“是”或“否”,该服务可以更可靠地将“是”识别为“是”,将“否”识别为“否”,并且希望也能够说“这听起来不像那些!”。
但是,在 中SFSpeechRecognitionRequest
,我只看到taskHint
来自SFSpeechRecognitionTaskHint
、confirmation
、dictation
和search
的值unspecified
。
我也看到SFSpeechRecognitionRequest.contextualStrings
了,但它似乎是为了不同的目的。即,我想我应该把品牌/商标类型的东西放在那里。输入“是”和“否”不会使这些词更有可能被选中,因为它们已经存在于系统字典中(这是我根据文档中的少量内容做出的假设)。
API 是否有一种方法可以做更像语法的事情,或者更简单地说,只是提供预期短语的列表,以便语音识别更有可能得出我期望的结果,而不是听起来相似的胡言乱语/同音词?是否contextualStrings
会增加系统选择其中一个字符串而不只是扩展系统字典的可能性?或者,也许我采用了错误的方法,应该自己强制执行语法并枚举,SFSpeechRecognitionResult.transcriptions
直到找到与预期单词匹配的语法?
不幸的是,我自己无法测试这些 API。我只是在研究编写原生 iOS 应用程序的可行性,并没有必要的开发环境。