【问题标题】:Why is Google Speech API so much worse than the built-in speech recognition为什么 Google Speech API 比内置语音识别差这么多
【发布时间】:2018-02-14 23:12:45
【问题描述】:

我正在使用 Android 上的 Google Speech API 在我的 Android 应用中启用语音到文本。但是,我注意到与 Google Assistant 或内置的“Hey Google”服务相比,识别度要差得多。

是使用其他 API 还是相同的 API,质量差异如此之大的原因可能是什么。

例如,当我说“Smitten Ice Cream”(加利福尼亚州旧金山的一个地方)时,Google 地图会立即理解该语音,而我的应用在尝试 5 次后仍无法理解。有没有办法向我尝试转录位置的语音 API 添加上下文?

【问题讨论】:

标签: speech-recognition google-speech-api


【解决方案1】:

这个答案是基于一个假设,多年来我使用内置的 Google SpeechRecognizer 作为我的applications

我收到很多很多报告,当用户第一次开始使用我的应用程序时,语音识别远没有他们习惯使用 Google Now/Assistant 准确 - 尽管它看起来是相同的“服务”他们的设备。

假设是,当您将 package name 放在 Intent 详细信息中时:

intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, getPackageName());

Google 将为此软件包启动一个新的“语音模型”,除非已经存在。如文档中所述,如果您省略此内容 - Google 可能会添加此内容。

这实际上是一种明智的做法。如果您的应用程序专注于医学术语,您不希望结果对这些术语产生偏见——任何现有模型都可能如此。

我发现使用一段时间后,准确率大大提高了。

由于长期存在的错误,还有另一个潜在问题 - 如果识别结果仍然存在问题,您需要卸载提供 RecognitionService 的 Google 应用,删除所有文件等并重新安装。对于那些准确性令人费解的人来说,这是一个即时修复。

我的应用程序疑难解答部分出现了与上述非常相似的一段,以帮助用户理解。我没有遇到过识别准确率没有提高的情况。

不是适合您的解决方案,但我希望确认您的经验会有所帮助。

【讨论】:

  • 我是否理解正确 - 在 Android 中使用语音有两种不同的方式? Google Cloud 的 Google Speech API 和内置 SpeechRecognizer?
  • @phoebus 有两种不同的原生方式。 SpeechRecognizerRecognizerIntent.ACTION_RECOGNIZE_SPEECH Intent。 Google 的 Cloud Speech API 是一项外部服务,您可以通过多种方法使用它,例如 RESTful 服务。它不是免费的。还有许多其他提供付费 RESTful API 的语音识别提供商。
  • @brandall do RecognizerIntent.ACTION_RECOGNIZE_SPEECH 在后台也使用谷歌的云语音 API?
猜你喜欢
  • 2016-10-31
  • 1970-01-01
  • 1970-01-01
  • 2015-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-11
相关资源
最近更新 更多