Google Cloud Speech API字词提示

时间:2017-03-24 21:41:53

标签: api speech hints

您能举例说明在Google云语音API中使用单词提示吗?我尝试为brook.flac使用Rest API执行器。我输入短语布鲁克林(而不是布鲁克林),但结果是一样的。他们有效吗?

1 个答案:

答案 0 :(得分:6)

来自https://cloud.google.com/speech/docs/basics#phrase-hints

对于任何给定的识别任务,您还可以传递一个speechContext(SpeechContext类型),它提供信息以帮助处理给定的音频。目前,上下文可以包含一个短语列表,作为识别器的“提示”;这些短语可以提高识别这些词或短语的概率。

您可以通过以下几种方式使用这些短语提示:

提高音频数据中可能过多的特定单词和短语的准确性。例如,如果用户通常使用特定命令,则可以将这些命令提供为短语提示。如果所提供的音频包含噪声或所包含的语音不是很清楚,则这些附加短语可能特别有用。 在识别任务的词汇表中添加其他单词。 Cloud Speech API包含非常大的词汇表。但是,如果专有名称或特定领域的单词不在词汇表中,您可以将它们添加到提供给请求的speechContext的短语中。 短语可以作为一小组单词或单个单词提供。 (有关这些短语的数量和大小的限制,请参阅内容限制。)当作为多词短语提供时,提示提高了按顺序识别这些词的概率,但在较小程度上提高了识别部分词的概率。短语,包括单词。

例如,这个shwazil_hoful.flac文件包含一些组成的单词。如果在没有提供这些词汇外单词的情况下进行识别,识别器将不会返回所需的成绩单,而是返回词汇表中的单词,例如:“这是一整天的吞咽”。

{
  "config": {
    "encoding":"FLAC",
    "sampleRateHertz": 16000,
    "languageCode":"en-US"
  },
  "audio":{
    "uri":"gs://speech-demo/shwazil_hoful.flac"
  }
}

然而,当这些词汇表外的单词被提供识别请求时,识别器将返回所需的成绩单:“这是一个shwazil hoful日”。

{
  "config": {
    "encoding":"FLAC",
    "sampleRateHertz": 16000,
    "languageCode":"en-US",
    "speechContexts": {
      "phrases":["hoful","shwazil"]
     }
  },
  "audio":{
    "uri":"gs://speech-demo/shwazil_hoful.flac"
  }
}

或者,如果某些单词通常在短语中一起表示,则可以将它们组合在一起,这可以进一步增加它们被识别的可信度。

{
  "config": {
    "encoding":"FLAC",
    "sampleRateHertz": 16000,
    "languageCode":"en-US",
    "speechContexts": {
      "phrases":["shwazil hoful day"]
     }
  },
  "audio":{
    "uri":"gs://speech-demo/shwazil_hoful.flac"
  }
}

通常,在提供语音上下文提示时要保留。通过将短语限制为仅预期要说出的短语,可以实现更好的识别准确性。例如,如果存在多个对话框状态或设备操作模式,则仅提供与当前状态对应的提示,而不是始终为所有可能状态提供提示。