对于那些不熟悉什么是同音字 https://en.wikipedia.org/wiki/Homophone是的,我提供以下示例:
在使用时语音API https://developer.apple.com/documentation/speech在 iOS 中,我遇到了这样的情况:用户可能会说出这些单词之一,但它并不总是返回我想要的单词。
我调查了[alternativeSubstrings]
(link https://developer.apple.com/documentation/speech/sftranscriptionsegment/1649528-alternativesubstrings)属性想知道这是否有帮助,但在我对上述单词的测试中,它总是返回空。
我也调查了自然语言API https://developer.apple.com/documentation/naturallanguage,但找不到任何看起来有用的东西。
据我所知,当用户添加更多单词时,语音 API 可以开始推断上下文并对其进行纠正,但我的用例不能很好地处理此问题,因为它通常最多只需要一两个单词,从而限制了语境。
上下文处理的一个例子:
单独使用上面的话,我得到以下结果:
但是,如果我把下面这句话放在一起,你就会发现它们都是错误的:
我对我们的梯子来说太高了
理想情况下,我要么得到一个列表,其中包含[are, our], [to, too, two], [hi, high]
对于每个转录片段,或者有一种方法将字符串与支持同音字的函数进行比较。
一个例子是:
if myDetectedWord == "to" then { ... }
Where myDetectedWord
can be [to, too, two]
,并且此函数将为其中每一个返回 true。