gpt4 book ai didi

ios - 如何处理语音识别中的同音字?

转载 作者:搜寻专家 更新时间:2023-10-31 19:31:55 24 4
gpt4 key购买 nike

对于那些不熟悉什么是homophone的人是的,我提供以下示例:

  • 我们是
  • 嗨&高
  • 到&太&二

同时使用 Speech API包含在 iOS 中,我遇到这样的情况:用户可能会说出这些词之一,但它并不总是返回我想要的词。

我查看了 [alternativeSubstrings] ( link ) 属性,想知道这是否有帮助,但在我对上述词的测试中,它总是返回空的。

我还查看了 Natural Language API , 但在那里找不到任何看起来有用的东西。

我知道当用户添加更多单词时,Speech API 可以开始推断上下文并纠正这些单词,但我的用例不会很好地处理这个,因为它通常最多只需要一两个单词,限制上下文的有效性。

上下文处理示例:

单独使用上面的词,我得到了这些结果:

但是,如果我把下面这句话放在一起,你会发现它们都是错误的:

I am too high for our ladder

理想情况下,我会得到一个包含每个转录片段的 [are, our], [to, too, two], [hi, high] 的列表,或者有办法将字符串与支持同音异义词的函数进行比较。

这方面的一个例子是:

if myDetectedWord == "to" then { ... }

其中 myDetectedWord 可以是 [to, too, two],并且此函数将为其中的每一个返回 true。

最佳答案

这是一个常见的 NLP 难题,我不太确定您在此应用程序中想要的输出是什么。但是,如果可能的话,您可能希望在您的设计/架构过程中绕过这个问题。否则,这个问题就是变成一个挑战。


话虽这么说,如果你想真正投入其中,我喜欢你的这个想法:

string against a function

这可能更高效且性能更友好。

一种方法,我想通过 RegEx 处理来解决这个问题,而不是使用无休止的循环和数组。您可以先制作循环和数组的原型(prototype),看看它是如何工作的,然后您可能想使用正则表达式来提高性能。

例如,您可以在正则表达式中定义固定数组并快速检查您的字符串(逐字逐句,可能使用反向引用)并且您可以在 expressions 中添加许多边界用于字符串处理,如您所愿。

enter image description here

您的固定数组也可以根据特定单词在字符串的特定部分出现的概率来设计。例如,

^I 

对比

^eye
  • I 是第一个词的概率远高于 eye
  • I 在字符串的任何部分出现的概率也高于 eye 的概率。

您可能希望基于此对单词进行加权。

I'd say the key would be that you'd narrow down your desired outputs as focused as possible and increase accuracy, [maybe even with 100 words if possible], if you wish to have a good/working application.

虽然是个好项目,但我希望你喜欢/享受挑战。

关于ios - 如何处理语音识别中的同音字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56092593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com