【问题标题】:Get a phrase from speech recognizer similar to result returned by Google Now从语音识别器中获取与 Google Now 返回的结果相似的短语
【发布时间】:2015-06-26 02:36:07
【问题描述】:

我目前正在构建我的应用程序的一项功能,该功能应允许用户说出一个短语,然后将其与另一个用户所说的短语进行比较以确定它们是否相等。我从语音识别器意图中得到结果,如下所示。

protected void onActivityResult(int requestCode, int resultCode, Intent data) 
 {
    if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {

        ArrayList<String> matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);

当我尝试说“测试 123”时,我得到了一个填充了“测试 123,测试一二三,Piscon 123”的数组

有没有办法只能从结果中提取最准确的短语,例如“Testing 123”?当我使用 Google Now 进行搜索时,只会返回我所说内容的最准确表示,所以我想知道是否可以实现此功能。

我尝试了“你能跳多高”,得到了这个结果。有没有办法在一定程度上确定下一句的开头,以便我可以提取最积极的结果?

【问题讨论】:

    标签: android speech-recognition speech-to-text


    【解决方案1】:

    如果您想获得最准确的信息,您还需要获取EXTRA_CONFIDENCE_SCORES。你会想要找到最高的置信度分数和对应的字符串值。来自documentation

    公共静态最终字符串EXTRA_RESULTS

    在 API 级别 3 中添加 执行 ACTION_RECOGNIZE_SPEECH 时识别结果的 ArrayList。通常,此列表应按语音识别器置信度的降序排列。 (见EXTRA_CONFIDENCE_SCORES)。在结果中返回;不在认可请求中指定。仅在活动结果中返回 RESULT_OK 时出现。在 PendingIntent 中,缺少这个 extra 表示失败。

    以及置信度分数:

    公共静态最终字符串EXTRA_CONFIDENCE_SCORES

    在 API 级别 14 中添加 执行 ACTION_RECOGNIZE_SPEECH 时识别结果的置信度分数的浮点数组。该数组应与 EXTRA_RESULTS 中返回的 ArrayList 大小相同,并且应包含 0.0 到 1.0 之间的值,或 -1 表示不可用的置信度分数。

    接近 1.0 的置信度值表示高置信度(语音识别器确信识别结果是正确的),而接近 0.0 的值表示低置信度。

    在结果中返回;不在认可请求中指定。这个额外是可选的,可能不会提供。仅在活动结果中返回 RESULT_OK 时出现。

    【讨论】:

      猜你喜欢
      • 2016-04-14
      • 2023-03-24
      • 2011-12-19
      • 1970-01-01
      • 2015-02-20
      • 1970-01-01
      • 2015-07-17
      • 1970-01-01
      • 2015-12-28
      相关资源
      最近更新 更多