如何改进 ios 中数字输入的语音识别?

How to improve speech recognition in ios for numeric input?

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

我试过一些提示 - SFSpeechRecognitionTaskHint(未指定、听写、搜索、确认) - 但这些模式中的 none 非常适合数字输入。

所以,问题是:

另请注意,我希望它也适用于许多不同的语言(不仅仅是英语)。

感谢您的帮助, 埃里克

Speech 框架中目前没有任何内容可让您仅针对数字对其进行自定义。如果你说在文本前面加上 "number" 字效果更好——你可以尝试用 "number" 声音录制一个语音文件,然后将该文件即时附加到用户所说的任何内容上,这样你就得到了正确的认出。并在识别完成后从您从语音框架收到​​的文本中剪切单词 "number"。这听起来很老套,但我不确定是否还有其他解决方案。

更新

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

等到此数组包含可以解释为数字的内容并且不接受第一个可用的内容。