您能举例说明在Google云语音API中使用单词提示吗?我尝试为brook.flac使用Rest API执行器。我输入短语布鲁克林(而不是布鲁克林),但结果是一样的。他们有效吗?
答案 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"
}
}
通常,在提供语音上下文提示时要保留。通过将短语限制为仅预期要说出的短语,可以实现更好的识别准确性。例如,如果存在多个对话框状态或设备操作模式,则仅提供与当前状态对应的提示,而不是始终为所有可能状态提供提示。