7

我正在使用 ios 语音识别,只要有足够的上下文,它就会做得很好。我仅将语音识别用于数字输入并且遇到了问题。例如,使用单个数字(如 2 - to, too 或 8 - ate);没有足够的上下文。甚至有一些两位数的数字(80 有时被翻译为白痴)。我想向语音识别器表明输入将是数字。例如,如果输入是“数字 2”,那么语音识别器的工作就非常出色。

我玩过一些提示——SFSpeechRecognitionTaskHint(未指定、听写、搜索、确认)——但这些模式都不太适合数字输入。

所以,问题是:

  • 有没有办法向 SFSpeechRecognizer 提示音频将是数字的?或者
  • 是否有另一种可能更适合我的需求的语音识别器技术?

另请注意,我希望它也可以使用多种不同的语言(不仅仅是英语)。

谢谢你的帮助,埃里克

4

1 回答 1

2

Speech 框架中目前没有任何内容允许您仅为数字自定义它。如果您说在文本前加上“数字”单词效果更好 - 您可以尝试录制带有“数字”声音的语音文件,并将该文件即时附加到用户所说的任何内容,这样您就可以得到正确的识别。并在识别完成后从您从语音框架收到​​的文本中剪切单词“数字”。这听起来很老套,但我不确定还有其他解决方案。

更新

另一种选择是等待并分析您将在SFSpeechTranscriptionResult.transcriptions[] https://developer.apple.com/documentation/speech/sfspeechrecognitionresult/1648282-transcriptions中收到的多个变体

等到这个数组包含可以被解释为数字并且不接受第一个可用的东西。

于 2017-08-28T17:24:44.620 回答