在线和离线语音到文本转换之间的区别

Difference between online and offline Speech to text conversion

我正在开发语音转文本 android 应用程序。 Google API 可用于在线和离线语音到文本的转换。

我已经在 Google API 上(在线和离线 API)完成了语音到文本的测试。据观察,与离线相比,在线语音转文本的准确度更高。现在我的问题是

  1. 在线模式和离线模式有什么区别?
  2. 为什么离线模式会降低其准确性?有没有更准确的解决方案?
  3. 当我们收到任何 phone 呼叫数据连接丢失。有什么解决方案可以同时实现这两个目标吗?

What is the difference between online mode and offline mode? Why offline mode decreases its accuracy? Is there any solution with better accuracy?

离线模式基于文件大小约为 . 20.3MB;由于不需要互联网连接,因此不需要数据 sent/received。无论如何,该模型进行语音转文本的速度比在线版本快 6.5-7 倍。这里要提到的关键是,该模型的单词错误率为 13.5%,虽然不是很高,但鉴于它可以访问的数据和算法有限,已经相当高了。

在线系统显然可以访问更多的训练数据,并通过更多算法进行解析。我觉得线下版本不能算是替代,而是在没有线上版本的情况下作为替代。我读过一些文章,其中用户声称 'English US' 比 'English UK' 效果更好,我不完全知道其中的原因。

3G不能同时提供语音和数据。 WiFi/4G没有这个问题。还有多个其他已知问题,例如来自服务提供商、LTE/non-LTE、CDMA 等的限制。如果您有这样的限制,一种方法可能是合并一些设计更改,使您能够缓存数据,然后访问在线引擎, 通话结束后。

以我有限的经验,对于离线功能,CMUSphinx 似乎是更好的选择(因为 Google 每天只能调用 50 次(?))。列出了一些其他可用的 API here

启用离线语音转文本的研究论文在此处链接 [link]。