通过语音自适应改善转录结果

概览

您可以使用语音自适应功能,帮助 Speech-to-Text 更频繁地识别特定字词或短语,而不是其他建议的选项。例如,假设您的音频数据中出现“weather”一词的频率较高。当“Speech-to-Text”遇到“weather”一词时,您希望将该字词转录为“weather”,而不是“whether”。在这种情况下,您可以使用语音自适应功能,使 Speech-to-Text 更偏向于识别“weather”。

语音自适应功能对以下用例特别有帮助:

  • 提高识别音频数据中经常出现的字词和短语的准确率。例如,您可以提醒识别模型使用用户经常说出的语音指令。

  • 扩展 Speech-to-Text 的识别字词库。 Speech-to-Text 包含一个非常庞大的词汇表。但是,如果您的音频数据经常包含常规用语中很少使用的字词(例如专有名词或特定领域的字词),则可以使用语音自适应功能添加这些字词。

  • 提供的音频含有噪音或不太清晰时,提高语音转录的准确率。

(可选)您可以使用增强型语音自适应功能(Beta 版)微调识别模型的偏差。

改善对指定字词的识别

为提高 Speech-to-Text 在转录您的音频数据时识别出“weather”一词的概率,请在 SpeechContext 对象的 phrases 字段中传递“weather”。在发送到 Speech-to-Text API 的请求中将 SpeechContext 对象分配到 RecognitionConfig 对象的 speechContexts 字段。

下面的代码段显示了发送到 Speech-to-Text API 的 JSON 载荷的一部分。该 JSON 代码段提供语音自适应字词“weather”。

"config": {
    "encoding":"LINEAR16",
    "sampleRateHertz": 8000,
    "languageCode":"en-US",
    "speechContexts": [{
      "phrases": ["weather"]
    }]
}

改善多字词短语的识别效果

提供多字词短语时,Speech-to-Text 更有可能按顺序识别这些字词。提供短语还会提升识别短语中各部分(包括单个字词)的概率。请参阅内容限制页面,了解这些短语的数量和大小限制。

下面的代码段显示了发送到 Speech-to-Text API 的 JSON 载荷的一部分。该 JSON 代码段包含分配给 SpeechContext 对象中的 phrases 字段的一组多字词短语。

"config": {
    "encoding":"LINEAR16",
    "sampleRateHertz": 8000,
    "languageCode":"en-US",
    "speechContexts": [{
      "phrases": ["weather is hot", "weather is cold"]
    }]
}

使用类改善识别效果

代表自然语言中的常见概念,例如货币单位和日历日期。类让您可以提高大量字词组的转录准确率,这些字词组映射到常见概念,但不总是包含相同字词或词组。

例如,假设您的音频数据包含讲话人说出其街道地址的录音。您的某个录音可能是讲话人说“My house is 123 Main Street, the fourth house on the left”。在这种情况下,您希望 Speech-to-Text 将第一个数字序列(“123”)识别为地址而不是序号(“一百二十三”)。不过,并非所有人都住在“123 Main Street”。在一个 SpeechContext 对象中列出所有可能的街道地址是不切实际的。相反,您可以使用类来指示应该识别门牌号,无论这串数字实际是什么。在此示例中,Speech-to-Text 可以更准确地转录“123 Main Street”和“987 Grand Boulevard”等短语,因为它们都被识别为地址门牌号。

类令牌

如需在语音自适应中使用类,请在 SpeechContext 对象的 phrases 字段中添加类令牌。请参阅支持的类令牌列表,了解您的语言支持哪些类令牌。例如,如需改善源音频中地址门牌号的转录结果,请为 SpeechContext 对象提供值 $ADDRESSNUM

您可以将类用作 phrases 数组中的独立项,也可以将一个或多个类令牌嵌入到较长的多字词短语中。例如,您可以在较长的短语中以字符串的形式添加类令牌 ["my address is $ADDRESSNUM"],以指明地址门牌号。但是,如果音频中包含类似但不相同的短语,例如“I am at 123 Main Street”,则此短语无效。为帮助识别相似的短语,您可以额外添加同一个类令牌,如 ["my address is $ADDRESSNUM", "$ADDRESSNUM"]。如果您使用无效或格式错误的类令牌,Speech-to-Text 会忽略该令牌而不触发错误,但仍会使用短语的其余部分作为上下文。

以下代码段显示了发送至 Speech-to-Text API 的 JSON 载荷示例。该 JSON 代码段包含使用类令牌的 SpeechContext 对象。

  "config": {
    "encoding":"LINEAR16",
    "sampleRateHertz": 8000,
    "languageCode":"en-US",
    "speechContexts": [{
      "phrases": ["$ADDRESSNUM"]
     }]
  }

后续步骤